Learn

El flujo de trabajo con pull requests

Git

Crear una rama, hacer push, abrir una PR, recibir revisión, fusionar. El estándar de la industria.

El pull request (PR) es el ritual de la industria para proponer un cambio, hacerlo revisar y luego fusionarlo. Esta lección cubre el ciclo completo, visto desde GitHub.

Por qué existen los pull requests

Hacer push directamente a main es arriesgado en un proyecto compartido. Una PR crea un espacio de discusión en torno a tus cambios: los demás pueden leer el diff, dejar comentarios y pedir modificaciones. Nada llega a main sin haber sido revisado.

Incluso trabajando en solitario, abrir una PR es un buen hábito: te obliga a releer tu propio diff antes de fusionar.

Paso 1: crear una rama y hacer push

shell
git switch -c fix/erratas-readme

Haz tus cambios y commitealos:

shell
git add README.md
git commit -m "corrige erratas en el README"

Envía la rama a GitHub:

shell
git push -u origin fix/erratas-readme

Paso 2: abrir la PR en GitHub

Tras el push, GitHub suele mostrar un banner "Compare & pull request". Si no, ve a la pestaña Pull requests y haz clic en New pull request.

Selecciona:

  • base: la rama destino, normalmente main.
  • compare: tu rama fix/erratas-readme.

Escribe un título claro y una descripción que explique el porqué (no solo el qué). Luego haz clic en Create pull request.

GitHub Docs - Pull requests

Paso 3: la revisión

Los revisores leen el diff en la pestaña Files changed y añaden comentarios línea a línea. Para responder a un feedback, editas el código, commiteas y vuelves a hacer push en la misma rama. La PR se actualiza automáticamente.

shell
git add README.md
git commit -m "atiende los comentarios de revisión"
git push

Paso 4: fusionar

Cuando la PR está aprobada, tú (o el mantenedor) hace clic en Merge pull request en GitHub. GitHub ofrece tres modos:

  • Create a merge commit: conserva el historial completo con un merge commit. La opción por defecto.
  • Squash and merge: aplana todos los commits de la PR en uno antes de fusionar. Historial más limpio.
  • Rebase and merge: hace rebase de los commits sobre main sin merge commit. Lineal.

Tras la fusión, elimina la rama en GitHub (botón "Delete branch").

En local, actualiza main y elimina la rama local:

shell
git switch main
git pull
git branch -d fix/erratas-readme

Marca los pasos para desbloquear lo siguiente

Volver al curso