Como desarrollador, probablemente uses la CLI de Git (Interfaz de Línea de Comandos) a diario. Sin embargo, escribir los mismos comandos una y otra vez puede ser laborioso, especialmente cuando los comandos son largos. Aquí es donde entran en juego los alias de Git para ayudar.
En este artículo, aprenderás cómo simplificar tus comandos de Git utilizando alias.
Tabla de Contenidos
-
Cómo Agregar Alias de Git a Través del Archivo de Configuración Global de Git (Recomendado)
-
Cómo crear comandos personalizados para accesos directos más complejos
Requisitos previos
-
Conocimiento de Git.
-
Git Bash instalado (opcional pero recomendado para usuarios de Windows).
-
Un IDE como VS Code (esto también es opcional).
¿Qué son los alias de Git?
Los alias de Git son accesos directos personalizados para comandos de Git existentes, lo que hace que las tareas comunes sean más rápidas y fáciles. Te permiten definir tus propios comandos, lo que te permite personalizar los accesos directos exactamente como desees.
Tienes dos opciones principales para agregar/crear alias de git en tu configuración de git, usar tu archivo de configuración de Git o agregarlos directamente a través de la CLI (terminal/línea de comandos).
Cómo agregar alias de Git a través del archivo de configuración global de Git (recomendado)
Esta opción implica abrir tu archivo de configuración global de git y agregar tus alias de git al final del archivo.
Cómo configurar tu editor de Git preferido
Establezca su software editor de configuración predeterminado de Git, por ejemplo, yo uso VS Code para editar mi archivo de configuración de Git, pero puede utilizar el editor de texto/editor de código que prefiera.
Ejecute este comando para establecer Notepad como su editor preferido en Windows (CMD/PowerShell):
git config --global core.editor "notepad"
Ejecute este comando para establecer VS Code como su editor preferido en Windows y MacOS/Linux:
git config --global core.editor "code --wait"
Para establecer un editor predeterminado diferente, busque en línea “Establecer {editor} como editor predeterminado de Git” y reemplace {editor}
con la aplicación que prefiera.
Cómo abrir el archivo de configuración de Git
Abra su terminal de preferencia e ingrese el siguiente comando. Esto abrirá el archivo de configuración global de Git (git config --global
), en modo de edición (-e
).
git config --global -e
Puede abrir el archivo de configuración de git directamente desde las siguientes ubicaciones:
Mac Os: Directorio de inicio → mostrar archivos ocultos (Cmd + Shift + H) → .gitconfig
Windows: C:\Users\NombreDeUsuario\
→ luego mostrar archivos ocultos (en Ver) → y encontrar .gitconfig
Linux: Directorio de inicio → mostrar archivos ocultos (Ctrl + H) → .gitconfig
Cómo añadir un alias de Git a través de su archivo de configuración
Si está añadiendo alias de Git por primera vez, abra su archivo .gitconfig
, añada [alias]
al final y luego liste sus atajos a continuación. Esto le indica a Git que son alias. Añada su alias preferido (el comando abreviado que desea ejecutar).
El formato de un alias de git es <alias> = <comando>
, así tenemos:
co = checkout
cob = checkout -b
Explicación de los ejemplos anteriores:
co = checkout
esto mapea el comando git checkout
a un comando más corto git co
. Luego llamarías git co feature/123
en tu terminal.
No es necesario escribir git
delante del comando, ya que la configuración lo prefiere automáticamente al saber que el comando que estás mapeando es un comando de Git.
Nota: Cualquier parámetro pasado al comando se aplicará solo al comando final llamado dentro del alias.
Se pueden agregar más alias de esta manera, mapeando accesos directos a comandos de git existentes. Guardar y cerrar el archivo hará que los alias estén disponibles en tu terminal.
Cómo Agregar Alias en la CLI
Si deseas un enfoque más simplificado para agregar alias de Git, puedes agregarlos directamente desde la terminal/línea de comandos.
Tomando los ejemplos anteriores, podemos agregarlos directamente de la siguiente manera:
El formato del comando es: git config --global alias.{alias} "{comando original}"
:
git config --global alias.co "checkout"
#o
git config --global alias.cob "checkout -b"
¡Es tan fácil como eso!
Cómo Crear Comandos Personalizados para Accesos Directos Más Complejos
Vale, esto parece genial, pero no es realmente tan impresionante, solo estamos eliminando unos pocos caracteres. Sin embargo, podemos hacerlos mucho más útiles, podemos crear nuestros comandos usando comandos de shell.
¡Tomemos el siguiente ejemplo, un comando que uso mucho!
new-work = !git checkout main && git pull && git cob
Este alias combina múltiples comandos de Git en un solo comando de shell. El carácter !
le indica a Git que lo trate como un comando de shell, no como un comando Git estándar.
Sin el !
, Git interpreta el alias como un comando Git (por ejemplo, checkout
se convierte en git checkout
). Con !
, Git sabe que debe ejecutarlo como un comando de shell sin agregar git
al principio.
Al encadenar estos comandos, podemos escribir alias mucho más útiles. El anterior hará lo siguiente:
-
Primero, hacer checkout a la rama
main
. -
Usando el operador
&&
, significa que los otros comandos solo se ejecutarán si el anterior ha sido exitoso. -
En segundo lugar, descargará los cambios desde
main
. -
Finalmente, creará una nueva rama desde la rama
main
usando nuestro otro aliasgit cob
.
El comando final puede aceptar parámetros (como lo haría el comando Git original), por lo que se puede utilizar de la siguiente manera:
git new-work 'feature/new-work-from-main'
Cómo Usar Parámetros en Todos los Comandos
Hasta ahora, solo hemos podido pasar nuestros parámetros al comando final de git en nuestro alias. Sin embargo, ¿qué pasa si queremos pasar parámetros a algunos, si no a todos, de los comandos dentro del alias? Podemos lograr esto usando una función de shell.
Toma el siguiente ejemplo:
new-work = "!f() { git checkout \"$1\" && git pull && git checkout -b \"$2\"; }; f"
Arriba estamos usando una función de shell que procesa los parámetros de entrada.
Explicación:
-
!f()
:-
El
!
le dice a Git que interprete el alias como un comando de shell en lugar de un comando Git estándar. -
f()
define una función de shellf
que nos permitirá ejecutar múltiples comandos en secuencia.
-
-
Todo lo que está dentro de
{ }
es lo que se ejecutará dentro de la funciónf()
. -
git checkout \”$1”'\
: Ejecutará un comando Git parametrizado, donde$1
está escapado y será reemplazado por el primer parámetro pasado al alias. Las secuencias de escape\"
alrededor de$1
permiten nombres de ramas con espacios. -
&&
es un operador lógico que asegura que cada comando se ejecute solo si el anterior tiene éxito. Si fallagit checkout "$1"
, los comandos que siguen no se ejecutarán. -
git checkout -b \”$2”\
: Crea una nueva rama con el nombre del segundo parámetro como antes. -
;
: Marca el final de la funciónf()
; -
f
: La últimaf
llama inmediatamente a la función de alias, lo que significa que cuando llamas al alias, declara la función y luego la llama inmediatamente.
Uso:
git new-work development task/feat-123
Otros Alias Útiles
[alias]
co = checkout
cob = checkout -b
s = status
tidy-up = !git checkout main && git branch | grep -v "main" | xargs git branch -D
latest = !git checkout main && git pull
new-work = "!f() { git checkout \"$1\" && git pull && git checkout -b \"$2\"; }; f"
done = !git push -u origin HEAD
save = !git add -A && git commit
saveM = !git add -A && git commit -m
br = branch --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate
Resumen
co:
Cambiar a la rama especificada → git co task/feat-123
cob
: Crea una nueva rama desde la rama actual → git cob feature/123
s
: Llama a git status
para ver el estado de la rama actual de git → git s
tidy-up
: Elimina todas las ramas locales excepto main
→ git tidy-up
latest
: Obtiene los últimos cambios de la rama remota main
→ git latest
new-work
: Crea una nueva rama (2do parámetro) desde la rama del 1er parámetro → git new-work main feat/123
git done
: Hace push de la rama actual al repositorio remoto (origin
) y la establece como la rama upstream. Esto puede ser útil cuando haces push de tu primer commit y obtienes el error:fatal: The current branch has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin
save
: Simplemente agregará todos los archivos modificados, los confirmará, abrirá tu editor de Git por defecto y solicitará un mensaje de commit → git save
savem
: Hará lo mismo que arriba, pero en lugar de abrir tu editor, puedes pasar un mensaje de confirmación en línea → git savem ‘Tarea123: agregar index.html
br:
Este parece complicado, pero no es tan complicado como parece, pero destaca el poder de los alias. En esencia, personaliza el formato de salida de git branch
para mostrar una lista detallada y codificada por colores de ramas, ordenadas por la fecha del commit más reciente, se verá algo similar a la imagen a continuación para cada rama que tengas localmente.
Ahí lo tienes, una introducción a los alias de Git y algunos ejemplos útiles de alias que puedes agregar como inicio a tu configuración.
Como siempre, si quieres hablar al respecto o saber sobre futuros artículos, puedes seguirme en Twitter.
Source:
https://www.freecodecamp.org/news/how-to-simplify-your-git-commands-with-git-aliases/