1790 Stimmen

Wie kann ich .DS_Store-Dateien aus einem Git-Repository entfernen?

Wie kann ich diese lästigen Mac OS X .DS_Store Dateien aus einem Git-Repository?

7voto

zeozod Punkte 71

Ich bin zwar ein bisschen spät dran, aber ich habe eine gute Antwort. Um die .DS_Store-Dateien zu entfernen, verwenden Sie die folgenden Befehle in einem Terminalfenster, aber seien Sie sehr vorsichtig beim Löschen von Dateien mit "find". Die Verwendung eines bestimmten Namens mit der Option -name ist eine der sichereren Methoden:

cd directory/above/affected/workareas
find . -name .DS_Store -delete

Sie können das "-Löschen" weglassen, wenn Sie sie einfach vorher und nachher auflisten wollen. Das gibt Ihnen die Gewissheit, dass sie verschwunden sind.

Bezüglich des ~/.gitignore_global-Ratschlags: Seien Sie hier vorsichtig. Sie wollen diese nette Datei in .gitignore innerhalb der obersten Ebene eines jeden Arbeitsbereichs ablegen und sie committen, so dass jeder, der Ihr Projektarchiv klont, in den Genuss ihrer Verwendung kommt.

7voto

manat Punkte 1092

Ich habe festgestellt, dass die folgende Zeile aus snipplr funktioniert am besten beim Wischen aller .DS_Store einschließlich einer, die lokale Änderungen enthält.

find . -depth -name '.DS_Store' -exec git-rm --cached '{}' \; -print

--cached Option, bleibt Ihr lokaler .DS_Store da es sowieso vervielfältigt werden wird.

Und wie oben bereits erwähnt, fügen Sie .DS_Store in die Datei .gitignore im Stammverzeichnis Ihres Projekts. Dann ist es nicht mehr in Ihrem Blickfeld (der Repos).

6voto

Invincible Punkte 1268

Aus irgendeinem Grund funktionierte keine der oben genannten Methoden auf meinem Mac.

Meine Lösung wird vom Terminal aus ausgeführt:

rm .DS_Store

Führen Sie dann folgenden Befehl aus:

git pull origin master

6voto

John Topley Punkte 110122

Das wird funktionieren:

find . -name "*.DS_Store" -type f -exec git-rm {} \;

Es werden alle Dateien gelöscht, deren Namen mit .DS_Store , einschließlich ._.DS_Store .

5voto

Cubiczx Punkte 875

Entfernen Sie ignorierte Dateien:

(.DS_Store)

$ find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X