Sonderzeichenprobleme in Git Repos beheben

Als ich mit Git zu arbeiten begann, wurden Sonderzeichen (Umlaute, Akzente, etc.) noch nicht unter Verwendung von Unicode behandelt. Nach der Einführung von Unicode (und einem Update auf die entsprechende Version von Git) wurden die ursprünglichen Dateinamen nicht mehr erkannt. Nach dem Neu-Hinzufügen der betroffenen Dateien hatte ich im Index immer zwei Kodierungen des gleichen Dateinamens gespeichert und der alte wurde immer als fehlerhaft und nicht löschbar angezeigt. Dank eines Artikels, den ich gestern gefunden habe, konnte ich nun meine Repos bereinigen.

Hier die Befehle, die ich in der Git Konsole für die Lösung meines Problems verwendet habe (jeweils im Verzeichnis, das Problemdateien enthielt, ausgeführt):

$ git ls-files | grep "\""
$ git rm --cached "`printf "<Datei>"`"
$ git commit -m "clean up bad encoding of file names"

<Datei> = <problematischer Dateiname ggf. unter Verwendung von * oder ? als Platzhalter>

Das ganze dauerte für meine vielleicht 30 Problemdateien nur einige Minuten und nach dem Hinzufügen der nicht mehr indizierten Dateien war mein Repository wieder in einem sauberen Zustand.

Schreib' einen Kommentar