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"