Back

10 comandos de Git que todo desarrollador debería conocer

10 comandos de Git que todo desarrollador debería conocer

Los comandos de Git forman la columna vertebral de cada flujo de trabajo de desarrollo moderno. Ya sea que estés subiendo código a producción o colaborando con un equipo distribuido, estos diez comandos cubrirán la mayor parte de tu trabajo diario. Esto es lo que realmente necesitas saber para un flujo de trabajo moderno de Git en 2025.

Puntos clave

  • Domina git status y git diff para entender el estado de tu repositorio antes de hacer cambios
  • Usa git switch y git restore en lugar del antiguo git checkout para comandos más claros y enfocados
  • Conoce git reflog como tu red de seguridad para recuperar commits perdidos y deshacer errores
  • Mantén tu instalación de Git actualizada para beneficiarte de parches de seguridad y nuevas funcionalidades

Verificando el estado de tu repositorio

git status

Antes de hacer cualquier otra cosa, git status te indica cómo están las cosas. Muestra archivos modificados, cambios preparados (staged) y archivos sin seguimiento en tu directorio de trabajo.

git status

Ejecuta esto con frecuencia. Previene sorpresas antes de los commits y te ayuda a entender lo que Git ve.

git diff

Mientras que status muestra qué archivos cambiaron, diff muestra qué cambió dentro de ellos.

git diff              # cambios sin preparar (unstaged)
git diff --staged     # cambios preparados (staged)

Revisa tus cambios antes de hacer commit. Esto detecta errores temprano.

Preparación y commits

git add

La preparación (staging) prepara los cambios para tu próximo commit. Controlas exactamente qué entra en cada snapshot.

git add filename.js   # preparar un archivo
git add .             # preparar todo

Para mayor control, usa git add -p para preparar fragmentos específicos dentro de archivos—útil cuando has hecho múltiples cambios no relacionados.

git commit

Los commits crean snapshots permanentes en el historial de tu proyecto.

git commit -m "Fix authentication timeout bug"

Escribe mensajes claros. Si necesitas corregir tu último mensaje de commit o agregar cambios olvidados, usa git commit --amend.

Trabajando con remotos

git clone

Clone descarga un repositorio y su historial completo a tu máquina.

git clone https://github.com/user/repository.git

git pull

Pull obtiene cambios del remoto y los fusiona en tu rama actual.

git pull origin main

Nota: git pull combina git fetch y git merge. Si quieres inspeccionar los cambios remotos antes de fusionar, ejecuta git fetch primero.

git push

Push sube tus commits locales al repositorio remoto.

git push origin main

Solo los cambios con commit se suben. El trabajo sin commit permanece local.

Ramificación e historial

git switch

Para cambiar de rama, git switch es el enfoque moderno—introducido en Git 2.23 y ahora el comando recomendado sobre el antiguo git checkout para este propósito.

git switch feature-branch      # cambiar de rama
git switch -c new-feature      # crear y cambiar

Git switch vs checkout: checkout todavía funciona pero maneja demasiadas tareas no relacionadas (cambiar ramas, restaurar archivos, desconectar HEAD). switch hace una cosa claramente. Úsalo.

git restore

De manera similar, git restore maneja la restauración de archivos—otra tarea previamente sobrecargada en checkout.

git restore filename.js           # descartar cambios del directorio de trabajo
git restore --staged filename.js  # quitar un archivo de staging

Esta separación hace que el modelo mental de Git sea más claro para los desarrolladores que aprenden la herramienta en 2025.

git log

Entender el historial de tu proyecto importa. git log muestra el historial de commits de tu rama actual.

git log --oneline --graph    # vista compacta con estructura de ramas

La bandera --oneline mantiene la salida legible. Agrega --graph para visualizar la ramificación y fusión.

Recuperación con git reflog

Cuando las cosas salen mal—y saldrán mal—git reflog es tu red de seguridad. Registra cada movimiento de HEAD, incluso commits que ya no aparecen en git log.

git reflog

¿Hiciste reset accidentalmente al commit equivocado? ¿Eliminaste una rama? reflog te ayuda a encontrar y recuperar trabajo perdido. No es un comando diario, pero saber que existe te ahorra horas de pánico.

Una nota sobre las opciones de flujo de trabajo

Los equipos a menudo debaten merge vs rebase. Ambos integran cambios pero difieren en cómo se ve el historial después. Merge preserva la estructura completa de ramas. Rebase crea un historial lineal. Ninguno es universalmente correcto—elige según las preferencias de tu equipo y las necesidades del proyecto.

También vale la pena mencionar: mantén tu instalación de Git razonablemente actualizada. Las versiones recientes han abordado avisos de seguridad que vale la pena parchear.

Conclusión

Estos comandos—status, diff, add, commit, clone, pull, push, switch, log y reflog—cubren lo esencial de Git para desarrolladores que hacen trabajo del día a día. Domina estos primero. Los comandos más avanzados se vuelven útiles una vez que esta base es sólida.

Comienza a usar switch y restore si aún no lo has hecho. Reflejan cómo están diseñados los comandos de Git en 2025: enfocados, predecibles y más fáciles de razonar.

Preguntas frecuentes

Git fetch descarga cambios de un repositorio remoto pero no los fusiona en tu rama local. Git pull combina fetch y merge en un solo paso, integrando automáticamente los cambios remotos en tu rama actual. Usa fetch cuando quieras revisar los cambios antes de fusionarlos.

Usa git reset --soft HEAD~1 para deshacer tu último commit mientras mantienes todos los cambios preparados (staged). Si quieres los cambios sin preparar pero aún en tu directorio de trabajo, usa git reset HEAD~1 en su lugar. Ambos enfoques preservan tu trabajo mientras eliminan el commit del historial.

Usa git switch para todas las operaciones relacionadas con ramas como cambiar de rama o crear nuevas. Git switch fue introducido en Git 2.23 específicamente para manejar la ramificación, mientras que checkout permanece sobrecargado con múltiples funciones no relacionadas. Switch proporciona una intención más clara y reduce la confusión.

Ejecuta git reflog para encontrar el hash del commit donde apuntaba tu rama antes de la eliminación. Luego recrea la rama usando git branch branch-name commit-hash. Reflog rastrea todos los movimientos de HEAD durante aproximadamente 90 días por defecto, haciendo posible la recuperación incluso después de eliminaciones accidentales.

Gain control over your UX

See how users are using your site as if you were sitting next to them, learn and iterate faster with OpenReplay. — the open-source session replay tool for developers. Self-host it in minutes, and have complete control over your customer data. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay