Git Verzeichnis entfernen
In diesem Tutorial erfahren Sie, wie Sie Verzeichnisse oder Ordner in Git entfernen.
Wir haben viele Verzeichnisse oder Ordner, um verschiedene Dateien in einer typischen Entwicklungsumgebung zu gruppieren.
Manchmal müssen wir einige irrelevante Verzeichnisse löschen.
Wir werden dies nun an einem Beispiel veranschaulichen.
Verwendung von git rm
zum Entfernen von Verzeichnissen in Git
Angenommen, wir haben ein bestimmtes Verzeichnis und möchten es nicht länger im Repository in Git behalten.
Wir können das Verzeichnis oder den Ordner in unserem Repository mit dem Befehl git rm
mit der Option -r
entfernen.
Die Syntax des Befehls lautet git rm -r <directory_name>
.
Es bewirkt, dass das Verzeichnis und sein Inhalt rekursiv aus dem Repository entfernt werden.
Angenommen, wir haben ein Verzeichnis namens misc
, das wir aus dem Repository entfernen möchten.
$ ls misc
tmp1.txt
Wir können das Verzeichnis misc
und seinen Inhalt wie folgt entfernen.
$ git rm -r misc
rm 'misc/tmp1.txt'
Daher haben wir nun das Verzeichnis misc
aus dem Git-Repository entfernt.
Wir müssen diese Entfernung des Verzeichnisses jetzt festschreiben und in das Remote-Repository übertragen.
Wir werden jetzt wie folgt vorgehen.
$ git commit -m "removed misc directory"
[main b89f021] removed misc directory
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 misc/tmp1.txt
$ git push origin main
Wenn also jetzt andere Teamkollegen die Änderungen aus dem entfernten Repository ziehen, wird das Verzeichnis misc
entfernt.
Manchmal möchten wir das Verzeichnis vielleicht im lokalen Dateisystem behalten, es aber aus der Nachverfolgung im entfernten Repository entfernen.
Dazu können wir die Option --cached
zusammen mit dem Befehl git rm
wie folgt verwenden.
$ git rm -r --cached misc
Bitte beachten Sie, dass dadurch das Verzeichnis misc
immer noch aus dem Dateisystem der Computer der anderen Teamkollegen entfernt wird, wenn sie die Änderungen aus dem Remote-Repository ziehen.
Es hält nur das Verzeichnis misc
im Dateisystem unserer lokalen Maschine, wo wir den obigen Befehl ausgeführt haben.