Este documento agrupa los comandos y flujos Git más comunes, organizados por escenarios para que puedas consultarlos rápidamente. Está pensado para quienes están empezando con Git y GitHub.
¿Qué es?
Una Pull Request (PR) es una propuesta de cambios que envías desde una rama (por ejemplo, feature/...
o hotfix/...
) hacia otra (habitualmente develop
). Permite:
- 🚀 Revisión de código por tus compañeros.
- 🧪 CI (Continuous Integration): ejecución automática de tests, linters y builds para validar tu código.
- 💬 Comentarios línea a línea para discutir mejoras o correcciones.
¿Cuándo crearla?
- ✅ Al terminar una nueva funcionalidad en tu rama
feature/...
. - ✅ Tras corregir un bug urgente en
hotfix/...
. - ❌ No para cambios puramente locales o WIP (Work In Progress), es decir, trabajo en progreso que aún no está listo.
Ejemplo de flujo de PR:
# 1. Crea y trabaja en tu rama de feature
git checkout develop
git pull origin develop
git checkout -b feature/mi-cambio
# (haz cambios y varios commits si es necesario)
# 2. Cuando termines, sube la rama al remoto
git push -u origin feature/mi-cambio
- Ahora ve a GitHub y abre un PR de
feature/mi-cambio
→develop
. - Agrega descripción clara, capturas o pasos para probar.
- Asigna revisores y espera a que CI valide el PR.
- Tras aprobación, haz Merge.
# 1. Crear rama en develop
git checkout develop && git pull
git checkout -b feature/remove-nueva-pagina
# 2. Eliminar archivos
rm app/nueva-pagina.tsx
# 3. Commit y PR
git add -u
git commit -m "refactor: eliminar nueva-pagina"
git push -u origin feature/remove-nueva-pagina
- Abre PR → revisa → merge → elimina la rama.
# 1. Crear rama en develop
git checkout develop && git pull
git checkout -b feature/update-about-page
# 2. Editar archivos
# (por ejemplo, app/about.tsx)
# 3. Commit y PR
git add app/about.tsx
git commit -m "fix: actualizar contenido de About"
git push -u origin feature/update-about-page
- PR → merge → delete branch.
# 1. Crear rama
git checkout develop && git pull
git checkout -b feature/add-<libreria>
# 2. Instalar la librería
npm install <libreria>
# 3. Commit y PR
git add package.json package-lock.json
git commit -m "feat: añadir <libreria>"
git push -u origin feature/add-<libreria>
- PR para validar con CI y revisión.
# 1. Crear rama
git checkout develop && git pull
git checkout -b chore/update-deps
# 2. Actualizar paquetes
git npm update
# o yarn upgrade
# 3. Commit y PR
git add package.json package-lock.json
git commit -m "chore: actualizar dependencias"
git push -u origin chore/update-deps
- PR enfocado en pruebas de compatibilidad.
Para cambios no listos (Work In Progress), puedes usar stash o ramas temporales:
# Guardar cambios
git stash "WIP: descripción corta"
# Recuperar cambios
git stash pop
- No subas WIP directamente a
develop
sin PR.
Comando | Descripción |
---|---|
git status |
Muestra estado de archivos y rama actual |
git fetch origin |
Baja referencias del remoto sin fusionar |
git pull origin <rama> |
fetch + merge en la rama local |
git checkout <rama> |
Cambia a la rama especificada |
git checkout -b <nueva-rama> |
Crea y cambia a una nueva rama |
git reset --hard origin/<rama> |
Alinea tu rama local al remoto, descartando cambios locales |
git add <archivo> / git add . |
Agrega cambios al área de staging |
git commit -m "mensaje" |
Crea un commit con los cambios agregados |
git merge --no-ff <rama> |
Fusiona creando siempre un commit de merge |
git branch -d <rama> |
Borra rama local (si ya está fusionada) |
git push origin <rama> |
Sube tu rama local al remoto |
git push origin --delete <rama> |
Elimina rama en el remoto |
git tag -a vX.Y.Z -m "mensaje" |
Crea una etiqueta anotada en el commit actual |
git push origin --tags |
Sube todas las etiquetas locales al remoto |
git stash / git stash pop |
Guarda/recupera cambios no comiteados temporalmente |
Sigla | Significado | Descripción breve |
---|---|---|
PR | Pull Request | Propuesta de cambios en GitHub con revisión, CI y comentarios. |
CI | Continuous Integration | Integración Continua: ejecución automática de tests y builds. |
WIP | Work In Progress | Trabajo en progreso: cambios aún no listos para revisión final. |
CI/CD | Continuous Integration / Continuous Deployment | Flujos automatizados de test, build y despliegue. |
✨ Guarda este archivo en docs/GIT-CHEATSHEET.md
para tener siempre a mano los flujos y comandos clave. ¡GitFlow nunca fue tan claro! 🚀