developer reference

Git cheat sheet

Referencia práctica para usar Git a diario con búsqueda, copia rápida e impresión PDF.

Ir a comandos
42
comandos
9
categorías
0
dependencias

42 comandos visibles

Init y clone

3 comandos
git init

Inicializa un repositorio en el directorio actual

Inicio y clonacionseguro
Ejemplo práctico
git init  # o con un nombre
git init myproject
git clone <url>

Clona un repositorio remoto en local

Inicio y clonacionseguro
Ejemplo práctico
git clone https://github.com/user/repo.git
# en un directorio concreto
git clone <url> myfolder
# solo el último commit
git clone --depth 1 <url>

Staging y commit

5 comandos
git status

Muestra archivos modificados, preparados y sin seguimiento

Staging e commitseguro
Ejemplo práctico
git status
git status -s  # salida compacta
git add <file>

Agrega archivos al area de preparacion

Staging e commitseguro
Ejemplo práctico
git add index.html
git add .  # todos los cambios
git add -p  # interactivo, bloque por bloque
git commit -m "<msg>"

Confirma los cambios preparados con un mensaje

Staging e commitseguro
Ejemplo práctico
git commit -m "feat: add login page"
git commit -am "fix: typo"  # preparar y confirmar archivos seguidos
git commit --amend

Edita el ultimo commit, su mensaje o su contenido

Staging e commitprecaución

Sustituye el último commit. Coordina el cambio si ya está publicado.

Ejemplo práctico
git commit --amend -m "new message"
# añadir archivos olvidados
git add file.txt && git commit --amend --no-edit
git rm --cached <file>

Elimina el archivo del índice de Git; conserva el archivo local. Confirma para dejar de seguirlo.

Staging e commitprecaución

El próximo commit elimina este archivo del repositorio; conserva la copia local.

Ejemplo práctico
git rm --cached secret.env

Stash

6 comandos
git stash

Guarda cambios no confirmados en stash

Stashseguro
Ejemplo práctico
git stash
git stash push -m "wip: login form"
git stash list

Lista todos los stashes

Stashseguro
Ejemplo práctico
git stash list
git stash pop

Aplica un stash y lo elimina solo si la aplicación tiene éxito

Stashprecaución

Comprueba los conflictos. Git conserva el stash si la aplicación falla.

Ejemplo práctico
git stash pop
git stash pop stash@{2}
git stash apply [stash@{n}]

Aplica un stash sin eliminarlo

Stashseguro
Ejemplo práctico
git stash apply stash@{1}
git stash drop [stash@{n}]

Elimina un stash concreto

Stashprecaución

Elimina el stash seleccionado. No se garantiza su recuperación.

Ejemplo práctico
git stash drop stash@{0}
git stash branch <branch>

Crea una rama desde un stash y lo aplica

Stashseguro
Ejemplo práctico
git stash branch feature/login stash@{0}

Ramas y merge

7 comandos
git branch

Lista ramas locales; -a incluye remotas

Ramas y mergeseguro
Ejemplo práctico
git branch
git branch -a
git switch -c <name>

Crea una rama nueva y cambia a ella

Ramas y mergeseguro
Ejemplo práctico
git switch -c feature/auth
# sintaxis anterior
git checkout -b feature/auth
git switch <branch>

Cambia a una rama existente

Ramas y mergeseguro
Ejemplo práctico
git switch main
git switch -  # rama anterior
git merge <branch>

Fusiona una rama en la rama actual

Ramas y mergeseguro
Ejemplo práctico
git switch main
git merge feature/auth
git merge --no-ff feature/auth  # conservar commits de fusión
git rebase <branch>

Reubica el historial de la rama sobre una nueva base

Ramas y mergeprecaución

Reescribe el historial. Coordina el rebase de una rama compartida.

Ejemplo práctico
git switch feature/auth
git rebase main
git rebase -i HEAD~3  # interactivo: combinar o reordenar
git cherry-pick <hash>

Aplica un commit concreto a la rama actual

Ramas y mergeseguro
Ejemplo práctico
git cherry-pick a3f1c2e
git cherry-pick a3f1c2e^..b7d9e0f  # intervalo de commits
git branch -d <branch>

Elimina una rama solo si ya esta fusionada

Ramas y mergeseguro
Ejemplo práctico
git branch -d feature/auth
git branch -D feature/auth  # eliminación forzada

Remote

5 comandos
git push --force-with-lease

Force push mas seguro; falla si el remoto tiene commits nuevos

Remoteprecaución

Reescribe el historial remoto. Verifica la rama y el estado remoto esperado.

Ejemplo práctico
git push --force-with-lease

Historial y logs

4 comandos
git log --oneline --graph

Historial compacto con grafico de ramas

History e logseguro
Ejemplo práctico
git log --oneline --graph --decorate
git log -5 --oneline  # últimos 5 commits
git log -S "<string>"

Encuentra commits que agregan o eliminan una cadena

History e logseguro
Ejemplo práctico
git log -S "apiKey" --oneline
git blame <file>

Muestra quien modifico por ultima vez cada linea

History e logseguro
Ejemplo práctico
git blame src/main.py
git blame -L 10,20 src/main.py

Deshacer seguro

5 comandos
git restore <file>

Descarta cambios locales no preparados

Undo sicuroprecaución

Descarta cambios sin preparar del archivo. Git podría no recuperarlos.

Ejemplo práctico
git restore index.html
git restore .  # todos los archivos
git reset HEAD~1

Deshace el ultimo commit manteniendo los cambios

Undo sicuroprecaución

El reset mixed conserva archivos pero limpia la preparación. --hard descarta también cambios seguidos.

Ejemplo práctico
git reset --soft HEAD~1  # mantener cambios preparados
git reset HEAD~1  # quitar de preparación, conservar archivos
git reset --hard HEAD~1  # DESTRUYE los cambios locales
git clean -fd

Elimina archivos y directorios sin seguimiento; irreversible

Undo sicuroprecaución

Elimina definitivamente archivos y directorios sin seguimiento. Revisa antes con git clean -nd.

Ejemplo práctico
git clean -fdn  # vista previa
git clean -fd

Diff

3 comandos
git diff

Cambios no preparados

Diffseguro
Ejemplo práctico
git diff
git diff src/main.py
git diff --staged

Cambios preparados listos para commit

Diffseguro
Ejemplo práctico
git diff --staged
git diff <branch1> <branch2>

Compara dos ramas

Diffseguro
Ejemplo práctico
git diff main feature/auth
git diff --name-only main feature/auth

Configuracion

4 comandos
git config --global user.name "<name>"

Define el nombre de usuario global

Configuracionseguro
Ejemplo práctico
git config --global user.name "Enzo"
git config --global user.email "<email>"

Define el email de usuario global

Configuracionseguro
Ejemplo práctico
git config --global user.email "enzo@example.com"
git config --global alias.<name> "<cmd>"

Crea un alias para un comando

Configuracionseguro
Ejemplo práctico
# git lg = historial gráfico
git config --global alias.lg "log --oneline --graph --decorate"
git config --list

Muestra toda la configuracion activa

Configuracionseguro
Ejemplo práctico
git config --list --show-origin

Cómo usar esta cheat sheet de Git

¿Cómo quito un archivo de preparación sin perder cambios?

Usa git restore --staged <file>. Para dejar de seguirlo conservando la copia local, usa git rm --cached <file> y confirma su eliminación del índice.

¿Puedo imprimir la hoja en PDF?

Usa Imprimir PDF. La versión imprimible incluye todos los comandos y ejemplos, incluso en secciones ocultas por la búsqueda.

¿Puedo usarla en local?

Sí. Sirve los archivos estáticos con un servidor HTTP local. Búsqueda, filtros y copia funcionan en el navegador; la prueba Regex necesita HTTP con workers permitidos.