El workflow más simple que funciona
GitHub Flow es un modelo pragmático y ligero: main siempre es deployable; todo lo demás es un branch de vida corta detrás de un pull request.
Los seis pasos
- Crear un branch desde
main. - Añadir commits.
- Abrir un pull request.
- Discutir y revisar.
- Desplegar (opcional).
- Mergear a
main.
Un ejemplo trabajado
git checkout main
git pull
git checkout -b feature/avatar-upload
git push -u origin feature/avatar-upload
gh pr create --fill
gh pr merge --squash --delete-branch
git checkout main
git pull
Tres estrategias de merge
- Merge commit.
- Squash and merge.
- Rebase and merge.
Branch protection
- Requerir PR antes de mergear.
- Requerir status checks.
- Requerir al menos una review aprobatoria.
- No permitir pushes directos.
- Opcionalmente requerir historia lineal.
Workflow diario
git checkout main && git pull
git checkout -b fix/login-redirect
git push -u origin fix/login-redirect
gh pr create --title "Fix login redirect" --body "Fixes #123"
gh pr merge --squash --delete-branch
git checkout main && git pull
git branch -d fix/login-redirect
Mejores prácticas encima
- Mantén PRs por debajo de 400 líneas de diff.
- Una preocupación por PR.
- Abrir PRs temprano como borradores.
- Auto-revisar antes de pedir review.