X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-gc.txt;h=d424a4ecbe2c751550f50048e63ce640941a3ebb;hb=6c41b80153a2e4ee347d0e968ee8d0d9abfc8862;hp=872056ea040f1f4953b538aaa4a14ded4d2170a9;hpb=9f165805f3bde8cd91653f2db1c35a4548b85625;p=git.git diff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt index 872056ea0..d424a4ecb 100644 --- a/Documentation/git-gc.txt +++ b/Documentation/git-gc.txt @@ -8,34 +8,30 @@ git-gc - Cleanup unnecessary files and optimize the local repository SYNOPSIS -------- -'git-gc' [--prune] [--aggressive] [--auto] +'git-gc' [--aggressive] [--auto] [--quiet] DESCRIPTION ----------- Runs a number of housekeeping tasks within the current repository, such as compressing file revisions (to reduce disk space and increase performance) and removing unreachable objects which may have been -created from prior invocations of gitlink:git-add[1]. +created from prior invocations of linkgit:git-add[1]. 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. +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 gc.auto 0 +---------------------- OPTIONS ------- ---prune:: - Usually `git-gc` packs refs, expires old reflog entries, - packs loose objects, - and removes old 'rerere' records. Removal - of unreferenced loose objects is an unsafe operation - while other git operations are in progress, so it is not - done by default. Pass this option if you want it, and only - when you know nobody else is creating new objects in the - repository at the same time (e.g. never use this option - in a cron script). - --aggressive:: Usually 'git-gc' runs very quickly while providing good disk space utilization and performance. This option will cause @@ -63,6 +59,9 @@ are consolidated into a single pack by using the `-A` option of `git-repack`. Setting `gc.autopacklimit` to 0 disables automatic consolidation of packs. +--quiet:: + Suppress all progress reports. + Configuration ------------- @@ -90,23 +89,27 @@ how long records of conflicted merge you have not resolved are kept. This defaults to 15 days. The optional configuration variable 'gc.packrefs' determines if -`git gc` runs `git-pack-refs`. Without the configuration, `git-pack-refs` -is not run in bare repositories by default, to allow older dumb-transport -clients fetch from the repository, but this will change in the future. +`git gc` runs `git-pack-refs`. This can be set to "nobare" to enable +it within all non-bare repos or it can be set to a boolean value. +This defaults to true. The optional configuration variable 'gc.aggressiveWindow' controls how much time is spent optimizing the delta compression of the objects in the repository when the --aggressive option is specified. The larger the value, the more time is spent optimizing the delta compression. See -the documentation for the --window' option in gitlink:git-repack[1] for +the documentation for the --window' option in linkgit:git-repack[1] for more details. This defaults to 10. +The optional configuration variable 'gc.pruneExpire' controls how old +the unreferenced loose objects have to be before they are pruned. The +default is "2 weeks ago". + See Also -------- -gitlink:git-prune[1] -gitlink:git-reflog[1] -gitlink:git-repack[1] -gitlink:git-rerere[1] +linkgit:git-prune[1] +linkgit:git-reflog[1] +linkgit:git-repack[1] +linkgit:git-rerere[1] Author ------ @@ -114,4 +117,4 @@ Written by Shawn O. Pearce GIT --- -Part of the gitlink:git[7] suite +Part of the linkgit:git[7] suite