[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: git-Frage: commits löschen



> Wie gesagt, git gc komprimiert das Reposity. 

Ja weiß ich.

> Ob man zum aktuellen
> Working Tree mit nur einem Commit oder 1000 Commits gekommen ist macht
> da allenfalls ein paar Bytes aus (abgesehen von den Messages).

Äh nein. Auch wenn "git gc" komprimiert so macht es je nach Projekt und
je nachdem wie stark es gewachsen ist einiges aus.

> Ein gutes Beispiel ist das Linux-Kernel Reposity: Die Bereitstellung mit
> den aktuellen Sourcen ist so groß wie die gesamte komprimierte Historie.
> Und somit hat man mit dem Wegwerfen der History Aufwand aber vermutlich
> nicht viel gespart.

Beim Linux kernel 2.6 ist das ".git" Verzeichnis 608MB groß. Nach einem
Löschen von ".git" und neu anlegen und komprimieren hat man nur noch
121MB. Und dadurch das eben alles komprimiert wird, wird es schon wieder
ersteinmal ein paar jahre dauern bis es wieder 600MB hat. Von daher ein
neu anlegen bringt schon einiges.

Hat man ein Projekt das viele Binärdateien enthält wie Bilder oder
anderes so kann man leicht noch mehr Speicher sparen. Natürlich bringt
also das verwerfen der History etwas. Sogar einiges. Klar komprimiert
"git gc" aber beides sind doch vollständig andere Einsatzzwecke und das
eine hat mit dem anderen überhaupt nichts zu tun.

Die Frage ab wann man verwirft, ob man verwirft. Oder ob 600MB schon zu
viel sind muss dann jeder selber Wissen. Das ist ja auch das was ich
angezweifelt hatte. Aber es hängt vom Projekt ab wie groß die Ersparnis
ist, und "git gc" hat absolut gar nichts gemeinsam mit dem Thema wieder
ein neues Repository zu beginnen.


Reply to: