Hier sind ein paar Optionen zu prüfen:
Shallow Klone: Sie können den --depth <depth>
Parameter git clone
fügen Sie einen flachen Klon des Repository zu bekommen. z.B. Wenn <depth>
1 ist, bedeutet das, dass der Klon nur die Dateien abruft, die für den letzten Commit benötigt werden. Allerdings ist eine solche Repositories umständlich Beschränkungen auf, was man mit ihnen machen kann, wie in der git clone
Manpage beschrieben:
--depth
Create a shallow clone with a history truncated to the specified
number of revisions. A shallow repository has a number of
limitations (you cannot clone or fetch from it, nor push from nor
into it), but is adequate if you are only interested in the recent
history of a large project with a long history, and would want to
send in fixes as patches.
In der Tat, wie in this thread diskutiert, die so etwas wie eine Übertreibung ist - es gibt nützliche Situationen, in denen drängen aus Ein oberflächlicher Klon funktioniert immer noch und es ist möglich, dass er zu Ihrem Workflow passt.
Scott Chacon "git media" Erweiterung: Der Autor beschreibt dies in der Antwort auf this similar question und in der Readme auf GitHub: http://github.com/schacon/git-media.
Flache Submodule: Sie könnten alle Ihre großen Dateien in einem separaten Git-Repository aufbewahren und dieses als shallow submodule Ihrem Haupt-Repository hinzufügen. Dies hätte den Vorteil, dass Sie nicht die Einschränkungen von flachen Klonen für Ihren Code haben, sondern nur das Repository mit den großen Dateien.
Es gibt auch eine Reihe von Möglichkeiten, dies zu tun, indem Sie Hooks (zum Beispiel) rsync über Ihre großen Dateien von Git-Hooks hinzufügen, aber ich nehme an, dass es gute Gründe gibt, dass Sie diese Dateien unter Kontrolle git behalten wollen an erster Stelle.
Ich hoffe, dass eine Hilfe ist.
git-media sieht genau aus, was ich will, aber es ist nicht ganz fertig. Ich denke, ich habe es mit ein wenig Hacking funktioniert. Jetzt muss ich nur die Unterstützung für das Hochladen von Dateien an die Stelle kodieren, an die ich sie möchte. – davr
Für die Zukunft, hier ist meine Gabel von git-Medien mit einigen notwendigen Veränderungen: http://github.com/davr/git-media – davr
Große, die sehr nützlich aussieht! Genau wie ein weiterer Punkt von Interesse, der Thread hier (und insbesondere die Folien in der ersten Mail verlinkt) sind interessant zum Thema git Umgang mit großen Dateien http://git.661346.n2.nabble.com/Git-and -Media-Repositories-td1446700.html –