Cuando trabajamos con GIT muchas veces escribimos comandos demasiado largos una y otra vez, comandos que muchas veces son difíciles de recordar y complicados de escribir. En GIT podemos hacer uso de los alias para simplificar y agilizar nuestro manejo de GIT.
Veamos un ejemplo con los siguientes comandos:
git status
git push origin master
git log --pretty=format:'%h - %an, %ar - %s' –graph
Estos comandos podemos abreviarlos de forma que para "git status" usaríamos "git s", para "git push origin master" usaríamos "git pm" y para "git log --pretty=format:'%h - %an, %ar - %s' –graph" podríamos usar "git l".
Es muchísimo mas cómodo y rápido usar "s", "pm" o "l" una y otra vez que tener que usar las sentencias completas.
¿Cómo hacemos esto? Tenemos dos formas de configurar nuestros alias:
Utilizando el comando git config:
$ git config --global alias.s status
$ git config --global alias.pm push origin master
$ git config --global alias.l log --pretty=format:'%h - %an, %ar - %s' –graph
Editando el fichero de configuración .gitconfig:
Este fichero en está dentro de la carpeta de nuestro usuario, y está estructurado en diferentes apartados de configuración, a nosotros nos interesa la sección [alias]
Para definir nuestros alias en este fichero simplemente buscamos la sección [alias], si no existe la creamos nosotros mismos y a continuación definimos nuestros alias.
$ cat ~/.gitconfig
[alias]
s = status
pm = push origin master
l = log --pretty=format:'%h - %an, %ar : %s' --graph
Como podeis ver, personalizar nuestros comandos git es muy sencillo.
Os dejo un grupo de alias de git para poder listar el log del repositorio viendo el grafo de commits.
l = log --graph --pretty=format:'%C(yellow)%h%Creset%C(blue)%d%Creset %C(white bold)%s%Creset %C(white dim)(by %an %ar)%Creset'
ll = !git l --all
ld = log --pretty=format:"%C(yellow)%h\\ %C(green)%ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short --graph
ls = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=relative
Los anteriores alias junto con una la configuración de colores propia la podéis descargar del siguiente gist: .gitconfig
Espero que os sea de utilidad :)