Cheat Sheet Git - Comandos Esenciales

principiante | 10 min de lectura | 2024.12.15

Configuración Inicial

# Configurar nombre de usuario
git config --global user.name "Tu Nombre"

# Configurar email
git config --global user.email "tu@email.com"

# Ver configuraciones
git config --list

Comandos Básicos

Inicializar y Clonar

# Inicializar nuevo repositorio
git init

# Clonar repositorio existente
git clone <url>

# Clonar rama específica
git clone -b <branch> <url>

Cambios y Commits

# Ver estado
git status

# Agregar archivo al staging
git add <archivo>

# Agregar todos los archivos
git add .

# Hacer commit
git commit -m "mensaje del commit"

# Commit con add automático
git commit -am "mensaje"

Ramas

# Listar ramas
git branch

# Crear nueva rama
git branch <nombre>

# Cambiar a rama
git checkout <branch>

# Crear y cambiar a nueva rama
git checkout -b <nueva-rama>

# Eliminar rama
git branch -d <branch>

Merge y Rebase

# Merge de rama
git merge <branch>

# Rebase
git rebase <branch>

# Resolver conflictos y continuar
git add .
git rebase --continue

Remoto

# Ver remotos
git remote -v

# Agregar remoto
git remote add origin <url>

# Push a remoto
git push origin <branch>

# Pull del remoto
git pull origin <branch>

# Fetch cambios
git fetch

Historial

# Ver log
git log

# Log resumido
git log --oneline

# Log gráfico
git log --graph --oneline

# Ver cambios de un commit
git show <commit>

Deshacer Cambios

# Descartar cambios locales
git checkout -- <archivo>

# Unstage archivo
git reset HEAD <archivo>

# Revertir último commit (manteniendo cambios)
git reset --soft HEAD~1

# Revertir último commit (descartando cambios)
git reset --hard HEAD~1

Consejos Útiles

# Crear alias
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit

# Ver diferencias
git diff

# Stash cambios temporalmente
git stash
git stash pop

Solución de Problemas

SituaciónSolución
Mensaje de commit incorrectogit commit --amend -m "nuevo mensaje"
Commit hecho por errorgit reset --soft HEAD~1 para deshacer
Conflicto de mergeEditar archivos → git addgit commit
Push rechazadogit pull --rebase después push nuevamente
Restaurar archivo específicogit checkout <commit> -- <archivo>

Flujo de Desarrollo con Ramas

# Flujo de desarrollo de feature
git checkout -b feature/autenticacion     # Crear rama
# ... trabajo de desarrollo ...
git add . && git commit -m "feat: implementar autenticación"
git push -u origin feature/autenticacion  # Push
# Crear PR, revisar, después merge
git checkout main && git pull             # Actualizar main
git branch -d feature/autenticacion       # Eliminar rama local

Artículos Relacionados

← Volver a la lista