Git Alias ​​avanzados


Ejemplo

Git te permite usar comandos que no sean de git y sintaxis de shell sh completa en tus alias si los prefieres con ! .

En su archivo ~/.gitconfig :

[alias]
    temp = !git add -A && git commit -m "Temp"

El hecho de que la sintaxis de shell completa esté disponible en estos alias con prefijo también significa que puede usar funciones de shell para construir alias más complejos, como los que utilizan argumentos de línea de comandos:

[alias]
    ignore = "!f() { echo $1 >> .gitignore; }; f"

El alias anterior define la función f , luego la ejecuta con cualquier argumento que pase al alias. Entonces, ejecutar git ignore .tmp/ agregaría .tmp/ a su archivo .gitignore .

De hecho, este patrón es tan útil que Git define variables de $1 , $2 , etc. para usted, por lo que ni siquiera tiene que definir una función especial para ello. (Pero tenga en cuenta que Git también agregará los argumentos de todos modos, incluso si accede a través de estas variables, por lo que es posible que desee agregar un comando ficticio al final).

Tenga en cuenta que los alias prefijados con ! De esta manera, se ejecutan desde el directorio raíz de su git checkout, incluso si su directorio actual está más profundo en el árbol. Esta puede ser una forma útil de ejecutar un comando desde la raíz sin tener que cd allí explícitamente.

[alias]
    ignore = "! echo $1 >> .gitignore"