ulises.io

Comandos de Git que Todo Desarrollador Debe Dominar en 2026

7 min de lectura
GitHerramientasTerminalProductividadBásico

No importa si escribes Python, JavaScript, Rust o COBOL — si trabajas en software, usas Git. Es la herramienta que más vas a usar en tu carrera, y sin embargo, muchos desarrolladores solo conocen git add . y git push.

En este artículo te enseño los comandos de Git que realmente necesitas dominar, organizados de básico a avanzado, con ejemplos prácticos que puedes usar hoy mismo.

Configuración inicial (solo una vez)

Antes de empezar, configura tu identidad:

git config --global user.name "Tu Nombre"
git config --global user.email "tu@email.com"

Esto es lo que aparecerá en cada commit que hagas. Si trabajas con diferentes emails (personal vs trabajo), puedes omitir --global y configurarlo por repositorio.

Bonus: Configura un editor por defecto para los mensajes de commit:

git config --global core.editor "code --wait"  # VS Code

El flujo básico diario

Iniciar un repositorio

git init                    # Crear un nuevo repo
git clone <url>             # Clonar uno existente

Ver el estado actual

git status                  # Ver archivos modificados
git status -s               # Versión corta

Agregar cambios al staging

git add archivo.js          # Agregar un archivo específico
git add .                   # Agregar todo
git add -p                  # Agregar interactivamente (muy útil)

El flag -p (patch) te permite revisar cada cambio antes de agregarlo. Úsalo cuando tengas muchos cambios y quieras hacer commits más pequeños y específicos.

Hacer commit

git commit -m "feat: agregar login"           # Commit con mensaje
git commit -am "fix: corregir typo"           # Add + commit (solo archivos tracked)
git commit --amend                            # Modificar el último commit

Pro tip: Usa Conventional Commits para mensajes claros:

  • feat: nueva funcionalidad
  • fix: corrección de bug
  • docs: documentación
  • refactor: cambio de código sin cambiar funcionalidad

Subir cambios

git push                              # Subir al remote
git push -u origin main               # Primera vez (establece upstream)
git push --force-with-lease           # Force push seguro

⚠️ Nunca uses git push --force en ramas compartidas. Si necesitas forzar, usa --force-with-lease que verifica que nadie más haya subido cambios.


Trabajando con ramas

Las ramas son la base del trabajo en equipo. Aprende a usarlas bien.

Crear y cambiar de rama

git branch                          # Ver ramas locales
git branch -a                       # Ver todas (incluye remotas)
git branch feature/login            # Crear rama
git checkout feature/login          # Cambiar a la rama
git checkout -b feature/login       # Crear y cambiar en un comando
git switch feature/login            # Alternativa moderna a checkout
git switch -c feature/login         # Crear y cambiar (moderno)

Fusionar ramas

git checkout main                   # Cambiar a main
git merge feature/login             # Fusionar feature/login en main
git merge --no-ff feature/login     # Merge sin fast-forward (mantiene historial)

Eliminar ramas

git branch -d feature/login         # Eliminar rama local (si ya fue mergeada)
git branch -D feature/login         # Eliminar forzado
git push origin --delete feature/login  # Eliminar rama remota

Comandos de rescate (estos te salvarán la vida)

Ver el historial

git log                             # Historial completo
git log --oneline                   # Una línea por commit
git log --oneline -10               # Últimos 10 commits
git log --graph --oneline --all     # Visualizar ramas

Deshacer cambios locales

git checkout -- archivo.js          # Descartar cambios en un archivo
git restore archivo.js              # Alternativa moderna
git restore --staged archivo.js     # Quitar del staging (sin perder cambios)

Stash: guardar cambios temporalmente

Tienes cambios sin commitear pero necesitas cambiar de rama urgentemente:

git stash                           # Guardar cambios
git stash push -m "wip: login"      # Guardar con mensaje
git stash list                      # Ver stashes guardados
git stash pop                       # Recuperar el último stash
git stash apply stash@{2}           # Aplicar un stash específico
git stash drop                      # Eliminar el último stash

Reset: volver atrás en el tiempo

git reset --soft HEAD~1             # Deshacer último commit (mantiene cambios en staging)
git reset --mixed HEAD~1            # Deshacer último commit (mantiene cambios sin staging)
git reset --hard HEAD~1             # Deshacer último commit (BORRA todo)

⚠️ Cuidado con --hard — los cambios se pierden permanentemente.

Revert: deshacer un commit de forma segura

A diferencia de reset, revert crea un nuevo commit que deshace los cambios:

git revert abc123                   # Revertir un commit específico
git revert HEAD                     # Revertir el último commit

Usa revert cuando el commit ya fue pusheado y compartido con el equipo.


Ver diferencias

git diff                            # Cambios no staged
git diff --staged                   # Cambios en staging
git diff main..feature/login        # Diferencia entre ramas
git diff HEAD~3                     # Cambios de los últimos 3 commits

Bonus: Aliases para ser más productivo

Agrega estos aliases a tu configuración:

git config --global alias.st "status -s"
git config --global alias.co "checkout"
git config --global alias.br "branch"
git config --global alias.cm "commit -m"
git config --global alias.lg "log --oneline --graph --all"
git config --global alias.undo "reset --soft HEAD~1"

Ahora puedes usar:

git st                  # En lugar de git status -s
git co main             # En lugar de git checkout main
git lg                  # Log bonito con gráfico
git undo                # Deshacer último commit

Resumen: Los 10 comandos que más usarás

  1. git status — Ver qué cambió
  2. git add -p — Agregar cambios selectivamente
  3. git commit -m "" — Commitear con mensaje
  4. git push — Subir cambios
  5. git pull — Traer cambios del remote
  6. git checkout -b — Crear y cambiar de rama
  7. git merge — Fusionar ramas
  8. git stash — Guardar cambios temporalmente
  9. git log --oneline — Ver historial
  10. git diff — Ver diferencias

Conclusión

Git parece intimidante al principio, pero una vez que dominas estos comandos, se vuelve una segunda naturaleza. Mi consejo: no intentes memorizar todo. Usa esta guía como referencia y practica con proyectos reales.

Si algo sale mal (y saldrá mal), recuerda: casi todo en Git es reversible. Respira, busca el comando correcto, y sigue adelante.

¿Tienes algún comando favorito que no mencioné? Compártelo en mis redes.


¿Te fue útil esta guía? Compártela con ese amigo que todavía le tiene miedo a Git. Y sígueme para más contenido sobre desarrollo y herramientas.