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 statusygit diffpara entender el estado de tu repositorio antes de hacer cambios - Usa
git switchygit restoreen lugar del antiguogit checkoutpara comandos más claros y enfocados - Conoce
git reflogcomo 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.
Discover how at OpenReplay.com.
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.