Tabla de Referencia de Git

Manual completo de comandos Git, organizado por categorías para búsqueda rápida

Todos: 65 个命令

Comandos Básicos(13)

git init

Crear nuevo repositorio Git en directorio actual

git clone <url>

Clonar repositorio remoto a local

git clone --depth=1 <url>

Clonación superficial, solo último commit

git add <file>

Agregar archivo al área de staging

git add .

Agregar todos los cambios al staging

git commit -m "message"

Confirmar cambios en staging

git commit --amend

Modificar el último commit

git status

Mostrar estado actual del repositorio

git diff

Mostrar cambios sin staging

git diff --staged

Mostrar cambios en staging

git config --list

Mostrar toda la configuración

git config --global user.name "name"

Configurar nombre global

git config --global user.email "email"

Configurar email global

Gestión de Ramas(14)

git branch

Listar todas las ramas locales

git branch -a

Listar todas las ramas (incluyendo remotas)

git branch <name>

Crear nueva rama

git branch -d <name>

Eliminar rama

git branch -m <old> <new>

Renombrar rama

git checkout <branch>

Cambiar a una rama

git checkout -b <branch>

Crear y cambiar a nueva rama

git switch <branch>

Cambiar a una rama (Git 2.23+)

git switch -c <branch>

Crear y cambiar a nueva rama (Git 2.23+)

git merge <branch>

Fusionar rama especificada con actual

git merge --no-ff <branch>

Fusionar con commit de fusión

git rebase <branch>

Rebase rama actual sobre rama especificada

git rebase --continue

Continuar rebase después de resolver conflictos

git cherry-pick <commit>

Aplicar commit específico a rama actual

Operaciones Remotas(10)

git remote -v

Mostrar detalles de repositorios remotos

git remote add <name> <url>

Agregar repositorio remoto

git fetch <remote>

Obtener último contenido del remoto

git fetch --all

Obtener actualizaciones de todos los remotos

git pull <remote> <branch>

Obtener y fusionar rama remota

git pull --rebase

Obtener y rebase

git push <remote> <branch>

Enviar a repositorio remoto

git push -f

Forzar push (usar con precaución)

git push -u origin <branch>

Push y establecer rama upstream

git push origin --delete <branch>

Eliminar rama remota

Deshacer Cambios(8)

git reset <file>

Quitar archivo del staging

git reset --soft HEAD~1

Deshacer último commit, mantener cambios

git reset --mixed HEAD~1

Deshacer commit y staging, mantener directorio

git reset --hard HEAD~1

Deshacer commit y descartar todos los cambios

git revert <commit>

Deshacer commit (crea nuevo commit)

git restore <file>

Restaurar archivo del directorio (Git 2.23+)

git restore --staged <file>

Quitar archivo del staging (Git 2.23+)

git clean -fd

Eliminar archivos y directorios no trackeados

Gestión de Etiquetas(6)

git tag

Listar todas las etiquetas

git tag <name>

Crear etiqueta ligera

git tag -a <name> -m "msg"

Crear etiqueta anotada

git tag -d <name>

Eliminar etiqueta local

git push origin <tag>

Enviar etiqueta al remoto

git push --tags

Enviar todas las etiquetas al remoto

Ver Historia(7)

git log

Mostrar historial de commits

git log --oneline

Mostrar historial compacto

git log --oneline --graph --all

Mostrar historial de todas las ramas como gráfico

git show <commit>

Mostrar detalles del commit

git blame <file>

Mostrar historial de modificación por línea

git reflog

Mostrar todo historial de operaciones

git bisect start

Iniciar búsqueda binaria del commit problemático

Stash(7)

git stash

Guardar cambios actuales

git stash save "message"

Guardar cambios con mensaje

git stash list

Listar todos los stash

git stash pop

Aplicar y eliminar último stash

git stash apply

Aplicar stash sin eliminar

git stash drop

Eliminar último stash

git stash clear

Eliminar todos los stash

¿Qué es Git?

Git es un sistema de control de versiones distribuido creado por Linus Torvalds para gestionar el historial de código de proyectos. Soporta desarrollo colaborativo, rastrea cada cambio de código, y proporciona gestión de ramas y reversión de versiones.

Dominar los comandos Git es esencial para cada desarrollador. Esta tabla de referencia organiza los comandos más usados por categoría para búsqueda rápida y aprendizaje.

Cómo Usar

Haz clic en cualquier tarjeta de comando para copiarlo. Usa el buscador para encontrar comandos específicos. Haz clic en las categorías para filtrar por tipo.

Tips Comunes

Deshacer git add
Usa git restore --staged o git reset para quitar del staging
Modificar último commit
Usa git commit --amend para modificar mensaje o contenido del último commit
Guardar progreso
Usa git stash para guardar temporalmente y cambiar a otras ramas
Deshacer commit enviado
Usa git revert en lugar de git reset para no romper historial remoto
Ver historial de archivo
Usa git log -p para ver historial completo de modificaciones

Preguntas Frecuentes (FAQ)

Q: ¿Qué diferencia hay entre git pull y git fetch?

A: git fetch solo descarga actualizaciones remotas sin fusionar; git pull equivale a git fetch + git merge. Se recomienda usar fetch primero para revisar cambios antes de fusionar.

Q: ¿Cómo deshacer el último commit?

A: Usa git reset --soft HEAD~1 para deshacer commit pero mantener cambios; usa git reset --hard HEAD~1 para deshacer completamente y descartar cambios. Si ya fue enviado, usa git revert por seguridad.

Q: ¿Cómo resolver conflictos de fusión?

A: Edita manualmente archivos conflictivos para elegir contenido a mantener, luego git add para marcar como resuelto, finalmente git commit para completar fusión. Usa git mergetool para resolución visual.

Q: ¿Qué diferencia hay entre git merge y git rebase?

A: merge crea un commit de fusión preservando historial de ramas; rebase mueve commits al final de rama destino haciendo historial más lineal. Usa merge para ramas compartidas, rebase para ramas locales.

Q: ¿Cómo eliminar un archivo grande del historial?

A: Usa git filter-branch o BFG Repo-Cleaner. Nota que esto reescribe historial requiriendo push forzado.