blob: 35756909b7754b7227988ff2f907e4754a7871ef [file] [log] [blame]
Junio C Hamano52299462006-12-28 00:59:381<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6<meta name="generator" content="AsciiDoc 7.0.2" />
7<style type="text/css">
8/* Debug borders */
9p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
10/*
11 border: 1px solid red;
12*/
13}
14
15body {
16 margin: 1em 5% 1em 5%;
17}
18
19a { color: blue; }
20a:visited { color: fuchsia; }
21
22em {
23 font-style: italic;
24}
25
26strong {
27 font-weight: bold;
28}
29
30tt {
31 color: navy;
32}
33
34h1, h2, h3, h4, h5, h6 {
35 color: #527bbd;
36 font-family: sans-serif;
37 margin-top: 1.2em;
38 margin-bottom: 0.5em;
39 line-height: 1.3;
40}
41
42h1 {
43 border-bottom: 2px solid silver;
44}
45h2 {
46 border-bottom: 2px solid silver;
47 padding-top: 0.5em;
48}
49
50div.sectionbody {
51 font-family: serif;
52 margin-left: 0;
53}
54
55hr {
56 border: 1px solid silver;
57}
58
59p {
60 margin-top: 0.5em;
61 margin-bottom: 0.5em;
62}
63
64pre {
65 padding: 0;
66 margin: 0;
67}
68
69span#author {
70 color: #527bbd;
71 font-family: sans-serif;
72 font-weight: bold;
73 font-size: 1.2em;
74}
75span#email {
76}
77span#revision {
78 font-family: sans-serif;
79}
80
81div#footer {
82 font-family: sans-serif;
83 font-size: small;
84 border-top: 2px solid silver;
85 padding-top: 0.5em;
86 margin-top: 4.0em;
87}
88div#footer-text {
89 float: left;
90 padding-bottom: 0.5em;
91}
92div#footer-badges {
93 float: right;
94 padding-bottom: 0.5em;
95}
96
97div#preamble,
98div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
99div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
100div.admonitionblock {
101 margin-right: 10%;
102 margin-top: 1.5em;
103 margin-bottom: 1.5em;
104}
105div.admonitionblock {
106 margin-top: 2.5em;
107 margin-bottom: 2.5em;
108}
109
110div.content { /* Block element content. */
111 padding: 0;
112}
113
114/* Block element titles. */
115div.title, caption.title {
116 font-family: sans-serif;
117 font-weight: bold;
118 text-align: left;
119 margin-top: 1.0em;
120 margin-bottom: 0.5em;
121}
122div.title + * {
123 margin-top: 0;
124}
125
126td div.title:first-child {
127 margin-top: 0.0em;
128}
129div.content div.title:first-child {
130 margin-top: 0.0em;
131}
132div.content + div.title {
133 margin-top: 0.0em;
134}
135
136div.sidebarblock > div.content {
137 background: #ffffee;
138 border: 1px solid silver;
139 padding: 0.5em;
140}
141
142div.listingblock > div.content {
143 border: 1px solid silver;
144 background: #f4f4f4;
145 padding: 0.5em;
146}
147
148div.quoteblock > div.content {
149 padding-left: 2.0em;
150}
151div.quoteblock .attribution {
152 text-align: right;
153}
154
155div.admonitionblock .icon {
156 vertical-align: top;
157 font-size: 1.1em;
158 font-weight: bold;
159 text-decoration: underline;
160 color: #527bbd;
161 padding-right: 0.5em;
162}
163div.admonitionblock td.content {
164 padding-left: 0.5em;
165 border-left: 2px solid silver;
166}
167
168div.exampleblock > div.content {
169 border-left: 2px solid silver;
170 padding: 0.5em;
171}
172
173div.verseblock div.content {
174 white-space: pre;
175}
176
177div.imageblock div.content { padding-left: 0; }
178div.imageblock img { border: 1px solid silver; }
179span.image img { border-style: none; }
180
181dl {
182 margin-top: 0.8em;
183 margin-bottom: 0.8em;
184}
185dt {
186 margin-top: 0.5em;
187 margin-bottom: 0;
188 font-style: italic;
189}
190dd > *:first-child {
191 margin-top: 0;
192}
193
194ul, ol {
195 list-style-position: outside;
196}
197ol.olist2 {
198 list-style-type: lower-alpha;
199}
200
201div.tableblock > table {
202 border-color: #527bbd;
203 border-width: 3px;
204}
205thead {
206 font-family: sans-serif;
207 font-weight: bold;
208}
209tfoot {
210 font-weight: bold;
211}
212
213div.hlist {
214 margin-top: 0.8em;
215 margin-bottom: 0.8em;
216}
217td.hlist1 {
218 vertical-align: top;
219 font-style: italic;
220 padding-right: 0.8em;
221}
222td.hlist2 {
223 vertical-align: top;
224}
225
226@media print {
227 div#footer-badges { display: none; }
228}
229include::./stylesheets/xhtml11-manpage.css[]
230/* Workarounds for IE6's broken and incomplete CSS2. */
231
232div.sidebar-content {
233 background: #ffffee;
234 border: 1px solid silver;
235 padding: 0.5em;
236}
237div.sidebar-title, div.image-title {
238 font-family: sans-serif;
239 font-weight: bold;
240 margin-top: 0.0em;
241 margin-bottom: 0.5em;
242}
243
244div.listingblock div.content {
245 border: 1px solid silver;
246 background: #f4f4f4;
247 padding: 0.5em;
248}
249
250div.quoteblock-content {
251 padding-left: 2.0em;
252}
253
254div.exampleblock-content {
255 border-left: 2px solid silver;
256 padding-left: 0.5em;
257}
258</style>
259<title>git-gc(1)</title>
260</head>
261<body>
262<div id="header">
263<h1>
264git-gc(1) Manual Page
265</h1>
266<h2>NAME</h2>
267<div class="sectionbody">
268<p>git-gc -
269 Cleanup unnecessary files and optimize the local repository
270</p>
271</div>
272</div>
273<h2>SYNOPSIS</h2>
274<div class="sectionbody">
Junio C Hamano09a926d2008-03-13 07:55:29275<p><em>git-gc</em> [--aggressive] [--auto] [--quiet]</p>
Junio C Hamano52299462006-12-28 00:59:38276</div>
277<h2>DESCRIPTION</h2>
278<div class="sectionbody">
279<p>Runs a number of housekeeping tasks within the current repository,
280such as compressing file revisions (to reduce disk space and increase
281performance) and removing unreachable objects which may have been
282created from prior invocations of <a href="git-add.html">git-add(1)</a>.</p>
283<p>Users are encouraged to run this task on a regular basis within
284each repository to maintain good disk space utilization and good
Junio C Hamanod04b60c2008-03-20 08:46:04285operating performance.</p>
286<p>Some git commands may automatically run <tt>git-gc</tt>; see the <tt>--auto</tt> flag
287below for details. If you know what you're doing and all you want is to
288disable this behavior permanently without further considerations, just do:</p>
289<div class="listingblock">
290<div class="content">
291<pre><tt>$ git config --global gc.auto 0</tt></pre>
292</div></div>
Junio C Hamano52299462006-12-28 00:59:38293</div>
Junio C Hamanof65d9282007-01-22 09:00:13294<h2>OPTIONS</h2>
295<div class="sectionbody">
296<dl>
297<dt>
Junio C Hamanof2ce2972007-05-20 19:12:09298--aggressive
299</dt>
300<dd>
301<p>
302 Usually <em>git-gc</em> runs very quickly while providing good disk
Junio C Hamano679d22d2007-06-02 21:13:44303 space utilization and performance. This option will cause
304 git-gc to more aggressively optimize the repository at the expense
Junio C Hamanof2ce2972007-05-20 19:12:09305 of taking much more time. The effects of this optimization are
Junio C Hamano679d22d2007-06-02 21:13:44306 persistent, so this option only needs to be used occasionally; every
Junio C Hamanof2ce2972007-05-20 19:12:09307 few hundred changesets or so.
308</p>
309</dd>
Junio C Hamano1b50ce92007-10-03 12:05:53310<dt>
311--auto
312</dt>
313<dd>
314<p>
Junio C Hamano764a6672007-10-23 01:23:31315 With this option, <tt>git gc</tt> checks whether any housekeeping is
316 required; if not, it exits without performing any work.
317 Some git commands run <tt>git gc --auto</tt> after performing
318 operations that could create many loose objects.
Junio C Hamano1b50ce92007-10-03 12:05:53319</p>
Junio C Hamano764a6672007-10-23 01:23:31320<p>Housekeeping is required if there are too many loose objects or
321too many packs in the repository. If the number of loose objects
322exceeds the value of the <tt>gc.auto</tt> configuration variable, then
323all loose objects are combined into a single pack using
324<tt>git-repack -d -l</tt>. Setting the value of <tt>gc.auto</tt> to 0
325disables automatic packing of loose objects.</p>
326<p>If the number of packs exceeds the value of <tt>gc.autopacklimit</tt>,
327then existing packs (except those marked with a <tt>.keep</tt> file)
328are consolidated into a single pack by using the <tt>-A</tt> option of
329<tt>git-repack</tt>. Setting <tt>gc.autopacklimit</tt> to 0 disables
330automatic consolidation of packs.</p>
Junio C Hamano1b50ce92007-10-03 12:05:53331</dd>
Junio C Hamano69a98582008-03-01 18:42:18332<dt>
333--quiet
334</dt>
335<dd>
336<p>
337 Suppress all progress reports.
338</p>
339</dd>
Junio C Hamanof65d9282007-01-22 09:00:13340</dl>
341</div>
Junio C Hamano52299462006-12-28 00:59:38342<h2>Configuration</h2>
343<div class="sectionbody">
344<p>The optional configuration variable <em>gc.reflogExpire</em> can be
345set to indicate how long historical entries within each branch's
346reflog should remain available in this repository. The setting is
347expressed as a length of time, for example <em>90 days</em> or <em>3 months</em>.
348It defaults to <em>90 days</em>.</p>
349<p>The optional configuration variable <em>gc.reflogExpireUnreachable</em>
350can be set to indicate how long historical reflog entries which
351are not part of the current branch should remain available in
352this repository. These types of entries are generally created as
353a result of using <tt>git commit --amend</tt> or <tt>git rebase</tt> and are the
Junio C Hamanof9771f62007-01-17 17:42:30354commits prior to the amend or rebase occurring. Since these changes
Junio C Hamano52299462006-12-28 00:59:38355are not part of the current project most users will want to expire
356them sooner. This option defaults to <em>30 days</em>.</p>
357<p>The optional configuration variable <em>gc.rerereresolved</em> indicates
358how long records of conflicted merge you resolved earlier are
359kept. This defaults to 60 days.</p>
360<p>The optional configuration variable <em>gc.rerereunresolved</em> indicates
361how long records of conflicted merge you have not resolved are
362kept. This defaults to 15 days.</p>
Junio C Hamano9d52e572007-02-13 23:48:20363<p>The optional configuration variable <em>gc.packrefs</em> determines if
Junio C Hamanoe77b0152008-01-12 06:44:17364<tt>git gc</tt> runs <tt>git-pack-refs</tt>. This can be set to "nobare" to enable
365it within all non-bare repos or it can be set to a boolean value.
366This defaults to true.</p>
Junio C Hamanof2ce2972007-05-20 19:12:09367<p>The optional configuration variable <em>gc.aggressiveWindow</em> controls how
368much time is spent optimizing the delta compression of the objects in
369the repository when the --aggressive option is specified. The larger
370the value, the more time is spent optimizing the delta compression. See
371the documentation for the --window' option in <a href="git-repack.html">git-repack(1)</a> for
372more details. This defaults to 10.</p>
Junio C Hamano09a926d2008-03-13 07:55:29373<p>The optional configuration variable <em>gc.pruneExpire</em> controls how old
374the unreferenced loose objects have to be before they are pruned. The
375default is "2 weeks ago".</p>
Junio C Hamano52299462006-12-28 00:59:38376</div>
377<h2>See Also</h2>
378<div class="sectionbody">
379<p><a href="git-prune.html">git-prune(1)</a>
380<a href="git-reflog.html">git-reflog(1)</a>
381<a href="git-repack.html">git-repack(1)</a>
382<a href="git-rerere.html">git-rerere(1)</a></p>
383</div>
384<h2>Author</h2>
385<div class="sectionbody">
386<p>Written by Shawn O. Pearce &lt;spearce@spearce.org&gt;</p>
387</div>
388<h2>GIT</h2>
389<div class="sectionbody">
390<p>Part of the <a href="git.html">git(7)</a> suite</p>
391</div>
392<div id="footer">
393<div id="footer-text">
Junio C Hamanod04b60c2008-03-20 08:46:04394Last updated 20-Mar-2008 08:45:34 UTC
Junio C Hamano52299462006-12-28 00:59:38395</div>
396</div>
397</body>
398</html>