Chuleta de comandos Git: los comandos que de verdad usas
Git tiene cientos de comandos, pero el trabajo diario funciona con un par de docenas. Este es ese conjunto práctico — agrupado por tarea, desde preparar y confirmar hasta ramificar, remotos y deshacer errores. Los corchetes angulares <así> marcan un valor que tú rellenas.
Actualizado 2026-07-06
Configuración
| Comando | Qué hace |
|---|---|
| git init | Iniciar un nuevo repositorio en la carpeta actual |
| git clone <url> | Copiar un repositorio remoto a tu máquina |
| git config --global user.name "Name" | Establecer tu nombre de autor de commits |
| git config --global user.email "you@x.com" | Establecer tu correo de autor de commits |
Preparar y confirmar
| Comando | Qué hace |
|---|---|
| git status | Mostrar archivos cambiados, preparados y sin seguimiento |
| git add <file> | Preparar un archivo para el próximo commit |
| git add . | Preparar todos los cambios de la carpeta actual |
| git reset <file> | Quitar de preparación un archivo (conservar los cambios) |
| git commit -m "message" | Confirmar los cambios preparados con un mensaje |
| git commit -am "message" | Preparar archivos rastreados y confirmar en un paso |
| git commit --amend | Editar el commit más reciente |
Ramas
| Comando | Qué hace |
|---|---|
| git branch | Listar ramas locales |
| git branch <name> | Crear una rama nueva |
| git checkout <name> | Cambiar a una rama |
| git switch <name> | Cambiar a una rama (sintaxis más nueva) |
| git checkout -b <name> | Crear y cambiar a una rama nueva |
| git branch -d <name> | Eliminar una rama ya fusionada |
| git branch -D <name> | Forzar la eliminación de una rama |
Fusionar y rebasar
| Comando | Qué hace |
|---|---|
| git merge <branch> | Fusionar una rama en la actual |
| git rebase <branch> | Reaplicar tus commits sobre otra rama |
| git rebase -i <ref> | Editar, aplastar o reordenar commits de forma interactiva |
| git cherry-pick <hash> | Aplicar un solo commit sobre la rama actual |
Remotos
| Comando | Qué hace |
|---|---|
| git remote -v | Listar los remotos configurados |
| git remote add origin <url> | Conectar un repo local a un remoto |
| git fetch | Descargar cambios remotos sin fusionar |
| git pull | Traer y fusionar los cambios remotos |
| git push | Subir tus commits al remoto |
| git push -u origin <branch> | Empujar y fijar la rama upstream |
Deshacer
| Comando | Qué hace |
|---|---|
| git restore <file> | Descartar cambios sin confirmar de un archivo |
| git reset --soft HEAD~1 | Deshacer el último commit, dejar los cambios preparados |
| git reset --hard HEAD~1 | Deshacer el último commit y descartar los cambios |
| git revert <hash> | Crear un nuevo commit que deshace un commit |
| git stash | Guardar cambios aparte para trabajar en otra cosa |
| git stash pop | Volver a aplicar los últimos cambios guardados |
Inspeccionar el historial
| Comando | Qué hace |
|---|---|
| git log | Mostrar el historial de commits |
| git log --oneline | Historial compacto de una línea por commit |
| git diff | Mostrar los cambios sin preparar |
| git diff --staged | Mostrar los cambios preparados |
| git show <hash> | Mostrar los detalles de un commit concreto |
| git blame <file> | Mostrar quién cambió por última vez cada línea |