it-swarm.com.de

git - wie entferne ich leere Ordner und drücke die Änderung?

Wie kann ich einen leeren Ordner lokal entfernen und dies auch für andere Mitarbeiter tun, die die Remote per Pull-Push gemeinsam nutzen? Ich weiß, dass Ordner nicht von Git in diesem Sinne "verfolgt" werden, aber die Frage bleibt.

z.B. Ich habe eine Datei in einen anderen Ordner verschoben und die Änderung (der Verschiebung) übernommen.

Aber ich kann nicht git rm name den Ordner, da ich bekomme "stimmt nicht überein" git rmdir name existiert nicht.

Ich kann einen git clean -f folder machen, aber wie wird das aufgestoßen?

Ich kann die Datei direkt rm, aber wie bekomme ich das Entfernen des Verzeichnisses richtig und in das Repository und dann an andere weiter, wenn sie ziehen, damit der vorhandene Ordner gelöscht wird?

54
Michael Durrant

Die kurze Antwort: Sie können Änderungen nicht in Verzeichnisse verschieben (hinzugefügt, entfernt usw.), da Git die Verzeichnisse nicht selbst verfolgt

Entsprechend der FAQ :

Derzeit erlaubt das Design des Git-Index (Staging-Bereich) nur das Auflisten von Dateien, und niemand, der die Änderung vornehmen kann, um leere Verzeichnisse zuzulassen, hat sich um diese Situation ausreichend gekümmert, um Abhilfe zu schaffen.

Verzeichnisse werden beim Hinzufügen von Dateien automatisch hinzugefügt. Das heißt, Verzeichnisse müssen niemals zum Repository hinzugefügt werden und werden nicht eigenständig verfolgt.

Für Git existiert also kein leeres Verzeichnis mehr.

Ich habe festgestellt, dass die Gewohnheit, git clean -fd zu verwenden, die Notwendigkeit beseitigt, die Entfernung von Verzeichnissen zu verschieben. git clean kann jedoch Elemente entfernen, die möglicherweise nicht entfernt werden sollen (einschließlich neuer Dateien, die noch nicht festgeschrieben wurden). Daher neige ich dazu, zuerst git clean -fdn zu verwenden, um zu sehen, was will entfernt wird, wenn ich den Befehl verwende.

Anscheinend sind Sie möglicherweise gezwungen, mit Ihren anderen Entwicklern zu sprechen, um das Verzeichnis zu bereinigen.

92
Jake Greene
git add --all
git clean -f -d
git commit -m "trying to remove folders"
git Push
6
Ekhtiar

zum Löschen leerer Ordner  

ich wollte ein leeres Verzeichnis (Ordner) löschen, das ich erstellt habe. git kann es nicht löschen. Nach einigen Recherchen habe ich gelernt, dass Git Git keine leeren Verzeichnisse verfolgt. Wenn Sie in Ihrem Arbeitsprojekt ein leeres Verzeichnis haben, sollten Sie es einfach mit entfernen 

rm -r folderName

Es ist nicht notwendig, Git einzubinden. Beachten Sie, dass diese Antwort nur auf lokalen Repos getestet wurde. 

0
Rida