2008-09-18 4 views
6

Ich habe ein paar Projekte von Subversion nach git migriert. Es funktioniert wirklich gut, aber wenn ich mein Repository klonen, ist es wirklich lang, weil ich den ganzen Verlauf einer Menge .jar-Datei in der Übertragung eingeschlossen habe.Gibt es eine Möglichkeit, einige Dateien aus dem Verlauf von Git zu löschen?

Gibt es eine Möglichkeit, nur die neueste Version bestimmter Dateitypen in meinem Haupt-Repository zu behalten. Ich möchte hauptsächlich alte Version in Binärdatei löschen.

Antwort

5

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

Keeping Nur die aktuelle Version von jetzt an wird nicht unterstützt. Ihre beste Wette ist , stattdessen in Revisionskontrolle ein kleines Skript zu behalten, das die große .jar-Datei herunterlädt (oder erstellt, oder auf andere Weise generiert).

Wenn dies den Verlauf ändert, werden alle vorherigen Klone oder Pulls aus diesem Repository ungültig.

1

Kurz gesagt, dies würde das Umschreiben des gesamten Git-Commit-Baums beinhalten, um die Dateien auszuschließen. Haben Sie versucht, mit git gc und git pack git Ihr Repository komprimieren?