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:
gss - Verificación rápida del estadogaa - Agregar todos los cambiosgcmsg "mensaje" - Agregar todo y hacer commit con mensajegp - Empujar cambiosgco nombre-rama - Cambiar de ramagcb nueva-rama - Crear y cambiar a nueva ramaglog - Log de git hermosogsta - Guardar cambios rápidamente en stashgstp - Recuperar cambios del stashgl - 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:
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#
- Usa
gss para un formato de estado corto que es más fácil de leer - Combina alias:
gaa && gcmsg "Arreglo rápido" && gp para commits rápidos - Usa
gsta y gstp para cambio rápido de contexto glog vs glol - prueba ambos para ver cuál formato prefieres- Aprende
grbi para rebase interactivo - es un cambio de juego - 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.