En un artículo anterior ya vimos cómo crear alias en Git para aumentar nuestra productividad, pero podemos ir un paso más allá. En una serie de tutoriales hemos visto también cómo instalar ZSH y Oh My ZSH! en macOS, cómo instalar ZSH y Oh My ZSH! en GNU/Linux y cómo instalar ZSH y Oh My ZSH! en el subsistema Linux en Windows 10, así que ahora nos podemos centrar en las características que Oh My ZSH! tiene específicamente para aumentar nuestra productividad mientras utilizamos Git mediante la consola de comandos.
La mayoría de comandos que hemos utilizado a lo largo de este curso, algunos de ellos un poco largos, para ir haciendo las operaciones necesarias con Git, tienen su alternativa en forma de alias en Oh My ZSH! Esto no quiere decir que no haya que aprenderse los comandos completos, porque puede que en algún momento nos encontremos en un equipo que no tenga Oh My ZSH! instalado y entonces no sabríamos cómo utilizar Git, pero dando por hecho que en su mayoría los conocemos, es muy útil usar alias que permitan agilizar nuestras interacciones con la terminal para invertir el mínimo tiempo posible en esto y tener más tiempo para dedicarle a lo realmente importante: el desarrollo.
Listado completo de alias para Git
Una vez tenemos instalado Oh My ZSH! es muy sencillo obtener un listado de todos los alias que tenemos disponibles para su uso con la línea de comandos de Git:
$ alias | grep git
El comando alias
nos muestra por pantalla una lista con todos los alias que tenemos, y el comando grep
realiza una búsqueda de la palabra git dentro de esa lista de alias para finalmente mostrarnos sólo aquellas líneas que contienen la palabra git. Es recomendable usar este filtro porque Oh My ZSH! tiene un sinfín de alias y podemos volvernos locos buscando únicamente los que puedan interesarnos.
Los alias para Git más útiles en Oh My ZSH!
Para confeccionar esta lista, un tanto subjetiva de por sí, como cualquier otra lista recopilatoria, nos basaremos en los comandos Git que hemos ido utilizando hasta ahora y que podían ser quizá un poco difíciles de recordar. ¡Vamos allá!
- El más que frecuente
git status
se puede simplificar únicamente con ungst
. - Para añadir el archivo con nombre foo al stage para ser incluido en el próximo commit tenemos el comando
git add foo
y su alias es tan fácil comoga foo
. - Y si queríamos incluir todos los archivos a la vez usábamos el comando
git add .
, pues como es fácil de suponer su alias esgaa
(la última a es de all). - Cuando queremos hacer un commit con un mensaje utilizamos el comando
git commit -m "mensaje de commit"
, su simplificación esgcmsg "mensaje de commit"
. - Cuando modificamos localmente un archivo pero hemos metido la pata y queremos recuperar la última versión que tiene Git del archivo foo utilizamos el comando
git checkout -- foo
, y con los alias podemos utilizar tambiéngco -- foo
. - Y si nos hemos dado cuenta tarde, cuando ya hemos incluido el archivo en la cola de stage para incluirlo en el próximo commit con Git teníamos el comando
git reset HEAD foo
, y haciendo uso de estos alias tenemos también la posibilidad de usargrh foo
. - Para crear la rama foo que deriva de bar en Git hacíamos uso del comanfo
git checkout -b foo bar
y con estos alias también podemos utilizar el comandogcb foo bar
. - Si quisiéramos cambiar a la rama foo en Git utilizaríamos el comanfo
git checkout foo
y con los alias podemos simplificarlo aún más utilizando sólogco foo
. - Y como las ramas master y develop son tan frecuentemente utilizadas (más adelante veremos esto en las guías de estilo) existen también unos alias para poder hacer checkout directamente a estas ramas:
gcm
ygcd
respectivamente. - Si queremos hacer un merge de la rama foo en Git escribimos
git merge foo
y con estos alias podemos escribirgm foo
únicamente. - Y si finalmente queremos borrar la rama en Git basta con un
git branch -d foo
pero con los alias simplificamos agbd foo
. - Cuando tenemos un remoto lo más habitual es que se llame origin, así que si queremos hacer un push de la rama master escribiríamos el comando
git push origin master
pero con los alias basta con que previamente estemos situados en la rama master y escribamosggpush
oggp
y automáticamente pasa como parámetro la rama en la que nos encontremos en ese momento, que suele ser habitual que sea la rama de la que queramos hacer push. - Para hacer pull es exactamente lo mismo pero utilizando el comando
ggpull
oggl
.
Por último, si queremos utilizar algún comando que no disponga de alias, o que lo desconozcamos, siempre podemos abreviar un poco ya que el comando g
es un alias del comando git
, así pues podríamos utilizar g tag v0.1 HEAD
para añadir el tag de la versión 0.1 al último commit realizado.
Como habréis visto, si nos limitamos al uso de alias ahorramos un montón de tiempo, lo cual siempre es una ventaja.
Y como siempre decimos en SargantanaCode: ¡nunca dejéis de programar!
¿Sed de conocimiento?
Este artículo forma parte del curso Domina Git desde cero. El anterior artículo de este curso es Lanzando nuevas versiones de nuestros proyectos mediante los tags de Git.