Por Anónimo (no verificado) , 29 Abril 2026

Abreviaturas integradas

Más allá de los alias, Git tiene una serie de notaciones abreviadas integradas que ahorran escritura.

Relativos a HEAD

HEAD          # commit actual
HEAD~         # uno antes
HEAD~1        # también uno antes
HEAD~5        # cinco antes
HEAD^         # primer padre de HEAD
HEAD^^        # padre del padre
HEAD^2        # segundo padre (merge)
HEAD^{tree}   # el objeto tree de HEAD

Referencias del reflog

HEAD@{1}                # HEAD antes de su último movimiento
HEAD@{yesterday}        # HEAD a partir de ayer
HEAD@{2.hours.ago}
main@{push}

Abreviatura de branch

git checkout -          # branch anterior (como cd -)
git switch -
git merge @{u}           # mergear desde upstream
git rebase @{u}
git push HEAD

Abreviatura de SHA

git show abc          # funciona si "abc" es único
git checkout abc1234
git config --global core.abbrev 12

Abreviatura de rangos

main..feature       # commits en feature no en main
main...feature      # diferencia simétrica
feature^@           # todos los padres de feature
feature^!            # feature mismo, excluyendo padres

Abreviatura de pathspec

git add :/                    # raíz del repo
git checkout -- :/some-path
git diff -- '*.js'
git diff -- ':!vendor/'

El separador --

git checkout main          # branch
git checkout -- main       # ruta
git diff master file       # ambiguo
git diff master -- file    # inequívocamente una ruta

Flags útiles de un carácter

git commit -a            # añadir archivos rastreados y commitear
git commit -am "msg"
git pull -r              # rebase en lugar de merge
git push -u              # establecer upstream
git log -p
git log -S 'string'
git log -G 'regex'

Variables de entorno útiles

GIT_EDITOR=vim git commit
GIT_AUTHOR_DATE='2024-01-01T12:00:00' git commit -m "backdated"
GIT_PAGER=cat git log
GIT_TRACE=1 git fetch

Abreviaturas de configuración

git config --global -e
git config -l
git config --get-regexp '^alias\\.'