2016-01-03 4 views

Antwort

10

Es scheint derzeit keine gute Möglichkeit zu sein, große Assets aus git-lfs zu entfernen. GitHubs aktueller Vorschlag besteht darin, ein Tool namens The BFG zu verwenden, um die Existenz der Datei vollständig aus Ihrem Repo zu entfernen.

Vermutlich wird es dann aus dem lfs-Speicher entfernt, wenn git's Garbage Collection als nächstes von Github ausgeführt wird.

Für weitere Informationen siehe https://help.github.com/articles/working-with-large-files/

+4

Es sollte angemerkt werden, dass sich all Ihre Geschichte ändern wird, was bedeutet, dass sich alle Commit-IDs überall ändern werden. Dies kann zu drastischen Problemen führen, wenn Ihr Repo von anderen gezogen wird und sie versuchen, etwas zurückzuzahlen. – g19fanatic

2

Die von Wader gegebene Antwort auf die Frage nicht verwendet.

Der angegebene Link zu einem GitHub-Artikel bezieht sich auf große Dateien, die direkt in den Git-Repo eingecheckt sind, was nicht dasselbe ist wie Git-Lfs!

Wie für die Frage: wie diese Situation behandelt wird, hängt von dem zugrunde liegenden Speicherserver ab. git-lfs-Unterstützung kann durch verschiedene Dienste, z.B. GitHub oder GitLab.

GitLab speichert git-lfs-Dateien nicht pro Repository. Sie werden mit ihrem Hash-Wert SHA-256 gespeichert. Wenn dieselbe Datei in mehreren Repositorys (z. B. Klonen) verwendet wird, wird sie nur einmal gespeichert. Es hängt nur davon ab, wie GitLab referenzierte Dateien behandelt und im Handbuch nachgeschlagen werden sollte.

Gemäß der GitHubs-Dokumentation (https://help.github.com/articles/removing-files-from-git-large-file-storage/) wird empfohlen, ein Repository zu löschen und neu zu erstellen: "Um Git LFS-Objekte aus einem Repository zu entfernen, löschen und neu erstellen. Wenn Sie ein Repository löschen, werden alle zugehörigen Probleme, Sterne, und Gabeln werden ebenfalls gelöscht. "