Gibt es eine Möglichkeit, einige Dateien aus der Geschichte des git zu reinigen?
-
01-07-2019 - |
Frage
Ich habe ein paar Projekt von Subversion migriert git. Es funktioniert wirklich gut, aber wenn ich mein Repository klonen, es ist wirklich lang, weil ich die ganze Geschichte viel .jar-Datei in der Übertragung enthalten sind.
Gibt es eine Möglichkeit nur die neueste Version von bestimmten Art von Datei in meinem Haupt-Repository zu halten. Ich möchte vor allem alte Version auf binäre Datei löschen.
Lösung
Sie können alte Versionen entfernen entweder mit "git rebase" -i oder "git filter-branch"
http://schacon.github.com/git/git-filter -branch.html
http://schacon.github.com/git/git-rebase.html
Weitere Dokumente und Anleitungen: http://git-scm.com/documentation
Halten Sie nur die aktuelle Version von nun nach vorn wird nicht unterstützt. Ihre beste Wette ist die große .jar-Datei stattdessen in Revisionskontrolle zu halten ein kleines Skript, das Downloads (oder baut, oder erzeugt anderweitig).
Wie diese Geschichte ändert, werden alle vorherigen Klone machen oder zieht aus diesem Repository ungültig.
Andere Tipps
Kurz gesagt, dies würde bedeuten, die gesamte git Umschreiben begeht Baum die Dateien auszuschließen.
Haben Sie versucht, git gc
und git pack
mit Ihrem Repository haben git komprimieren?