Frage Wie kann ich verhindern, dass git Änderungen ignoriert?


Ich bin mir nicht sicher, was hier vor sich geht, aber manchmal ändert eine bestimmte Datei in meinem Repository den Fall des Namens. z.B.,:

Vor: File.h

nach: file.h

Es ist mir nicht wirklich wichtig, warum das passiert, aber das lässt Git glauben, dass es eine neue Datei ist, und dann muss ich den Dateinamen ändern. Kannst du Git nur die Falländerungen ignorieren lassen?

[bearbeiten] Ich vermute, dass Visual Studio mit dieser speziellen Datei etwas Seltsames macht, weil es am häufigsten passiert, wenn ich es nach Änderungen öffne und speichere. Ich habe jedoch keine Möglichkeit, Bugs in VS zu beheben, aber Git sollte ein bisschen fähiger sein, hoffe ich.


75
2017-09-09 21:24


Ursprung


Antworten:


Seit Version 1.5.6 gibt es ein ignorecase Option verfügbar in der [core] Abschnitt von .git/config

z.B. hinzufügen ignorecase = true

Um es für nur einen Repo zu ändern, führen Sie in diesem Ordner Folgendes aus:

git config core.ignorecase true

Um es global zu ändern:

git config --global core.ignorecase true

138
2017-09-09 23:14



In der git Version 1.6.1.9 für Windows habe ich festgestellt, dass "ignorecase = true" in config bereits voreingestellt ist.


10
2018-02-11 05:54



Sie können git zwingen, die Datei nur mit diesem Befehl umzubenennen:

git mv --cached name.txt NAME.TXT

Beachten Sie, dass dies den Fall der Datei in Ihrer ausgecheckten Kopie auf einer Windows-Partition nicht ändert, aber git zeichnet die Änderung des Gehäuses auf und Sie können diese Änderung bestätigen. Zukünftige Checkouts werden das neue Gehäuse verwenden.


6
2017-07-10 05:12



Die in der Frage beschriebene Situation tritt nun mit Mac OS X, Git-Version> = 1.7.4 (glaube ich) wieder auf. Das Problem ist, dass Sie ignorecase = false setzen und die lowcased-Dateien (die auf diese Weise geändert wurden, nicht Visual Studio) manuell in ihr UsualCase umbenennen (d. H. "Mv meinname MyName").

Mehr Info Hier.


4
2017-11-11 13:49