Git: Verzeichnis umbenennen (nur Groß-/Kleinschreibung) unter Windows

Lesezeit: 4 Minuten

Benutzer-Avatar
Thomas S.

Ich möchte ein von Git versioniertes Verzeichnis auf einem Windows-System umbenennen (Groß- und Kleinschreibung des Verzeichnisnamens ändern):

$ git mv docs DOCS
Rename from 'docs' to 'DOCS/docs' failed. Should I try again? (y/n) n
fatal: renaming 'docs' failed: Permission denied

Ich habe es auch mit der Force-Option versucht – aber mit dem gleichen Ergebnis:

$ git mv --force docs DOCS
Rename from 'docs' to 'DOCS/docs' failed. Should I try again? (y/n) n
fatal: renaming 'docs' failed: Permission denied

Aus irgendeinem Grund schlägt Git fehl, weil es der Meinung ist, dass DOCS bereits ein vorhandenes Verzeichnis ist und das Verzeichnis darin verschoben werden sollte. Ich weiß, dass ich mit einem temporären Verzeichnisnamen umbenennen und festschreiben und dann den endgültigen Namen umbenennen und ändern kann, aber gibt es keine Möglichkeit, Git mitzuteilen, dass ich nicht in ein anderes Verzeichnis wechseln möchte?

  • Beantwortet das deine Frage? Ich ändere die Großschreibung eines Verzeichnisses und Git scheint dies nicht zu bemerken

    – Samm

    27. Mai um 6:03 Uhr

Sie können versuchen, es in 2 Schritten zu tun.

$ git mv docs DOCS2
$ git mv DOCS2 DOCS

es wird klappen

  • Warum kann Git das nicht intern machen?

    –Thomas S.

    22. April 2016 um 18:29 Uhr

  • Git wurde ursprünglich entwickelt, um auf Linux-basierten Systemen zu funktionieren, bei denen die Groß- und Kleinschreibung beachtet wird. Windows ist es nicht. Unter Windows ist es nicht möglich, 2 Ordner mit den Namen “ABC” und “abc” am selben Ort zu haben. Das Problem liegt nicht bei Git, das gleiche Verhalten tritt bei SVN oder jeder anderen Anwendung unter Windows auf, die sich nicht explizit um dieses Problem kümmert. Das Problem ist mit dem Betriebssystem.

    – Pierre-Luc Dupont

    27. April 2016 um 12:47 Uhr


  • Das Problem liegt nicht beim Betriebssystem, da Windows ein Verzeichnis von docs in DOCS oder Docs umbenennen kann. Es ist ein Problem des Tools, das Groß- und Kleinschreibung nicht berücksichtigt und Dateisysteme nicht unterstützt.

    –Thomas S.

    27. April 2016 um 14:35 Uhr

  • Ich meine, dass das Betriebssystem anders reagiert, wenn es prüft, ob die Zieldatei bereits existiert.

    – Pierre-Luc Dupont

    2. Mai 2016 um 13:38 Uhr

  • Imho könnte man argumentieren, dass git unter Windows bereits Dinge anders machen muss. Ich stimme zu, dass es ein Problem für Git gibt, die Änderung zu erkennen, wenn Sie die Datei in Windows umbenennen, aber wenn Sie verwenden git mv es sollte funktionieren. Ich denke, es ist wahrscheinlicher, dass die Entwickler einfach kein Interesse daran haben, einen speziellen Fall dafür zu implementieren. Es ist eher wie „wir kommen von Linux, und so funktioniert es eben“.

    – Oliver Schimmer

    21. November 2018 um 11:57 Uhr


Benutzer-Avatar
CodeWizard

Da Windows die Groß-/Kleinschreibung beachtet, können Sie die Datei nicht mit denselben Buchstaben umbenennen. (Dokumente == docs [ignored case])

Sie können es von git bash da git bash cygwin ist und die Groß- und Kleinschreibung beachtet wird, da es sich um einen Unix-Emulator handelt.

Der Befehl lautet git mv

git mv <old name> <new name>

Hier ist eine Demo von git bash. (Windows 7)
Geben Sie hier die Bildbeschreibung ein

  • Bitte versuchen Sie es erneut mit Verzeichnissen.

    –Thomas S.

    23. April 2016 um 5:07 Uhr

  • Wenn unter Windows 10 die grafische Benutzeroberfläche verwendet wird und eine Datei oder ein Verzeichnis nur in Groß-/Kleinschreibung umbenannt wird, wird der angezeigte Name in der ursprünglichen Groß-/Kleinschreibung angezeigt. Wenn die Datei oder das Verzeichnis erneut angeklickt wird, wird der neue Fall im Bearbeitungsfeld angezeigt, aber es wird wieder zum ursprünglichen Fall zurückgekehrt. Es scheint also, dass sich der Fall nicht geändert hat, wenn er sich geändert haben könnte. Dies kann angezeigt werden, indem Sie eine Eingabeaufforderung öffnen und den Befehl dir verwenden. Der gezeigte Fall stimmt nicht immer mit dem im Explorer-Fenster überein.

    – Quentin 2

    12. Juli 2018 um 10:33 Uhr


Benutzer-Avatar
T0xicCode

Nein. Es gibt keine Möglichkeit, Git mitzuteilen, dass Sie den Ordner nicht in ein anderes Verzeichnis verschieben möchten.

Dies ist keine Einschränkung von Git, sondern eher eine Einschränkung von Windows und NTFS. Da das Dateisystem die Groß-/Kleinschreibung nicht beachtet, meldet es, dass der neue Name mit geänderter Groß-/Kleinschreibung bereits vorhanden ist, was zu dem Verhalten führt, auf das Sie stoßen. Versuchen Sie es mit einer Umbenennung in zwei Schritten (mit einem temporären Namen), übertragen Sie ihn dann oder ändern Sie ihn auf einem Nicht-Windows-Computer (technisch gesehen auf einem Dateisystem, bei dem die Groß- und Kleinschreibung beachtet wird).

  • Dein erster Satz kann nicht stimmen, denn im Windows Explorer kann ich ohne Probleme ein Verzeichnis nur nach Fall umbenennen.

    –Thomas S.

    22. April 2016 um 18:28 Uhr

1246440cookie-checkGit: Verzeichnis umbenennen (nur Groß-/Kleinschreibung) unter Windows

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy