Skip to content

Instantly share code, notes, and snippets.

@kevinacuna1
Last active October 26, 2025 01:54
Show Gist options
  • Select an option

  • Save kevinacuna1/0466dbd6e74dbf6dfa440329b4d1e7d2 to your computer and use it in GitHub Desktop.

Select an option

Save kevinacuna1/0466dbd6e74dbf6dfa440329b4d1e7d2 to your computer and use it in GitHub Desktop.
Guía rápida y visual de comandos Git esenciales para desarrolladores. Incluye configuración global, flujo de trabajo básico, alias personalizados, y comandos avanzados para ramas, stash, rebase y más. Ideal para referencia diaria y optimización de productividad en proyectos colaborativos.

🧠 Guía Visual de Comandos Git

Organizado por categorías para facilitar el acceso y comprensión. Ideal para desarrolladores que buscan eficiencia y claridad.


📚 Índice de Comandos Git

Acceso rápido por categoría. Ideal para desarrolladores que valoran eficiencia, claridad y estilo visual.


⚙️ Configuración Global

git config --global user.name "userName"
git config --global user.email "correo@correo.com"
git config --global -e
git config --global alias.s "status --short"
git config --global alias.lg "log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all"
git config --global color.ui true

🔹 Define identidad, alias útiles y colores para mejor legibilidad.


🚀 Inicializar Repositorio

🆕 Opción A: Crear un proyecto local y vincularlo a GitHub

git init
git remote add origin https://github.com/tu-usuario/tu-repositorio.git
git add .
git commit -m "Primer commit"
git push -u origin main

🔹 Usá este flujo si estás comenzando un proyecto desde cero en tu máquina local y querés vincularlo a un repositorio vacío en GitHub.

📥 Opción B: Clonar un repositorio existente desde GitHub

git clone https://github.com/tu-usuario/tu-repositorio.git
cd tu-repositorio
git add .
git commit -m "Actualización local"
git push origin main

🔹 Este flujo es útil si el repositorio ya existe en GitHub y querés traerlo a tu entorno local para continuar trabajando.

💡 Tip útil

  • Verificá la conexión con git remote -v.
  • Si renombrás el repositorio en GitHub, actualizá la URL local con:
    git remote set-url origin https://github.com/tuusuario/nuevo-nombre.git
  • El flag -u en el primer push vincula tu rama local con la remota para futuros git push:
    git push -u origin main

📥 Clonar Repositorio

git clone <url>

🔹 Copia un repositorio remoto a tu máquina local.


➕ Añadir Archivos

