Wie kann die Git-Größe reduziert werden (durch Löschen lokaler alter Commits)?

Lesezeit: 1 Minute

Ich habe ein Git-Repository, dessen Quellgröße nur 1 MB beträgt, aber einen 300 MB großen .git-Ordner. Es enthält über 10000 Commits.

Ich möchte mein lokales Repository klein halten, indem ich nur einige neuere Commits lokal behalte, wie kann ich das tun.

  • Tut git gc Hilfe? Das Entfernen alter Commits widerspricht vollständig dem Geist von Git. Normalerweise möchten Sie den gesamten Verlauf lokal haben. Warum haben Sie überhaupt 10000 Commits in einem so kleinen Repo? Wie auch immer, Sie können einen flachen Klon mit erstellen git clone --depth N die nur den N letzten Commit im Klon haben wird.

    – Meister der Diebe

    8. Oktober 2014 um 3:15 Uhr


  • Ich habe es versucht, hilft nicht viel. Aber git clone --depth N hilft.

    – Sato

    8. Oktober 2014 um 5:39 Uhr

Versionen von Git vor 1.9 sind nicht besonders gut im Umgang mit flachen Klonen. Wenn Sie diesen Weg gehen, stellen Sie sicher, dass Sie eine aktuelle Version von Git verwenden.

Normalerweise sind Commits sehr klein, und selbst 10.000 Commits sollten nicht viel Platz verbrauchen. Die Blobs, auf die sie zeigen, können jedoch.

Angenommen, Sie können die Geschichte nicht dauerhaft ändern

Versuchen Sie ein aggressives Neupacken, um die Objekte zu komprimieren.

git repack -a -d --depth=250 --window=250

Verwenden Sie einen gemeinsam genutzten Objektspeicher, wenn dies für Ihre Situation durchführbar ist .git/objects/info/alternates

Wenn diese nicht funktionieren und der Verlauf behoben ist, versuchen Sie es mit einem flachen Klon git clone --depth. Lesen Sie unbedingt die Hilfeseite zum Klonen und verstehen Sie, was Sie tun.

997260cookie-checkWie kann die Git-Größe reduziert werden (durch Löschen lokaler alter Commits)?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy