Guía práctica de Git: comandos clave que todo desarrollador debería conocer

Guía práctica de Git: comandos clave que todo desarrollador debería conocer

En el mundo del desarrollo de software, Git se ha convertido en el estándar de facto para el control de versiones. Desde proyectos individuales hasta equipos distribuidos en todo el mundo, Git permite gestionar cambios en el código, colaborar de manera ordenada y mantener un historial confiable del trabajo.
Sin embargo, para quienes empiezan —e incluso para quienes ya lo usan a diario— algunos comandos pueden ser confusos o incluso “peligrosos” si no se entienden bien. En este artículo revisamos varios comandos clave, con ejemplos y explicaciones claras.


1. git init y git clone

El punto de partida.

  • git init: convierte una carpeta en un repositorio Git vacío.

     
    git init
    
  • git clone: descarga un repositorio existente desde un servidor remoto (GitHub, GitLab, Bitbucket, etc.)

     
    git clone https://github.com/usuario/repositorio.git
    

2. git status

Probablemente el comando más usado en el día a día. Muestra qué archivos han cambiado, cuáles están listos para confirmarse y cuáles no.

 
git status

3. git add y git commit

El flujo básico: añadir cambios y confirmarlos.

  • git add archivo.txt → añade un archivo concreto.

  • git add . → añade todos los cambios en el directorio actual.

  • git commit -m "mensaje descriptivo" → guarda el snapshot en el historial del proyecto.

Ejemplo:

 
git add .
git commit -m "Corrige bug en la validación de formularios" 

4. git push y git pull

Aquí empieza la colaboración real.

  • git push: envía los commits locales al repositorio remoto.

     
    git push origin main
    
  • git pull: descarga los cambios más recientes del remoto y los fusiona con tu rama actual.

     
    git pull origin main
    

⚠️ Consejo: antes de hacer un push, asegúrate de haber hecho un pull para evitar conflictos.


5. git reset --hard

Este comando es poderoso, pero también arriesgado.
Sirve para forzar que tu rama vuelva a un estado anterior, descartando todos los cambios no confirmados y commits posteriores al punto que indiques.

 
git reset --hard <id_commit>

Ejemplo:

 
git reset --hard a3f5b2c

⚠️ Precaución: perderás cambios que no hayas subido al remoto.


6. git checkout y git switch

Dos formas de cambiar entre ramas o commits específicos.

  • Con checkout:

     
    git checkout -b nueva-rama
    
  • Con switch (nuevo y más legible):

     
    git switch -c nueva-rama
    

7. git merge y git rebase

Ambos sirven para integrar cambios, pero funcionan diferente:

  • merge: fusiona ramas, manteniendo el historial de ambas.

     
    git merge rama-feature
    
  • rebase: reescribe el historial para que parezca lineal. Útil para mantener un repositorio limpio, pero hay que usarlo con cuidado si trabajas con ramas compartidas.

     
    git rebase main
    

8. git log y git reflog

  • git log: muestra el historial de commits.

  • git reflog: permite ver todo lo que ha pasado en el repositorio, incluso commits que parecen perdidos tras un reset. Muy útil para recuperar trabajo.


9. git stash

Permite guardar temporalmente cambios no confirmados para poder cambiar de rama sin perderlos.

 
git stash
git stash pop

Conclusión

Git es mucho más que “push y pull”. Conocer comandos como reset --hard, reflog o stash puede salvarte horas de trabajo y evitar errores catastróficos. La clave está en comprender lo que hace cada instrucción antes de ejecutarla.

En ForgeNEX ayudamos a empresas y equipos de desarrollo a implementar flujos de trabajo con Git, mejorar la colaboración y asegurar que el código se gestione de manera profesional. Porque un buen control de versiones no es un lujo: es la base de cualquier proyecto de software serio.

Compartir: