Herramientas 12 min

Git Cheat Sheet

Comandos esenciales y flujos prácticos para trabajar con Git en proyectos reales.

  • Git
  • CLI
  • Productividad

🚀 Git Cheat Sheet - Guía Visual y Práctica

Tu mapa interactivo para dominar Git sin dolor
Desde conceptos básicos hasta flujos avanzados, con ejemplos claros y tips profesionales.


⚙️ Configuración Esencial (Primera Vez)

# Identidad
git config --global user.name "Tu Nombre"
git config --global user.email "tu@email.com"

# Configuraciones útiles
git config --global core.editor "code --wait"  # Usa VSCode
git config --global init.defaultBranch main    # Rama principal por defecto

🔍 Ver tu configuración:

git config --list

🔄 Flujo Básico de Trabajo

📍 1. Estado del Proyecto

git status  # Muestra archivos modificados/creados/eliminados

➕ 2. Añadir Cambios al Stage

git add archivo.txt      # Añade un archivo específico
git add .                # Añade TODOS los cambios
git add -p               # Modo interactivo (elige qué cambios añadir)

🎯 ¿Qué es el Stage?
Es el “área de preparación” donde seleccionas qué cambios irán en el próximo commit.

💾 3. Guardar Cambios (Commit)

git commit -m "Mensaje claro y descriptivo"
git commit -am "Commit rápido (añade y commitea archivos trackeados)"

☁️ 4. Sincronizar con Remoto

git push origin main     # Enviar tus commits al servidor
git pull origin main     # Traer cambios del servidor

🧳 Stash: Tu Salvavidas Temporal

Cuando necesitas cambiar de rama pero no quieres commitear:

git stash                     # Guarda cambios temporalmente
git stash -u                  # Incluye archivos no trackeados
git stash save "Nombre"       # Guarda con descripción

Recuperar cambios:

git stash pop                 # Recupera y ELIMINA el último stash
git stash apply               # Recupera pero MANTIENE el stash

Gestionar múltiples stashes:

git stash list                # Ver todos los stashes
git stash drop stash@{0}      # Eliminar stash específico
git stash clear               # Borrar TODOS los stashes

🌿 Manejo de Ramas (Branches)

Crear y Cambiar entre Ramas

git branch                    # Lista todas las ramas
git checkout -b nueva-rama    # Crea y cambia a nueva rama
git checkout main             # Volver a la rama principal

🔀 Tres Formas de Integrar Cambios entre Ramas

1. Merge (Fusión)

git checkout dev
git merge main

Ventaja: Mantiene historial completo
⚠️ Resultado: Crea un commit de merge

2. Rebase (Reescritura)

git checkout dev
git rebase main

Ventaja: Historial lineal y limpio
⚠️ Precaución: No usar en ramas públicas

3. Cherry-Pick (Selección)

git checkout main
git cherry-pick abc123       # Trae UN commit específico

💡 Perfecto para: Hotfixes o cambios puntuales


📦 Empaquetar tu Proyecto

git archive -o proyecto.zip HEAD   # Crea ZIP del estado actual

🔹 Solo incluye archivos commiteados (no cambios pendientes)


🕵️‍♂️ Inspeccionar Cambios

git diff                   # Ver cambios no añadidos
git diff --staged          # Ver cambios en stage
git log --oneline --graph  # Historial compacto con gráfico
git show abc123            # Detalles de un commit específico

⏪ Deshacer Cosas

git restore archivo.txt          # Descarta cambios no añadidos
git restore --staged archivo.txt # Saca del stage (pero mantiene cambios)
git commit --amend               # Corrige el último commit

🎯 Comandos Clave Resumidos

ComandoAcciónUso Típico
git statusVer estado actualAntes de cualquier operación
git add -pAñadir cambios interactivamentePara commits limpios y organizados
git commit -amAdd + commit rápidoCambios menores en archivos conocidos
git stash popRecuperar cambios temporalesAl volver a una tarea interrumpida
git log --onelineVer historial simplificadoBuscar un commit específico

📅 Ritmo de Trabajo Recomendado

  1. Empieza fresco:
    git pull origin main
  2. Trabaja en tu feature:
    git checkout -b mi-feature
  3. Guarda progreso:
    git add -p
    git commit -m "Mensaje descriptivo"
  4. Sincroniza:
    git push origin mi-feature
  5. Mergea cuando esté listo (vía PR/MR en GitHub/GitLab)

💡 Consejos Pro

  • Commits atómicos: Cada commit debe ser un cambio lógico único
  • Mensajes claros: Usa el formato: “Tipo: Descripción” (ej: “Feat: Add user login”)
  • .gitignore: Configúralo bien para no trackear archivos innecesarios
  • GUI opcional: Usa GitKraken o GitHub Desktop para visualizar mejor el historial

🚀 ¡Ahora estás listo para trabajar como un profesional con Git!
¿Dudas? Recuerda que git help <comando> es tu amigo.