Start·Terminal-Befehle

git gc

git

Aufruf

git gc [--aggressive] [--prune=<date>]

Packt lose Objekte und verwirft unerreichbare, um .git zu verkleinern; --prune=now wirft auch die Commits weg, die der Reflog hielt, und damit das Sicherheitsnetz zum Rückgängigmachen eines Resets.

Häufige Optionen

OptionBedeutung
--aggressiverepack harder; slow, occasionally worth it
--prune=<date>drop unreachable objects older than that
--prune=nowdrop them all, which also throws away reflog-only commits
--autodo nothing unless there is enough loose junk
--no-prunerepack but keep unreachable objects
-qno progress output

Beispiele

git gc

packs loose objects and shrinks .git

git gc --auto

the cheap check git itself runs after some commands

git gc --prune=now --aggressive

smallest result, and no way back to lost commits

Verwirrend ist, dass Rückgängig mehrere Formen hat — den Zeiger eines Branch zu verschieben ist nicht dasselbe wie einen Gegen-Commit zu setzen.

So liest man das

  • Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
  • Drei Punkte … heißen: mehrere sind erlaubt.
  • Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.

Häufige Fragen

Q. Was macht git gc?

Packt lose Objekte und verwirft unerreichbare, um .git zu verkleinern; --prune=now wirft auch die Commits weg, die der Reflog hielt, und damit das Sicherheitsnetz zum Rückgängigmachen eines Resets.

Q. Wie gibt man ihn ein?

git gc [--aggressive] [--prune=<date>] — eckige Klammern markieren, was wegfallen darf.

Q. Wie viele Optionen lohnen sich?

Hier stehen 6; die vollständige Liste steht in man git. Der Befehl gehört zu git.

Verwandte Befehle

man-Seite: man git-gc