Jusqu'à ce matin, j'utilisais l'alias Git suivant pour créer un fichier .gitignore dans mon dépôt :

ignore=!([ ! -e .gitignore ] && touch .gitignore) | echo $1 >>.gitignore

Sauf que ce matin, je me suis rendu compte que cet alias créait le fichier .gitignore systématiquement à la racine du dépôt, car c'est le répertoire de travail utilisé par Git lorsqu'un alias fait appel à des fonctions du shell.

Or, j'avais justement besoin de créer le fichier concerné dans un sous-répertoire.

Pour éviter cela, il faut utiliser la variable GIT_PREFIX qui contient le chemin du répertoire à partir duquel l'alias est appelé.

Je n'ai donc eu qu'à utiliser cette variable dans mon alias pour obtenir le comportement que je désirais, et j'en ai profité au passage pour le simplifier :

ignore = "!echo >> $GIT_PREFIX/.gitignore"