git-Aliase befinden sich im falschen Verzeichnis
Zusammenfassung: Das aktuelle Arbeitsverzeichnis der Befehle, die über Git-Aliase ausgeführt werden, ist falsch.
Der einfachste Weg, dies zu demonstrieren, ist ein Git-Alias wie folgt:
[alias]
pwd = !pwd
Sogit pwd
führt nur den Bash-Befehl auspwd
. Man würde denken, dass die Ausgaben der beiden Befehle gleich wären. Probieren wir das jetzt ein paar Mal aus:
$ cd ~
$ pwd && git pwd
/home/limpchimp
/home/limpchimp # great!
$ mkdir foo && cd foo && git init
Initialized empty Git repository in /home/limpchimp/foo/.git/
$ pwd && git pwd
/home/limpchimp/foo
/home/limpchimp/foo # great!
$ mkdir bar && cd bar
$ pwd && git pwd
/home/limpchimp/foo/bar
/home/limpchimp/foo # uuhhhhhhhh...?
Es scheint, dass Git das aktuelle Arbeitsverzeichnis in das erste übergeordnete Verzeichnis mit einem @ änder.git
Ordner (falls vorhanden). Das ist sehr problematisch; Es geht darum, bestimmte Skripte zu vermasseln, die ich geschrieben habe und die in einem bestimmten Verzeichnis ausgeführt werden sollen, und mich dazu zu bringen, bestimmte Dinge nicht als Git-Aliase zu verwenden. Gibt es einen Weg, dies zu umgehen? Wie kann ich es reparieren