Pull request en git y github
Este documento describe el flujo correcto para que un desarrollador, como Neider, colabore en un proyecto gestionado en GitHub, asegurando que los cambios sean revisados antes de integrarse en la rama principal (main o master).
1. Configuración Inicial
- Clonar el repositorio en la máquina local:
git clone <URL-del-repositorio> - Acceder al directorio del proyecto:
cd <nombre-del-proyecto> - Asegurarse de estar en la rama principal y actualizada:
git checkout main git pull origin main
2. Crear una Rama para la Tarea
- Crear una nueva rama con un nombre descriptivo (por ejemplo,
feature/nueva-tarea):git checkout -b feature/nueva-tarea - Realizar los cambios necesarios en los archivos del proyecto.
- Probar los cambios localmente para verificar que funcionan correctamente.
3. Confirmar los Cambios
- Agregar los archivos modificados al área de preparación:
git add . - Confirmar los cambios con un mensaje claro y descriptivo:
git commit -m "Implementa nueva tarea"
4. Subir la Rama al Repositorio Remoto
- Subir la rama al repositorio remoto en GitHub:
git push origin feature/nueva-tarea
5. Crear un Pull Request
- Ir al repositorio en GitHub (por ejemplo,
https://github.com/empresa/proyecto). - En la pestaña "Pull requests", seleccionar "New pull request".
- Elegir
feature/nueva-tareacomo rama de origen ymaincomo rama de destino. - Completar los detalles del pull request:
- Título: Descriptivo, por ejemplo, "Implementa nueva tarea".
- Descripción: Explicar los cambios, su propósito y cualquier detalle relevante (por ejemplo, pruebas realizadas).
- Asignar revisores (por ejemplo, Pedro, el encargado del repositorio).
- Hacer clic en "Create pull request".
6. Revisión del Pull Request
- Esperar a que el equipo (por ejemplo, Pedro) revise el pull request.
- Si se solicitan cambios:
- Regresar a la rama local
feature/nueva-tarea:git checkout feature/nueva-tarea - Realizar las correcciones, confirmarlas y subirlas:
git add . git commit -m "Ajustes según comentarios" git push origin feature/nueva-tarea - Los cambios se actualizan automáticamente en el pull request.
- Regresar a la rama local
7. Fusión del Pull Request
- Una vez aprobado, el encargado (por ejemplo, Pedro) fusiona el pull request en
maina través de GitHub, usando una de estas opciones:- Merge commit: Crea un commit de fusión.
- Squash and merge: Combina todos los commits en uno.
- Rebase and merge: Reorganiza los commits para un historial lineal.
- Opcionalmente, eliminar la rama
feature/nueva-tareaen GitHub tras la fusión.
8. Actualizar la Rama Local
- Actualizar la rama principal local con los cambios fusionados:
git checkout main git pull origin main - Opcionalmente, eliminar la rama local:
git branch -d feature/nueva-tarea
Notas
- Nunca fusionar directamente en
mainlocalmente ni subir cambios aorigin/mainsin un pull request, a menos que el equipo lo permita explícitamente. - Verificar si la rama
mainestá protegida en GitHub. Si lo está, los pushes directos no serán posibles, forzando el uso de pull requests. - Mantener una comunicación clara con el equipo durante la revisión para agilizar el proceso.
Paso 3: Crear una nueva rama desde develop
Antes de comenzar una nueva funcionalidad, asegúrate de estar en la rama develop y que esté actualizada. Luego crea una nueva rama de tipo feature.
bash
git checkout develop
git pull origin develop
git checkout -b feature/nombre-de-la-funcionalidad