Warum gibt es keine "Pfadspezifikation", wenn ich versuche, einen Ordner in Git zu entfernen?

9

Ich versuche mit einen Ordner aus meinem Git-Repository zu entfernen

git rm folderToRemove

Git gibt diesen Fehler jedoch aus, wenn ich dies versuche.

fatal: pathspec 'siteFiles/applicationFiles/templates/folderToRemove' 
did not match any files

Mein aktuelles Verzeichnis ist "Vorlagen". Ich cdfinde diesen Fehler seltsam, da ich in den Ordner "folderToRemove" kann, so dass er eindeutig existiert. Was bedeutet dieser Fehler?

David Faux
quelle

Antworten:

17

Git versioniert keine Verzeichnisse, nur "Inhalt" (Verzeichnisinhalt oder Dateien)

hat keine Dateien gefunden

Das heißt, es gibt keine Datei zum Entfernen folderToRemove, wie ich unter " Dateien können nicht rekursiv von Git entfernt werden " erwähne .
Sie können jetzt das Verzeichnis selbst entfernen (Windows deloder Unix rm).

Wie unter " Löschen leerer Verzeichnisse in Git " beschrieben, können Sie auch Folgendes ausführen:

git clean -fd

Jedoch:

Warnung: Der Befehl clean entfernt alle Dateien in der aktuellen Arbeitskopie, die nicht von git verfolgt werden. Dies ist ein guter Weg, um Ihre Arbeit zu verlieren, wenn Sie git keine neuen Dateien hinzugefügt haben. Immer git addvorher laufen git clean.

Führen Sie lieber zuerst ein:

git clean -d -x -n

Wie unter " Wie lösche ich mein lokales Arbeitsverzeichnis in Git? " Erläutert .

VonC
quelle
Aber wie "säubere" ich die Fernbedienung einer anderen Person, wenn sie zieht?
Ilea Cristian
@IleaCristian Aufgrund der verteilten Natur von Git bereinigen Sie keine Fernbedienung, sondern nur Ihren eigenen Klon.
VonC
Das Problem ist, dass wir den endgültigen Build nicht erstellen. Die Projektdateien (die die IDE sieht) sind tatsächlich einige Ordner mit der Erweiterung "myproj.xcworkspace oder myproj.xcodeproj). Ich wollte den xcworkspace entfernen und nur den xcodeproj belassen. Grundsätzlich wollte ich die Leute, die den Build erstellen, zwingen, nur die xcodeproj-Datei zu verwenden.
Ilea Cristian