Dateien aus dem Verlauf eines Repositorys entfernen
Um eine große Datei aus Ihrem Repository zu löschen, müssen Sie sie vollständig aus Ihrem lokalen Repository und von Ihre GitHub Enterprise Server-Instanz löschen.
Warnung: Mit den hier beschriebenen Verfahren löschen Sie Dateien dauerhaft aus dem Repository auf Ihrem Computer und von Ihre GitHub Enterprise Server-Instanz. Wichtige Dateien sollten Sie vor dem Entfernen unbedingt lokal in einem Verzeichnis außerhalb des Repositorys sichern.
Wenn Sie eine Datei in einem früheren Commit hinzugefügt haben, müssen Sie sie aus Ihrem Repository-Verlauf entfernen. Zum Entfernen von Dateien aus Ihrem Repository-Verlauf verwenden Sie entweder BFG Repo-Cleaner oder den Befehl git filter-branch
. Weitere Informationen finden Sie unter „Sensible Daten aus einem Repository entfernen“.
Datei entfernen, die beim letzten noch nicht übertragenen Commit hinzugefügt wurde
Wenn eine Datei bei Ihrem letzten Commit hinzugefügt wurde und dieses noch nicht per Push auf Ihre GitHub Enterprise Server-Instanz übertragen wurde, können Sie die Datei löschen und den Commit ändern:
-
Open TerminalTerminalGit Bashthe terminal.
-
Ändern Sie das aktuelle Arbeitsverzeichnis in Ihr lokales Repository.
-
Geben Sie zum Entfernen der Datei
git rm --cached
ein:$ git rm --cached giant_file# Bereitet die Datei auf das Entfernen vor, lässt sie aber auf der Festplatte
-
Schreiben Sie diese Änderung mit
--amend -CHEAD
fest:$ git commit --amend -CHEAD # Ändert das vorherige Commit nach Ihrer Vorgabe # Ein neues Commit alleine reicht nicht aus, da Sie die Datei # auch aus dem noch nicht übertragenen Verlauf entfernen müssen
-
Übertragen Sie Ihre Commits per Push auf Ihre GitHub Enterprise Server-Instanz:
$ git push # Überträgt das geänderte, kleinere Commit