Skip to content

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-tarea como rama de origen y main como 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.

7. Fusión del Pull Request

  • Una vez aprobado, el encargado (por ejemplo, Pedro) fusiona el pull request en main a 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-tarea en 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 main localmente ni subir cambios a origin/main sin un pull request, a menos que el equipo lo permita explícitamente.
  • Verificar si la rama main está 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