Guía Básica de Git
1. 💡 Introducción a Git
Git es un sistema de control de versiones distribuido que permite gestionar y controlar los cambios en tu código fuente a lo largo del tiempo.
Esencial para equipos, colaboración y control de versiones en proyectos de software.
2. ⚙️ Comandos Básicos
Inicializar repo
git init
Ver estado
git status
Agregar archivos
git add .
Hacer commit
git commit -m "mensaje"
Ver historial
git log --oneline
Ver ramas
git branch
Crear nueva rama
git checkout -b nueva-rama
Cambiar de rama
git switch nombre-rama
Subir cambios
git push -u origin rama
Traer cambios del remoto
git pull
Agregar repositorio remoto
git remote add origin URL
Ver remotos
git remote -v
3. 🔄 Flujo de trabajo recomendado
Clona o inicia tu repo local.
Crea una nueva rama:
git checkout -b feature/nueva-funcion.Realiza cambios, prueba, guarda.
Haz commits claros y significativos.
Sube tu rama:
git push -u origin feature/nueva-funcion.Abre un Pull Request en GitHub.
Solicita revisión o haz merge.
4. 🌿 Manejo de Ramas
main: rama principal estable.feature/nombre: nuevas funcionalidades.fix/nombre: correcciones de errores.hotfix/nombre: correcciones urgentes sobre producción.
5. ✅ Buenas Prácticas de Commits
Haz commits pequeños y enfocados.
Usa mensajes descriptivos.
Relaciona el commit con una tarea, issue o módulo.
Evita commits genéricos como
"arreglos"o"cambios varios".
6. 🧠 Formato Profesional para Commits (Conventional Commits)
<tipo>(módulo): descripción corta del cambioTipos más comunes:
feat
Nueva funcionalidad
fix
Corrección de error
docs
Cambios en documentación
style
Formato, espacios, sin afectar lógica
refactor
Cambios internos sin alterar funcionalidades
test
Agregar o modificar pruebas
chore
Tareas menores o mantenimiento
Ejemplos:
git commit -m "feat(auth): agrega validación de correo"
git commit -m "fix(api): corrige error 500 en login"
git commit -m "docs(readme): agrega pasos de instalación"7. 🛠️ Comandos útiles extra
Ver diferencias antes del commit:
git diff git diff --cachedRevertir commit:
git revert <hash>Borrar archivos del staging:
git reset archivo.jsForzar sincronización con remoto:
git fetch origin git reset --hard origin/main
8. 📚 Recursos adicionales
Última actualización