Git umbenennen Verzeichnis auf einen anderen Fall gleichen Namen zeigt die Dateien enthalten wie immer geändert
Frage
Nachdem das Verzeichnis Testdirectory umbenannt Fall zu senken (Testdirectory) alle seine Dateien (a.html und b.html) gezeigt werden, wie geändert und sogar git reset --hard nicht den Arbeitsbaum nicht zurück.
Git immer sagt:
# modified: TestDirectory/a.html
# modified: TestDirectory/b.html
arbeitet Nichts den Arbeits Baum zu unverändertem Zustand, keiner der folgenden Befehle Hilfe zurück:
git reset --hard
git checkout -- TestDirectory/a.html
Ich verstehe nicht, warum dies geschieht und was ich tun kann. Ist es git bug?
Die Umbenennungs wurden nicht von mir hinzugefügt, aber einem anderen git Benutzern.
git Version 1.6.4
Ich arbeite mit Mac OS X 10.6
Lösung
etwa eine Stunde nach dem Spielen war meine Lösung zu löschen Testdirectory / a.html und Testdirectory / b.html manuell - danach git sie berichtete als „gelöscht“ (Ich will nicht, sie tatsächlich löschen), aber es gab mir Fähigkeit git pull zu tun und Änderungen zu erhalten, wenn Problem von einem anderen Benutzer festgelegt wurde.
Kurz vor:
- Dateien löschen Testdirectory / a.html und Testdirectory / b.html
- git pull
. Hinweis: vorher git pull nicht getan Ursache merge Konflikt Fehler sein könnte
Ich verstand nicht klar, was geschieht ist, aber es löste meinen Fall. Meiner Meinung nach ist Git noch recht kompliziert wie Perl und Befehle reflektiert hauptsächlich die Interna von git anstatt Benutzer Absichten: -)
Andere Tipps
Sie können prüfen, ob git rewrote Zeilenenden (git diff zeigt die Datei selbst ersetzt, nur mit unterschiedlichen Zeilenenden). Wenn dies der Fall ist, sollten Sie unter Was ist die beste CRLF (Carriage Rücklauf, Zeilenvorschub) Umgang Strategie mit Git? .