W3docs

git alias

Información sobre los alias de Git: cómo crearlos y utilizarlos para definir comandos personalizados de Git.

gitalias

¿Qué es un alias de Git?

Un alias de Git es un atajo personalizado que asigna un nombre corto y fácil de recordar a un comando de Git más largo (o incluso a una cadena de comandos). Una vez definido, escribir git co puede ejecutar git checkout, ahorrando pulsaciones de teclas y reduciendo errores tipográficos en comandos que se usan decenas de veces al día.

No existe un comando git alias dedicado. En cambio, los alias se almacenan como entradas de configuración ordinarias, por lo que se crean con el comando git config o editando directamente un archivo de configuración de Git. Al ser simples configuraciones, los alias respetan las reglas de ámbito habituales de Git: defínelos globalmente (en ~/.gitconfig) para que todos los repositorios puedan usarlos, o localmente (en el .git/config de un repositorio concreto) cuando un alias solo tenga sentido en ese proyecto.

Esta página cubre ambas formas de crear alias, cómo verificarlos, cómo definir alias para comandos que aceptan argumentos, cómo ejecutar comandos de shell externos desde un alias y algunos alias que vale la pena añadir hoy mismo.

Crear alias con git config

La forma más común de añadir un alias es el comando git config con la opción --global, que escribe en ~/.gitconfig para que el alias esté disponible en todos los repositorios:

git config --global alias.co checkout

La forma general es git config --global alias.<atajo> "<comando>". El ejemplo anterior permite ejecutar git co en cualquier lugar donde se espera git checkout. Omite --global para limitar el alias al repositorio actual.

Puedes confirmar que el alias se guardó con git config --list, que imprime todos los valores de configuración activos:

git config --list

La nueva entrada aparece en la salida como:

alias.co=checkout

A partir de ahora el alias se comporta exactamente como si hubieras escrito el comando completo. Cualquier argumento adicional que pases se reenvía al comando subyacente:

git co -b new-feature

Esto ejecuta git checkout -b new-feature, creando y cambiando a una rama llamada new-feature.

Crear alias editando .gitconfig

Dado que los alias son configuración simple, también puedes añadirlos editando el archivo de configuración directamente. Abre ~/.gitconfig (global) o el .git/config de un repositorio (local) y añade una sección [alias]:

[alias]
co = checkout
ci = commit
st = status

Cada línea bajo [alias] tiene el formato atajo = comando. Esto es exactamente lo que produce git config --global alias.co checkout, por lo que ambos métodos son intercambiables: editar el archivo es práctico cuando quieres añadir varios alias a la vez.

Alias para comandos con argumentos

Los alias funcionan bien para comandos que siempre usan las mismas opciones. Por ejemplo, un log en una línea con decoración:

git config --global alias.lg "log --oneline --graph --decorate --all"

Ejecutar git lg imprime entonces un historial compacto con gráfico. Consulta git log para ver qué hace cada opción.

Consejo

Encierra el comando entre comillas cuando contenga espacios u opciones, de lo contrario el shell pasará las palabras adicionales a git config en lugar de almacenarlas como parte del alias.

Ejecutar comandos de shell desde un alias

Para ejecutar un programa externo (que no sea un subcomando de Git), añade el prefijo ! al valor del alias. Git ejecutará entonces el resto en un shell:

git config --global alias.visual "!gitk"

Así es también como se combinan varios pasos. El alias siguiente prepara todos los cambios y hace el commit en un solo paso, donde $1 es el mensaje de commit que se pasa:

git config --global alias.ac '!f() { git add -A && git commit -m "$1"; }; f'

Ahora git ac "fix typo" ejecuta git add -A seguido de git commit -m "fix typo".

Alias de Git útiles

Aquí hay algunos alias que acortan los comandos del día a día. Añádelos con git config --global alias.<nombre> "<comando>":

AliasSe expande aDescripción
co = checkoutgit checkoutCambia de rama o restaura archivos.
cob = checkout -bgit checkout -bCrea y cambia a una nueva rama.
ci = commitgit commitRegistra los cambios preparados. Consulta git commit.
st = status -sbgit status -sbMuestra un estado breve con información de rama.
f = fetch -pgit fetch -pObtiene cambios y elimina las ramas de seguimiento remotas obsoletas.
p = pushgit pushEnvía cambios a un remoto.
bd = branch -dgit branch -dElimina una rama solo si está fusionada.
ba = branch -agit branch -aLista las ramas locales y de seguimiento remoto.
bD = branch -Dgit branch -DElimina una rama forzosamente.
dc = diff --cachedgit diff --cachedMuestra los cambios preparados.

Práctica

Práctica
¿Cuál es el método correcto para crear un alias de Git para el comando 'commit' usando el comando 'git config'?
¿Cuál es el método correcto para crear un alias de Git para el comando 'commit' usando el comando 'git config'?
Was this page helpful?