bash

Aliases esenciales de Git para tu productividad diaria

Los mejores alias de Git para acelerar tu flujo de trabajo diario. Desde alias básicos hasta avanzados con formato personalizado.

3 min
2 jul

Alias básicos

git config --global alias.st status
git config --global alias.ci commit
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.df diff
git config --global alias.dfc 'diff --cached'

Uso: git st en vez de git status, git ci -m "msg" en vez de git commit.

Alias de log

git config --global alias.lg "log --graph --oneline --all --decorate"
git config --global alias.lgd "log --graph --pretty=format:'%C(yellow)%h%Creset %C(blue)%ad%Creset %s %C(green)(%an)%Creset' --date=short"
git config --global alias.lgs "log --stat --summary"
git config --global alias.lol "log --oneline --graph"
git config --global alias.tree "log --graph --oneline --all --decorate --simplify-by-decoration"

Alias de commit

git config --global alias.amend "commit --amend --no-edit"
git config --global alias.undo "reset --soft HEAD~1"
git config --global alias.redo "commit -c ORIG_HEAD"
git config --global alias.fixup "!git add -A && git commit --fixup"
git config --global alias.squash "rebase -i --autosquash"

Alias de ramas

git config --global alias.merged "branch --merged"
git config --global alias.unmerged "branch --no-merged"
git config --global alias.cleanup "branch --merged | grep -v \"\\*\" | xargs -n 1 git branch -d"
git config --global alias.rename "branch -m"
git config --global alias.delete "branch -D"

Alias de stash

git config --global alias.sh stash
git config --global alias.shp "stash pop"
git config --global alias.shs "stash save"
git config --global alias.shl "stash list"

Alias de remoto

git config --global alias.publish "!git push -u origin $(git branch --show-current)"
git config --global alias.unpublish "!git push origin :$(git branch --show-current)"
git config --global alias.sync "!git fetch upstream && git rebase upstream/main"

Alias de búsqueda

git config --global alias.find "!git log --oneline --grep"
git config --global alias.grep "grep -n"
git config --global alias.track "log --oneline --graph --all"

El archivo completo (~/.gitconfig)

[alias]
  # Status y commit
  st = status
  ci = commit
  co = checkout
  br = branch
  df = diff
  dfc = diff --cached
  amend = commit --amend --no-edit
  undo = reset --soft HEAD~1

  # Log
  lg = log --graph --oneline --all --decorate
  lgd = log --graph --pretty=format:'%C(yellow)%h%Creset %C(blue)%ad%Creset %s %C(green)(%an)%Creset' --date=short
  lol = log --oneline --graph
  tree = log --graph --oneline --all --decorate --simplify-by-decoration

  # Ramas
  merged = branch --merged
  unmerged = branch --no-merged
  cleanup = !git branch --merged | grep -v \"\\*\" | xargs -n 1 git branch -d
  delete = branch -D

  # Remoto
  publish = !git push -u origin $(git branch --show-current)
  sync = !git fetch upstream && git rebase upstream/main

  # Stash
  sh = stash
  shp = stash pop
  shl = stash list

  # Búsqueda
  find = !git log --oneline --grep
  today = log --oneline --since="midnight"

Agrega estos alias hoy y multiplica tu velocidad en Git.

Preguntas Frecuentes

¿Dónde se guardan los alias de Git?

Los alias se guardan en ~/.gitconfig en la sección [alias]. Puedes editarlos directamente o con git config --global alias.<nombre> '<comando>'.

¿Cómo crear un alias de Git con argumentos?

Los alias de Git no aceptan argumentos directamente. Para alias con argumentos, usa una función shell: git config --global alias.exec '!f() { git log --oneline $1; }; f'. El prefijo ! ejecuta comandos shell.

¡Código copiado!