Comandos esenciales de Git para control de versiones: ramificación, confirmación, fusión y colaboración.
Configura Git y establece tu identidad
# Establece tu nombre y correo electrónico
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
# Verifica tu configuración
git config --list
# Define el nombre de la rama predeterminada
git config --global init.defaultBranch main# Establece el editor predeterminado
git config --global core.editor "code --wait"
# Habilita la salida con colores
git config --global color.ui auto
# Configura el asistente de credenciales (Windows)
git config --global credential.helper wincredInicializa o clona repositorios Git
# Inicializa un nuevo repositorio
git init
# Inicializa con un nombre de rama específico
git init -b main
# Clona un repositorio existente
git clone https://github.com/user/repo.git
# Clona en un directorio específico
git clone https://github.com/user/repo.git my-folderComandos comunes para el uso diario de Git
# Verifica el estado del repositorio
git status
# Añade archivos al área de preparación
git add file.txt
git add . # Añade todos los archivos
git add *.js # Añade todos los archivos JavaScript
# Confirma los cambios
git commit -m "Commit message"
git commit -am "Message" # Añade y confirma archivos rastreados
# Muestra el historial de confirmaciones
git log
git log --oneline # Vista compacta
git log --graph # Muestra el gráfico de ramasCrea y gestiona ramas
# Lista las ramas
git branch # Ramas locales
git branch -a # Todas las ramas (locales + remotas)
# Crea una nueva rama
git branch feature-branch
# Cambia a una rama
git checkout feature-branch
git switch feature-branch # Alternativa moderna
# Crea y cambia a una nueva rama
git checkout -b feature-branch
git switch -c feature-branch# Fusiona una rama en la rama actual
git merge feature-branch
# Elimina una rama
git branch -d feature-branch # Eliminación segura
git branch -D feature-branch # Eliminación forzada
# Renombra una rama
git branch -m old-name new-nameTrabaja con repositorios remotos
# Lista los repositorios remotos
git remote -v
# Añade un repositorio remoto
git remote add origin https://github.com/user/repo.git
# Obtén cambios del remoto
git fetch origin
# Extrae cambios del remoto
git pull origin main
# Envía cambios al remoto
git push origin main
git push -u origin main # Define upstream y envía# Elimina un remoto
git remote remove origin
# Renombra un remoto
git remote rename old-name new-name
# Cambia la URL del remoto
git remote set-url origin https://github.com/user/new-repo.gitRevertir o restablecer cambios
# Descarta cambios en el directorio de trabajo
git restore file.txt
git checkout -- file.txt # Método antiguo
# Desprepara archivos
git restore --staged file.txt
git reset HEAD file.txt # Método antiguo
# Modifica la última confirmación
git commit --amend -m "New message"
# Revierte una confirmación (crea una nueva confirmación)
git revert <commit-hash># Restablece al commit anterior (¡cuidado!)
git reset --soft HEAD~1 # Mantiene los cambios preparados
git reset --mixed HEAD~1 # Mantiene los cambios sin preparar
git reset --hard HEAD~1 # Descarta todos los cambios
# Restablece a un commit específico
git reset --hard <commit-hash>Guarda cambios temporalmente
# Almacena los cambios actuales
git stash
git stash save "Work in progress"
# Lista los almacenes temporales
git stash list
# Aplica el almacén
git stash apply # Mantiene el almacén
git stash pop # Aplica y elimina el almacén
# Aplica un almacén específico
git stash apply stash@{0}
# Elimina el almacén
git stash drop stash@{0}
git stash clear # Elimina todos los almacenesInspecciona diferencias e historial
# Muestra cambios no preparados
git diff
# Muestra cambios preparados
git diff --staged
git diff --cached
# Muestra cambios entre confirmaciones
git diff commit1 commit2
# Muestra cambios en un archivo específico
git diff file.txt# Muestra detalles de la confirmación
git show <commit-hash>
# Muestra el archivo en una confirmación específica
git show <commit-hash>:file.txt
# Muestra quién cambió qué en un archivo
git blame file.txtComandos Git adicionales útiles
# Limpia archivos no rastreados
git clean -n # Simulación
git clean -f # Elimina archivos
git clean -fd # Elimina archivos y directorios
# Busca en el repositorio
git grep "search term"
# Muestra quién hizo cambios en un archivo
git log --follow file.txt
# Crea un alias
git config --global alias.st status
git config --global alias.co checkout# Ignorar cambios del archivo
git update-index --assume-unchanged file.txt
# Rastrear cambios del archivo nuevamente
git update-index --no-assume-unchanged file.txt
# Mostrar archivos rastreados
git ls-files