Git es esencial para el desarrollo de software moderno, pero muchos desarrolladores solo usan lo básico y pasan por alto una serie de comandos poderosos.
Aquí te traigo 10 comandos secretos que te harán ahorrar tiempo y mejorar tu flujo de trabajo. ¡Vamos a descubrirlos!
1. El Botón de Deshacer de Git
Cuando cometes un error y quieres deshacer los cambios en un archivo o deshacer el “staging” sin perder el trabajo, git restore es tu salvavidas.
Descartar cambios en un archivo:
git restore
Deshacer un archivo del “staging”:
git restore --staged
2. Una Forma Más Inteligente de Cambiar de Rama
Si estás acostumbrado a usar git checkout para cambiar entre ramas, te encantará git switch. Es más específico para esta tarea.
Cambiar a una rama existente:
git switch
Crear y cambiar a una nueva rama:
git switch -c
3. Trabaja de Manera Más Eficiente
¿Trabajas en un monorepositorio enorme? Con git sparse-checkout solo puedes descargar las carpetas o archivos que realmente necesitas.
Habilitar sparse-checkout:
git sparse-checkout init --cone
Agregar directorios específicos:
git sparse-checkout set
4. Compara Rango de Commits Como un Profesional
¿Necesitas comparar dos versiones de una rama o serie de parches? git range-diff facilita la revisión de cambios entre rangos de commits.
Comparar rangos de commits:
git range-diff
5. Agrega Metadatos a los Commits Sin Desorden
A veces no basta con un mensaje de commit. Con git notes puedes agregar información adicional sin ensuciar el historial de commits.
Agregar una nota a un commit:
git notes add -m "Tu nota aquí"
Ver las notas:
git log --show-notes
6. Trabaja en Varias Ramas Simultáneamente ️
Si necesitas trabajar en varias ramas a la vez, git worktree permite crear directorios separados para cada una, evitando tener que cambiar constantemente.
Crear un nuevo worktree para una rama:
git worktree add ../nuevo-directorio
Listar todos los worktrees:
git worktree list
7. Encuentra Bugs Como un Detective ️♂️
Si necesitas encontrar qué commit introdujo un error, git bisect te ayudará a hacer una búsqueda binaria en tu historial de commits.
Iniciar bisect:
git bisect start
Marcar un commit como “malo”:
git bisect bad
Marcar un commit como “bueno”:
git bisect good
Resetear cuando termines:
git bisect reset
8. Reescribe la Historia Sin Romper Nada
Con git replace puedes crear un commit de reemplazo sin cambiar el hash original del commit.
- Crear un commit de reemplazo
git replace
9. Encuentra y Repara Corrupciones en el Repositorio
Si sospechas que tu repositorio está corrupto, git fsck verifica y te ayuda a recuperar objetos perdidos.
Verificar el repositorio:
git fsck --full
10. Crea Tus Propios Comandos de Git
¿Cansado de escribir comandos largos? Con git alias puedes crear atajos personalizados para tus operaciones más comunes.
Agregar un alias:
git config --global alias.co checkout
Usar el alias:
git co
¿Cómo Masterizar GIT BISECT?
Vamos a profundizar en git bisect. Si tienes que encontrar el commit que introdujo un bug, este comando hace el trabajo de manera rápida y eficiente.
Pasos:
1. Iniciar la búsqueda
git bisect start
2. Marcar el commit problemático
git bisect bad
3. Marcar un commit anterior como “bueno”
git bisect good
4. Git selecciona un commit intermedio. Prueba y marca como “bueno” o “malo”
git bisect good o git bisect bad
5. Repite hasta que Git encuentre el commit exacto que causó el error
Consejo Pro: Automatiza este proceso con un script de prueba.
git bisect run ./test-script.sh
Conclusión
Git es mucho más que solo commit, push y pull. Con estos comandos secretos, puedes ahorrar tiempo, solucionar problemas complejos y ser más eficiente. ¡Ahora es tu turno de probarlos!