path: root/Documentation/git-gc.txt
diff options
authorÆvar Arnfjörð Bjarmason <>2019-03-22 09:32:32 (GMT)
committerJunio C Hamano <>2019-03-24 12:31:10 (GMT)
commitb11e8560cc1be17268136504cb80b00fbf4182dc (patch)
tree4a66f8488d3814d5c8b439d2b3efa0ffe6a51fec /Documentation/git-gc.txt
parent041f5ea1cf987a4068ef5f39ba0a09be85952064 (diff)
gc docs: modernize the advice for manually running "gc"
The docs have been recommending that users need to run this manually, but that hasn't been needed in practice for a long time except in exceptional circumstances. Let's instead have this reflect reality and say that most users don't need to run this manually at all, while briefly describing the sorts sort of cases where "gc" does need to be run manually. Since we're recommending that users run this most of the and usually don't need to tweak it, let's tone down the very prominent example of the command. It's sufficient to point to the documentation below. Signed-off-by: Ævar Arnfjörð Bjarmason <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation/git-gc.txt')
1 files changed, 10 insertions, 11 deletions
diff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt
index a7c1b0f..dd22eec 100644
--- a/Documentation/git-gc.txt
+++ b/Documentation/git-gc.txt
@@ -20,17 +20,16 @@ created from prior invocations of 'git add', packing refs, pruning
reflog, rerere metadata or stale working trees. May also update ancillary
indexes such as the commit-graph.
-Users are encouraged to run this task on a regular basis within
-each repository to maintain good disk space utilization and good
-operating performance.
-Some git commands may automatically run 'git gc'; see the `--auto` flag
-below for details. If you know what you're doing and all you want is to
-disable this behavior permanently without further considerations, just do:
-$ git config --global 0
+When common porcelain operations that create objects are run, they
+will check whether the repository has grown substantially since the
+last maintenance, and if so run `git gc` automatically. See ``
+below for how to disable this behavior.
+Running `git gc` manually should only be needed when adding objects to
+a repository without regularly running such porcelain commands, to do
+a one-off repository optimization, or e.g. to clean up a suboptimal
+mass-import. See the "PACKFILE OPTIMIZATION" section in
+linkgit:git-fast-import[1] for more details on the import case.