Si estás usando Oh My Zsh, tienes acceso a un conjunto poderoso de alias de git que pueden acelerar significativamente tu flujo de trabajo de desarrollo. El plugin de git viene preinstalado y proporciona docenas de atajos para operaciones comunes de git.

Alias Esenciales de Git

Aquí están los alias de git más útiles que transformarán tu flujo de trabajo diario:

Operaciones Básicas

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# Estado e información
gst     # git status
gss     # git status --short
gsb     # git status --short --branch
gl      # git pull
gp      # git push
ga      # git add
gaa     # git add --all
gc      # git commit --verbose
gcmsg   # git commit --message
gca     # git commit --verbose --all
gcam    # git commit --all --message

# Operaciones de rama
gb      # git branch
gba     # git branch --all
gbd     # git branch --delete
gcb     # git checkout -b
gco     # git checkout
gcm     # git checkout $(git_main_branch)
gcd     # git checkout $(git_develop_branch)

Flujo de Trabajo Avanzado

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Registro e historial
glog    # git log --oneline --decorate --graph
gloga   # git log --oneline --decorate --graph --all
glol    # git log --graph --pretty=format con colores
glola   # git log --graph --pretty=format con colores --all
glo     # git log --oneline --decorate
glg     # git log --stat
glgp    # git log --stat --patch

# Stashing
gsta    # git stash push (o save en git más antiguo)
gstp    # git stash pop
gsts    # git stash show --patch
gstd    # git stash drop
gstl    # git stash list
gstaa   # git stash apply
gstc    # git stash clear

# Merge y rebase
gm      # git merge
gma     # git merge --abort
gmc     # git merge --continue
grb     # git rebase
grba    # git rebase --abort
grbc    # git rebase --continue
grbi    # git rebase --interactive

Operaciones Remotas

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# Gestión de remotos
gr      # git remote
grv     # git remote --verbose
gra     # git remote add
grrm    # git remote remove
grmv    # git remote rename
grset   # git remote set-url

# Fetch y pull
gf      # git fetch
gfa     # git fetch --all --tags --prune
gfo     # git fetch origin
gpr     # git pull --rebase
gpra    # git pull --rebase --autostash
gpu     # git push upstream
gpv     # git push --verbose

Diff y Show

1
2
3
4
5
6
7
# Operaciones de diff
gd      # git diff
gdca    # git diff --cached
gds     # git diff --staged
gdw     # git diff --word-diff
gdt     # git diff-tree --no-commit-id --name-only -r
gsh     # git show

Mis Alias Más Utilizados

Basándome en el trabajo diario de desarrollo, aquí están los alias que uso con más frecuencia:

  1. gss - Verificación rápida del estado
  2. gaa - Agregar todos los cambios
  3. gcmsg "mensaje" - Agregar todo y hacer commit con mensaje
  4. gp - Empujar cambios
  5. gco nombre-rama - Cambiar de rama
  6. gcb nueva-rama - Crear y cambiar a nueva rama
  7. glog - Log de git hermoso
  8. gsta - Guardar cambios rápidamente en stash
  9. gstp - Recuperar cambios del stash
  10. gl - Obtener últimos cambios

Ejemplos de Flujo de Trabajo Común

Comenzar una nueva característica:

1
2
3
gcm               # Cambiar a rama main
gl                # Obtener últimos cambios
gcb feature-xyz   # Crear y cambiar a nueva rama

Flujo de trabajo diario de commits:

1
2
3
4
gss                     # Verificar estado
gaa                     # Agregar todos los cambios
gcmsg "Agregar nueva funcionalidad" # Commit con mensaje
gp                      # Empujar al remoto

Revisar cambios:

1
2
3
gd                # Mostrar cambios no preparados
gdca              # Mostrar cambios preparados/en cache
glog              # Revisar historial de commits

Trabajar con stash:

1
2
3
4
5
gsta              # Guardar cambios actuales en stash
gco otra-rama     # Cambiar a otra rama
# ... hacer algún trabajo
gco rama-original # Regresar a la rama original
gstp              # Recuperar cambios del stash

Habilitando el Plugin de Git

Si no tienes el plugin de git habilitado, agrégalo a tu ~/.zshrc:

1
plugins=(git)

Alias Avanzados

Operaciones de Reset y Restore

1
2
3
4
5
grh     # git reset
grhh    # git reset --hard
grhs    # git reset --soft
grs     # git restore
grst    # git restore --staged

Consejos Pro

  1. Usa gss para un formato de estado corto que es más fácil de leer
  2. Combina alias: gaa && gcmsg "Arreglo rápido" && gp para commits rápidos
  3. Usa gsta y gstp para cambio rápido de contexto
  4. glog vs glol - prueba ambos para ver cuál formato prefieres
  5. Aprende grbi para rebase interactivo - es un cambio de juego
  6. Usa gpr en lugar de gl cuando quieras hacer rebase en lugar de merge

Creando Alias Personalizados

También puedes crear tus propios alias en tu ~/.zshrc:

1
2
3
4
5
# Alias personalizados de git
alias gundo='git reset --soft HEAD~1'
alias gclean='git clean -fd'
alias gwip='git add -A && git commit -m "WIP"'
alias gfresh='git fetch --all && git reset --hard origin/$(git_current_branch)'

Rama Main vs Master

Oh My Zsh detecta inteligentemente si tu repositorio usa main o master como rama predeterminada. El alias gcm cambiará a cualquiera que esté configurada como tu rama principal.

Conclusión

Los alias de git de Oh My Zsh pueden mejorar dramáticamente tu velocidad de desarrollo. Comienza con los básicos (gst, gaa, gcam, gp) y gradualmente incorpora más alias avanzados en tu flujo de trabajo. Tu yo futuro te agradecerá el tiempo ahorrado!

Recuerda: la clave es la consistencia. Elige un conjunto de alias y úsalos regularmente hasta que se conviertan en memoria muscular.