Estas habilidades y conocimientos en Git te permitirán manejar proyectos de manera efectiva y profesional, optimizando tu flujo de trabajo como desarrollador senior.
1. Gestión de Ramas
- Cuándo usarlo: Desarrollo de nuevas características o corrección de errores.
- Ventajas: Mantiene el trabajo organizado y separado.
- Desventajas: Puede generar muchas ramas desorganizadas.
git branch nueva-rama
git merge otra-rama
git branch -d rama-antigua
2. Commits y Rebase
- Cuándo usarlo: Mantener un historial de commits limpio y significativo.
- Ventajas: Historial fácil de entender.
- Desventajas: El rebase en ramas compartidas puede causar problemas.
- Ejemplo:
git commit -m "Descripción clara"
git rebase -i HEAD~3
3. Stash y Stash Pop
- Cuándo usarlo: Guardar cambios temporales sin comprometer.
- Ventajas: Flexibilidad para cambiar de rama rápidamente.
- Desventajas: Puede ser confuso si no se gestionan bien.
- Ejemplo:
4. Submódulos
- Cuándo usarlo: Incluir repositorios dependientes.
- Ventajas: Gestión fácil de dependencias.
- Desventajas: Complejo de sincronizar.
- Ejemplo:
git submodule add https://github.com/usuario/repositorio
5. Git Hooks
- Cuándo usarlo: Automatizar tareas antes de ciertos eventos.
- Ventajas: Garantiza ejecución de tareas automáticamente.
- Desventajas: Requiere configuración inicial.
- Ejemplo:
echo "make test" > .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
6. Rebase y Merge de Ramas Remotas
- Cuándo usarlo: Mantener tu rama actualizada con la principal.
- Ventajas: Historial limpio y ordenado.
- Desventajas: El rebase puede causar conflictos complejos.
- Ejemplo:
git fetch origin
git rebase origin/main
7. Uso Avanzado de `git log`
- Cuándo usarlo: Inspeccionar y analizar el historial.
- Ventajas: Vista clara del historial de commits.
- Desventajas: Puede ser abrumador sin opciones adecuadas.
- Ejemplo:
git log --oneline --graph --decorate --all
8. `git bisect`
- Cuándo usarlo: Encontrar commits que introdujeron bugs.
- Ventajas: Localiza errores rápidamente.
- Desventajas: Requiere comprensión del estado del proyecto.
- Ejemplo:
git bisect start
git bisect bad
git bisect good COMMIT_HASH
9. Resolución de Conflictos de Manera Eficiente
- Cuándo usarlo: Durante fusiones y rebases.
- Ventajas: Resuelve conflictos eficientemente.
- Desventajas: Puede ser complicado sin herramientas adecuadas.
- Ejemplo:
10. Configuraciones y Alias
- Cuándo usarlo: Simplificar comandos frecuentes.
- Ventajas: Aumenta la productividad.
- Desventajas: Difícil recordar todos los alias.
- Ejemplo:
git config --global alias.co checkout
git config --global alias.br branch