Wieviel Platz verschwendet git beim Versionieren?



  • Ich stehe vor der Frage, ob ich ein Versionsverwaltungssystem einsetzen soll.

    Allerdings bin ich bezüglich des Platzverbrauchs skeptisch.
    Denn wenn ich z.B. 5 Commits mache (a1 bis a5), dann werden ja auch alle
    Versionen, also a1 bis a5 auf der Festplatte gespeichert.

    Wie groß ist dann aber der Platzverbrauch wenn die Commits selbst nur aus kleineren Änderungen bestehen?

    Ist der Platzverbrauch dann:
    a1 + a2 +... + a5

    oder nur
    a*(t1 + t2 + t5)
    wobei ti für Teilmengen steht, also das was sich tatsächlich verändert hat.

    Wie sind da eure Erfahrungen bezüglich des Platzverbrauches?
    Wie schnell wächst der an, wenn euer ursprünglicher Code z.B. 10000 Codezeilen beträgt?



  • Gigabyte Verschwender schrieb:

    a*(t1 + t2 + t5)

    Sorry, sollte a+(t1 + t2 + ... + t5) heißen.



  • Gigabyte Verschwender schrieb:

    Allerdings bin ich bezüglich des Platzverbrauchs skeptisch.
    Denn wenn ich z.B. 5 Commits mache (a1 bis a5), dann werden ja auch alle
    Versionen, also a1 bis a5 auf der Festplatte gespeichert.

    Es werden nur die Änderungen gespeichert und nicht die Datei komplett.



  • ein commit bei git ist ein snapshot des gesamten repositories, der aus dem tree (diffs alle änderungen) + ref auf parent(s). das ganze wird dann noch komprimiert.

    also wenn du dein repo nicht auf ner 5,25 zoll diskette ablegst, solltest du keine probleme kriegen.



  • bei ein paar Millionen Zeilen war mein git repo anfangs ca. 20mb groß, mittlerweile (d.h. ein paar hundert commits später) ca. 50mb.

    Man muss hin und wieder git compress oder sowas aufrufen (git gui macht das automatisch).


Anmelden zum Antworten