git add .
git add <archivo>
git add --all 
git add *.txt
git add docs/*.txt
git add docs/

🔹 Control granular sobre qué archivos incluir en el próximo commit.


📝 Realizar Commits

git commit -m "commitText"
git commit -a -m "commitText"
git commit -a 
git commit --amend -m "commitText"

🔹 Guarda cambios en el historial. --amend permite modificar el último commit.


✏️ Editar el Mensaje de un Commit Anterior

# 1. Ver el historial para identificar el commit
git lg

# 2. Iniciar rebase interactivo desde el commit anterior al que querés editar
git rebase -i <hash_del_commit>^

# Ejemplo:
git rebase -i f006683^

# 3. En el editor, reemplazá "pick" por "reword" en el commit que querés modificar
# Ejemplo:
reword f006683 Primero pasos con el proyecto

# 4. Guardá y cerrá el editor (en VS Code: Ctrl+S y cerrá la pestaña)

# 5. Git abrirá otro editor para que escribas el nuevo mensaje del commit
# Escribí el nuevo mensaje, guardá y cerrá

# 6. Finalizá el rebase
git rebase --continue

# 7. Si ya hiciste push, necesitás forzar el nuevo historial
git push --forcé

🔹 Ajustar mensajes antiguos para reflejar mejor la intención y mantener la historia del proyecto alineada.


📤 Subir Cambios

git push origin <branch>
git push --set-upstream origin <branch>
git push origin :<branch>         # Elimina rama remota
git push --tags
git log --oneline --stat
git log --oneline --graph

🔹 Sincroniza tu trabajo con el repositorio remoto.


🔍 Ver Diferencias

git diff 
git diff --staged

🔹 Compara cambios entre versiones o estados.


🧭 Reflog (Historial Interno)

git reflog    # Muestra todas las acciones recientes

🔹 Útil para recuperar commits perdidos o revertir errores.


🧹 Resetear Cambios

git reset <archivo>
git reset HEAD <archivo>
git reset --soft HEAD^
git reset --soft <commit_hash>
git reset --mixed <commit_hash>
git reset --hard HEAD^
git reset --hard <commit_hash>
git reset --hard HEAD^^
git reset --hard <commit_sha>
git log

🔹 Control total sobre qué conservar, deshacer o eliminar.


🌐 Remotos

git remote add origin <url>
git remote set-url origin <url>
git remote remove <name>
git remote -v
git remote add upstream <url>
git pull upstream master
git remote show origin
git remote prune origin

🔹 Administra conexiones con repositorios externos.


🌿 Ramas

git branch <nameBranch>
git branch
git branch -d <nameBranch>
git branch -D <nameBranch>
git checkout old-name
git branch -m new-name
git checkout master
git branch -m old-name new-name
git branch -a
git branch --list

🔹 Crea, elimina y renombra ramas locales/remotas.


🔖 Etiquetas (Tags)

git tag <tagName>
git tag
git tag -d <tagName>
git tag -a v1.0.0 -m "Versión 1.0.0 lista"
git tag -a v0.1.0 <commit_hash> -m "Versión Alpha"
git show v0.1.0

🔹 Marca versiones importantes del proyecto.


🧳 Stash (Guardar Cambios Temporales)

git stash
git stash save "stashName"
git stash list
git stash pop
git stash clear
git stash apply stash@{2}
git stash drop stash@{0}
git stash show stash@{0}
git stash list --stat

🔹 Guarda cambios sin comprometerlos, ideal para interrupciones.


🧬 Rebase

git rebase master
git rebase -i HEAD~4
git rebase --continue
git rebase --skip
git rebase --abort

🔹 Reorganiza commits para mantener un historial limpio.


🍴 Fork Workflow

git remote add upstream <url>
git fetch upstream
git merge upstream/master

🔹 Sincroniza tu fork con el repositorio original.


🔄 Checkout

git checkout -- .
git checkout -- <file>
git checkout -b <branch>
git checkout -b newlocalbranchname origin/branch-name
git checkout <nameBranch>

🔹 Cambia entre ramas o restaura archivos.


🧰 Comandos Útiles

echo "# PROYECTO-Clima" >> README.md
git --version / git -v
git --help / git -h
git --help config
git status / git s
git status --short
git status --short --branch / git status -sb
git log / git lg
git log --oneline
git log --oneline --decorate --all --graph
:wq!
:q!
git pull origin <nameBranch>
git merge <nameBranch>
git fetch
git rm <archivo>

🔹 Utilidades generales para flujo de trabajo y edición.


¡Listo, Kevin! Aquí tienes la sección actualizada con todos los alias recomendados integrados dentro del bloque bash, manteniendo la sintaxis clara y el estilo visual consistente:


🧪 Bonus: Alias Recomendados

# Estado compacto
git config --global alias.s "status --short"

# Historial visual completo
git config --global alias.lg "log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all"

# Historial resumido
git config --global alias.l "log --oneline --decorate"

# Último commit con estadísticas
git config --global alias.last "log -1 --stat"

# Añadir todos los cambios
git config --global alias.a "add ."

# Commit rápido
git config --global alias.c "commit -m"

# Ver ramas locales y remotas
git config --global alias.br "branch -a"

# Ver configuración actual
git config --global alias.conf "config --list"

# Lista detallada de stash
git config --global alias.stl "stash list --stat"

# Reflog con fecha legible
git config --global alias.rlog "reflog --date=iso"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment