Comandos Esenciales de Git
Los comandos que usas a diario - staging, commits, ramas e inspección del historial.
Busca en todas las páginas de la documentación
Los comandos que usas a diario - staging, commits, ramas e inspección del historial.
🤖 Read the SystemsArchitect.io Blog for over 100+ cloud architecture articles 🔥
Tarjeta de referencia rápida - lista para copiar y pegar.
# Inicializa un repositorio nuevo
git init
# Verifica el estado actual
git status
# Prepara archivos específicos
git add file1.tsx file2.tsx
# Prepara todos los cambios
git add .
# Realiza un commit con mensaje
git commit -m "feat: add user profile component"
# Ve el historial de commits
git log --oneline --graph
# Crea y cambia a una rama nueva
git checkout -b feature/new-component
# Cambia a una rama existente
git checkout main
# o (moderno)
git switch mainCuándo usarlo: Cada vez que escribes código. Estos comandos son la base de todos los flujos de trabajo de Git.
# Flujo típico de desarrollo de una funcionalidad
git checkout -b feature/auth-page
# ... escribe código ...
git status
git add src/app/auth/page.tsx src/app/auth/layout.tsx
git commit -m "feat: add authentication page with login form"
git push -u origin feature/auth-pageLo que esto demuestra:
git add . cuando sea posible)El área de staging es el paso intermedio único de Git entre tu directorio de trabajo y el repositorio.
# Prepara archivos específicos
git add src/components/Button.tsx
# Prepara partes de un archivo (selección interactiva de fragmentos)
git add -p src/components/Button.tsx
# Deshace el staging de un archivo (mantiene los cambios en el directorio de trabajo)
git restore --staged src/components/Button.tsx
# Descarta los cambios en el directorio de trabajo
git restore src/components/Button.tsx# Prefijos convencionales de commits
git commit -m "feat: add dark mode toggle"
git commit -m "fix: resolve hydration mismatch in sidebar"
git commit -m "refactor: extract shared form validation logic"
git commit -m "docs: update API route documentation"
git commit -m "chore: upgrade next to 15.1.0"
git commit -m "test: add integration tests for checkout flow"
# Mensaje de commit multilínea
git commit -m "feat: add user dashboard
- Add profile summary card
- Add recent activity feed
- Add quick action buttons"# Log compacto con gráfico
git log --oneline --graph --all
# Muestra los cambios en un commit específico
git show abc1234
# Muestra quién modificó cada línea por última vez
git blame src/app/layout.tsx
# Busca en los mensajes de commit
git log --grep="auth" --oneline
# Muestra commits que modificaron un archivo específico
git log --oneline -- src/app/auth/page.tsx
# Muestra la diferencia entre ramas
git diff main..feature/auth-page# Lista todas las ramas (locales)
git branch
# Lista todas las ramas (incluyendo remotas)
git branch -a
# Crea una rama sin cambiar a ella
git branch feature/sidebar
# Elimina una rama fusionada
git branch -d feature/sidebar
# Elimina una rama sin fusionar (fuerza)
git branch -D feature/abandoned
# Renombra la rama actual
git branch -m new-nameCosas que te van a morder. Cada trampa mortal incluye qué sale mal, por qué sucede y cómo arreglarlo.
Commitear en la rama equivocada - Escribes código en main en lugar de en una rama de funcionalidad. Solución: git stash, luego git checkout -b feature/correct-branch, luego git stash pop.
Olvidar hacer pull antes de push - El push se rechaza porque el remoto tiene commits nuevos. Solución: git pull --rebase para reproducir tus commits sobre los cambios remotos más recientes.
Preparar accidentalmente secretos - .env o credenciales se agregan al staging. Solución: git restore --staged .env antes de hacer commit. Agrega .env a .gitignore inmediatamente.
Estado de HEAD separado - Hiciste checkout a un hash de commit en lugar de a un nombre de rama. Solución: git checkout -b my-branch para crear una rama en ese commit, o git checkout main para volver.
Archivos grandes inflando el repositorio - Commitear node_modules o artefactos de construcción. Solución: Agrega estos a .gitignore antes del primer commit. Si ya están committeados, usa git rm -r --cached node_modules.
Otras formas de resolver el mismo problema - y cuándo cada una es la mejor opción.
| Alternativa | Úsalo cuando | No lo uses cuando |
|---|---|---|
git switch / git restore | Git moderno (2.23+) - intención más clara que checkout | Versiones antiguas de Git o memoria muscular |
git stash | Cambio de contexto rápido sin hacer commit del WIP | Quieres un registro permanente del estado WIP |
git worktree | Trabajas en dos ramas simultáneamente | Flujos de trabajo simples de una sola rama |
git add . prepara todos los cambios en el directorio actual y subdirectoriosgit add file.tsx prepara solo ese archivo específico.env)git switch se introdujo en Git 2.23+ para aclarar la intención de cambiar de ramagit checkout está sobrecargado: cambia ramas Y restaura archivosgit switch para ramas, git restore para archivos, si tu versión de Git los soportagit reset --soft HEAD~1--soft mantiene los cambios preparados--mixed (predeterminado) mantiene los cambios pero los deshace del staging--hard descarta los cambios completamente (peligroso)feat:, fix:, refactor:, docs:, chore:, test: categorizan cambiosgit show abc1234--stat para un resumen de archivos modificados en lugar del diff completogit filter-branch o git filter-repo para eliminar el archivo del historial.env a .gitignore para prevenir accidentes futurosgit add -p solo funciona con archivos rastreados (archivos ya conocidos por Git)git add file.tsx, luego puedes usar -p en cambios posterioresgit branch -d feature/my-branch-d solo elimina si la rama ha sido fusionada-D elimina a la fuerza incluso ramas no fusionadas (úsalo con cuidado)git checkout -b my-new-branch para crear una rama en el commit actualgit log --grep="auth" --oneline--grep filtra por contenido de mensaje de commit--all para buscar en todas las ramas*.tsbuildinfo a tu .gitignorenpx tsc --noEmit--noEmit verifica tipos sin producir archivos de salidaRevisado por Chris St. John·Última actualización: 19 jul 2026
🤖 Read the SystemsArchitect.io Blog for over 100+ cloud architecture articles 🔥