Files
obsidian-vault/005-Learn/Instructivo Git Branches.md
T

2.5 KiB

🌿 Guía Completa para Crear y Manejar un Branch en Git

Porque romper main directamente es una tradición demasiado popular en desarrollo de software.
Git existe precisamente para evitar ese tipo de tragedias humanas.


1️⃣ Verifica el estado actual del proyecto

git status

Esto te mostrará:

  • Archivos modificados
  • Archivos en stage
  • Archivos sin seguimiento

2️⃣ Guarda tus cambios importantes

Si tienes cambios importantes, crea un commit antes de crear el branch.

git add .
git commit -m "Version estable antes de nueva funcionalidad"

✅ Esto crea un punto seguro al cual regresar.


📦 Alternativa: usar stash

Si todavía no quieres hacer commit:

git stash

Luego podrás recuperarlos con:

git stash pop

3️⃣ Ve a la rama principal

git checkout main

4️⃣ Descarga lo último del repositorio

git pull

Esto sincroniza tu proyecto local con el remoto.


5️⃣ Crea la nueva rama

git checkout -b nueva-funcionalidad

📌 Ejemplo real

git checkout -b agregar-dashboard-powerbi

6️⃣ Verifica que estás en la nueva rama

git branch

La rama actual aparecerá con un *

📌 Ejemplo

main
* agregar-dashboard-powerbi

7️⃣ Trabaja normalmente y guarda cambios

git add .
git commit -m "Agrega nueva funcionalidad"

8️⃣ Regresa a main cuando todo funcione

git checkout main

9️⃣ Une la nueva funcionalidad a main

git merge nueva-funcionalidad

🔟 Sube los cambios al repositorio remoto

git push

1️⃣1️⃣ Elimina la rama si ya no la necesitas

git branch -d nueva-funcionalidad

🧠 Recomendaciones importantes

✅ Nunca trabajes directamente sobre main
✅ Haz commits pequeños y claros
✅ Usa nombres descriptivos para tus branches
✅ Verifica siempre con git status


🚨 Comandos útiles extra

Ver historial de commits

git log --oneline

Ver diferencias de archivos

git diff

Salir del visor de git diff

Presiona:

q

Porque claramente mostrar texto simple en terminal era demasiado fácil para Unix.


🎯 Resultado esperado

Tu flujo ideal debería verse así:

main
 └── nueva-funcionalidad
       └── commits
             └── merge a main

Un proceso ordenado.
Casi sospechosamente profesional para estándares normales de desarrollo.