informatica:programacion:cursos:control_version_git_avanzado:pull_requests
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| informatica:programacion:cursos:control_version_git_avanzado:pull_requests [2023/06/16 16:18] – [Creación de PR y discusión del código] tempwin | informatica:programacion:cursos:control_version_git_avanzado:pull_requests [2023/06/16 16:56] (actual) – [Conclusión] tempwin | ||
|---|---|---|---|
| Línea 33: | Línea 33: | ||
| ===== Pull Requests: caso práctico ===== | ===== Pull Requests: caso práctico ===== | ||
| + | Creamos un repositorio remoto. | ||
| + | |||
| + | Si somos nosotros los encargados de los //pull request//, vamos a nuestro repositorio local, iniciamos un repositorio git y añadimos el repositorio remoto: | ||
| + | |||
| + | < | ||
| + | git init | ||
| + | git remote add origin < | ||
| + | </ | ||
| + | |||
| + | Creamos una rama y la subimos: | ||
| + | |||
| + | < | ||
| + | git checkout master | ||
| + | git push -u origin master | ||
| + | </ | ||
| + | |||
| + | Ahora creamos y vamos a la rama // | ||
| + | |||
| + | < | ||
| + | git checkout develop | ||
| + | </ | ||
| + | |||
| + | La subimos y pedimos que la // | ||
| + | |||
| + | < | ||
| + | git push -u origin develop | ||
| + | </ | ||
| + | |||
| + | Ahora que en el repositorio remoto hay ramas, hay que irse a las opciones y buscar los permisos de las ramas. Entonces, estableceremos que la rama //develop// tendrá permisos de escritura para el administrador y que los usuarios que seleccionemos tendrán permiso para fusionar a través de //pull requests//. | ||
| + | |||
| + | La rama //master// debería quedar configurada para que no permita //pull requests// y que solo un administrador pueda hacer cambios en ella. | ||
| + | |||
| + | En nuestro repositorio local, trabajamos sobre una rama, por ejemplo '' | ||
| + | |||
| + | < | ||
| + | git push -u origin feature/ | ||
| + | </ | ||
| + | |||
| + | En el repositorio remoto abriremos una pull request. Lo primero es indicar la rama origen ('' | ||
| + | |||
| + | Al revisor le llegará la //pull request// y podrá revisar los cambios. Si está todo correcto, puede aprobarla y finalmente hacer la fusión. | ||
| + | |||
| + | Se avisará al desarrollador que pidió la //pull request//, así que podrá actualizar en local: | ||
| + | |||
| + | < | ||
| + | git checkout develop | ||
| + | git pull | ||
| + | </ | ||
| + | |||
| + | Y podremos borrar la rama local: | ||
| + | |||
| + | < | ||
| + | git branch -d feature/ | ||
| + | </ | ||
| ===== Pull Requests con conflictos ===== | ===== Pull Requests con conflictos ===== | ||
| + | Cuando una //pull request// pueda generar algún conflicto, este no se puede solucionar en el repositorio remoto. No será posible hacer el //merge// en remoto. | ||
| + | |||
| + | Hay que resolver en local. El desarrollador se descargará la rama que crea el conflicto y hará un //rebase// de su rama a // | ||
| ===== Conclusión ===== | ===== Conclusión ===== | ||
| + | En un equipo que trabaje con //pull request// debemos tener claro el flujo de trabajo: creamos una rama local temporal, la subimos, creamos la pull request en el servidor indicando de qué rama a qué rama queremos la fusión. Al cerrarse la pull request, podremos descargarnos la rama develop y borrar mi rama temporal. | ||
| ===== Recursos ===== | ===== Recursos ===== | ||
informatica/programacion/cursos/control_version_git_avanzado/pull_requests.1686925105.txt.gz · Última modificación: por tempwin
