Configuración inicial
git config --global user.name "Tu Nombre" # Define el nombre del autor de los commits
git config --global user.email "[email protected]" # Define el correo del autor de los commits
git config --global init.defaultBranch main # Usa main como rama por defecto en repos nuevos
git config --global core.editor "nano" # Elige el editor para mensajes de commit
git config --list --show-origin # Muestra toda la configuración y su archivo de origenCrear repositorios y ver estado
git init # Inicializa un repositorio en la carpeta actual
git clone https://github.com/usuario/repo.git # Clona un repositorio remoto completo
git clone --depth 1 https://github.com/usuario/repo.git # Clona solo el último commit, más rápido
git status # Muestra archivos modificados, preparados y sin seguimiento
git status -s # Estado en formato cortoPreparar cambios y hacer commits
git add archivo.txt # Agrega un archivo al área de preparación
git add -p # Elige interactivamente qué fragmentos preparar
git commit -m "Mensaje descriptivo" # Crea un commit con lo preparado
git commit --amend # Modifica el último commit (mensaje o contenido)
git restore archivo.txt # Descarta cambios locales no preparados del archivo
git restore --staged archivo.txt # Quita el archivo del área de preparación
git rm --cached archivo.txt # Deja de versionar el archivo sin borrarlo del discoHistorial y diferencias
git log --oneline --graph --all # Historial compacto con gráfico de todas las ramas
git log -p archivo.txt # Historial de un archivo con sus cambios
git diff # Diferencias no preparadas respecto al índice
git diff --staged # Diferencias preparadas respecto al último commit
git show HEAD # Muestra detalles y cambios del último commit
git blame archivo.txt # Indica qué commit y autor modificó cada línea
git log -S "texto" # Busca commits que agregaron o quitaron ese textoRamas y fusiones
git branch # Lista ramas locales
git switch -c nueva-rama # Crea una rama y se cambia a ella
git switch main # Cambia a la rama main
git merge nueva-rama # Fusiona nueva-rama en la rama actual
git merge --abort # Cancela una fusión con conflictos
git rebase main # Reaplica commits de la rama actual sobre main
git branch -d nueva-rama # Borra una rama ya fusionadaTrabajo con remotos
git remote -v # Lista remotos configurados con sus URLs
git remote add origin https://github.com/usuario/repo.git # Agrega un remoto llamado origin
git fetch --prune # Descarga cambios y limpia ramas remotas eliminadas
git pull --rebase # Trae cambios y rebasea tus commits locales encima
git push -u origin main # Sube main y establece seguimiento con el remoto
git push --force-with-lease # Fuerza push solo si nadie subió cambios nuevos
git push origin --delete nueva-rama # Borra una rama en el remotoGuardar temporalmente y deshacer
git stash push -m "trabajo en curso" # Guarda cambios sin commitear en una pila
git stash list # Lista los stashes guardados
git stash pop # Restaura el último stash y lo elimina de la pila
git reset --soft HEAD~1 # Deshace el último commit conservando cambios preparados
git reset --hard HEAD~1 # Elimina el último commit y sus cambios locales
git revert HEAD # Crea un commit que invierte el último, sin reescribir historia
git reflog # Historial de movimientos de HEAD, ideal para recuperar commitsHerramientas avanzadas
git rebase -i HEAD~3 # Reordena, edita o combina los últimos tres commits
git cherry-pick abc1234 # Aplica un commit específico en la rama actual
git bisect start # Inicia búsqueda binaria del commit que introdujo un bug
git bisect good v1.0 # Marca una versión conocida como correcta
git tag -a v1.0 -m "Versión 1.0" # Crea una etiqueta anotada para una versión
git worktree add ../hotfix hotfix # Abre otra rama en un directorio de trabajo separado
git clean -nd # Simula qué archivos y carpetas sin seguimiento se borraríanSeguridad e integridad del repositorio
git log --all -p -S "password" # Audita tu historial buscando contraseñas commiteadas
git commit -S -m "Commit firmado" # Firma el commit con tu clave GPG
git config --global commit.gpgsign true # Firma todos los commits automáticamente
git verify-commit HEAD # Verifica la firma del último commit
git log --show-signature -1 # Muestra la firma del último commit en el log
git fsck # Comprueba integridad y objetos corruptos del repositorio
git filter-repo --path secreto.env --invert-paths # Elimina un archivo de todo el historial (requiere git-filter-repo)
curl -I http://127.0.0.1/.git/HEAD # Verifica si tu servidor expone la carpeta .gitPara tener en cuenta
reset --hard, rebase y push --force reescriben historia: evitalos en ramas compartidas y preferí revert o --force-with-lease. Si commiteaste una credencial, rotala de inmediato; limpiar el historial no basta porque pudo haber sido clonada. Usá .gitignore para secretos y bloqueá el acceso web a .git en tus servidores; las auditorías de repos ajenos solo con autorización por escrito.
Redactado con el asistente Underc0de IA. Actualizado el 14/11/2026. ¿Ves un error? Contanos en el foro.