Entfernen von Dateien aus einem Repository in Git
Dieses Tutorial zeigt, wie Sie Dateien aus einem Git-Repository entfernen.
Git ermöglicht eine kollaborative Entwicklungsumgebung. Daher werden viele Dateien von einem Entwicklerteam in ein Git-Repository übertragen.
Oft stoßen wir auf einige Dateien, die nicht mehr benötigt werden oder redundant sind. In solchen Fällen halten wir es für angebracht, solche Dateien oder Ordner zu löschen, die bereits in das Repository übernommen wurden.
Wir werden dies nun an einem Beispiel veranschaulichen.
Verwenden von git rm
zum Entfernen von Dateien und Ordnern im Git-Repository
Angenommen, wir haben einen Ordner namens folder1
im Git-Repository. Bedenken Sie auch, dass dieser Ordner zwei Dateien enthält, file1
und file2
.
$ ls folder1/
file1 file2
Um eine Datei im Git-Repository zu löschen, müssen wir wie folgt vorgehen.
$ git rm <filename>
$ git commit -m "commit message"
$ git push origin branch_name
Der erste Befehl löscht eine Datei aus dem Git-Repository und dem Dateisystem. Die nachfolgenden Befehle werden verwendet, um die Änderungen zu committieren
und die Änderung (d. h. das Löschen der Datei) in das Remote-Repository zu pushen.
Um file1
zu löschen, gehen wir in unserem Beispiel also wie folgt vor.
$ cd folder1
$ git rm file1
rm 'folder1/file1'
Wir sind in folder1
umgezogen und file1
aus dem Repository und dem Dateisystem gelöscht.
Den Status der Löschung können wir wie folgt überprüfen.
$ git status
On branch main
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: file1
Nun werden wir diese Löschung wie folgt vornehmen.
$ git commit -m "deleted file"
[main 27ec53b] deleted file
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 folder1/file1
$ git push origin main
Manchmal möchten wir die Datei möglicherweise nur aus dem Repository und nicht aus dem Dateisystem löschen. Möglicherweise möchten wir diese Datei für andere Zwecke verwenden.
Um nur Dateien aus dem Repository und nicht aus dem Dateisystem zu löschen, müssen wir Folgendes tun.
$ git rm --cached file2
$ git commit -m "Removed file2 from repository only"
$ git push origin main
Wenn wir den Befehl git rm
mit der Option --cached
ausführen, werden die Dateien aus dem Repository entfernt, aber nicht aus dem Arbeitsbaum (d. h. dem Dateisystem).
Manchmal müssen wir möglicherweise den gesamten Ordner löschen.
Dazu müssen wir dem Befehl git rm
wie folgt die Option -r
hinzufügen.
$ git rm -r folder1
rm 'folder1/file2'
$ git commit -m "removed folder1"
[main dabfe02] removed folder1
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 folder1/file2
$ git push origin main
In unserem Beispiel haben wir also den Ordner viz gelöscht. folder1
zusammen mit seinem Inhalt.
Weitere Informationen zu git rm
finden Sie auf der folgenden Site - git rm
.