blob: bc7ff0f546db0b1f1374e3d2e018821c4bba41c5 [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" />
Junio C Hamanoba4b9282008-07-06 05:20:316<meta name="generator" content="AsciiDoc 8.2.5" />
Junio C Hamano52299462006-12-28 00:59:387<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
Junio C Hamanoba4b9282008-07-06 05:20:3119a {
20 color: blue;
21 text-decoration: underline;
22}
23a:visited {
24 color: fuchsia;
25}
Junio C Hamano52299462006-12-28 00:59:3826
27em {
28 font-style: italic;
29}
30
31strong {
32 font-weight: bold;
33}
34
35tt {
36 color: navy;
37}
38
39h1, h2, h3, h4, h5, h6 {
40 color: #527bbd;
41 font-family: sans-serif;
42 margin-top: 1.2em;
43 margin-bottom: 0.5em;
44 line-height: 1.3;
45}
46
Junio C Hamanoba4b9282008-07-06 05:20:3147h1, h2, h3 {
Junio C Hamano52299462006-12-28 00:59:3848 border-bottom: 2px solid silver;
49}
50h2 {
Junio C Hamano52299462006-12-28 00:59:3851 padding-top: 0.5em;
52}
Junio C Hamanoba4b9282008-07-06 05:20:3153h3 {
54 float: left;
55}
56h3 + * {
57 clear: left;
58}
Junio C Hamano52299462006-12-28 00:59:3859
60div.sectionbody {
61 font-family: serif;
62 margin-left: 0;
63}
64
65hr {
66 border: 1px solid silver;
67}
68
69p {
70 margin-top: 0.5em;
71 margin-bottom: 0.5em;
72}
73
74pre {
75 padding: 0;
76 margin: 0;
77}
78
79span#author {
80 color: #527bbd;
81 font-family: sans-serif;
82 font-weight: bold;
Junio C Hamanoba4b9282008-07-06 05:20:3183 font-size: 1.1em;
Junio C Hamano52299462006-12-28 00:59:3884}
85span#email {
86}
87span#revision {
88 font-family: sans-serif;
89}
90
91div#footer {
92 font-family: sans-serif;
93 font-size: small;
94 border-top: 2px solid silver;
95 padding-top: 0.5em;
96 margin-top: 4.0em;
97}
98div#footer-text {
99 float: left;
100 padding-bottom: 0.5em;
101}
102div#footer-badges {
103 float: right;
104 padding-bottom: 0.5em;
105}
106
107div#preamble,
108div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
109div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
110div.admonitionblock {
111 margin-right: 10%;
112 margin-top: 1.5em;
113 margin-bottom: 1.5em;
114}
115div.admonitionblock {
116 margin-top: 2.5em;
117 margin-bottom: 2.5em;
118}
119
120div.content { /* Block element content. */
121 padding: 0;
122}
123
124/* Block element titles. */
125div.title, caption.title {
126 font-family: sans-serif;
127 font-weight: bold;
128 text-align: left;
129 margin-top: 1.0em;
130 margin-bottom: 0.5em;
131}
132div.title + * {
133 margin-top: 0;
134}
135
136td div.title:first-child {
137 margin-top: 0.0em;
138}
139div.content div.title:first-child {
140 margin-top: 0.0em;
141}
142div.content + div.title {
143 margin-top: 0.0em;
144}
145
146div.sidebarblock > div.content {
147 background: #ffffee;
148 border: 1px solid silver;
149 padding: 0.5em;
150}
151
Junio C Hamanoba4b9282008-07-06 05:20:31152div.listingblock {
153 margin-right: 0%;
154}
Junio C Hamano52299462006-12-28 00:59:38155div.listingblock > div.content {
156 border: 1px solid silver;
157 background: #f4f4f4;
158 padding: 0.5em;
159}
160
161div.quoteblock > div.content {
162 padding-left: 2.0em;
163}
Junio C Hamanoba4b9282008-07-06 05:20:31164
165div.attribution {
Junio C Hamano52299462006-12-28 00:59:38166 text-align: right;
167}
Junio C Hamanoba4b9282008-07-06 05:20:31168div.verseblock + div.attribution {
169 text-align: left;
170}
Junio C Hamano52299462006-12-28 00:59:38171
172div.admonitionblock .icon {
173 vertical-align: top;
174 font-size: 1.1em;
175 font-weight: bold;
176 text-decoration: underline;
177 color: #527bbd;
178 padding-right: 0.5em;
179}
180div.admonitionblock td.content {
181 padding-left: 0.5em;
182 border-left: 2px solid silver;
183}
184
185div.exampleblock > div.content {
186 border-left: 2px solid silver;
187 padding: 0.5em;
188}
189
190div.verseblock div.content {
191 white-space: pre;
192}
193
194div.imageblock div.content { padding-left: 0; }
195div.imageblock img { border: 1px solid silver; }
196span.image img { border-style: none; }
197
198dl {
199 margin-top: 0.8em;
200 margin-bottom: 0.8em;
201}
202dt {
203 margin-top: 0.5em;
204 margin-bottom: 0;
205 font-style: italic;
206}
207dd > *:first-child {
208 margin-top: 0;
209}
210
211ul, ol {
212 list-style-position: outside;
213}
Junio C Hamanoba4b9282008-07-06 05:20:31214div.olist2 ol {
Junio C Hamano52299462006-12-28 00:59:38215 list-style-type: lower-alpha;
216}
217
218div.tableblock > table {
Junio C Hamanoba4b9282008-07-06 05:20:31219 border: 3px solid #527bbd;
Junio C Hamano52299462006-12-28 00:59:38220}
221thead {
222 font-family: sans-serif;
223 font-weight: bold;
224}
225tfoot {
226 font-weight: bold;
227}
228
229div.hlist {
230 margin-top: 0.8em;
231 margin-bottom: 0.8em;
232}
Junio C Hamanoba4b9282008-07-06 05:20:31233div.hlist td {
234 padding-bottom: 5px;
235}
Junio C Hamano52299462006-12-28 00:59:38236td.hlist1 {
237 vertical-align: top;
238 font-style: italic;
239 padding-right: 0.8em;
240}
241td.hlist2 {
242 vertical-align: top;
243}
244
245@media print {
246 div#footer-badges { display: none; }
247}
Junio C Hamanoba4b9282008-07-06 05:20:31248
249div#toctitle {
250 color: #527bbd;
251 font-family: sans-serif;
252 font-size: 1.1em;
253 font-weight: bold;
254 margin-top: 1.0em;
255 margin-bottom: 0.1em;
256}
257
258div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
259 margin-top: 0;
260 margin-bottom: 0;
261}
262div.toclevel2 {
263 margin-left: 2em;
264 font-size: 0.9em;
265}
266div.toclevel3 {
267 margin-left: 4em;
268 font-size: 0.9em;
269}
270div.toclevel4 {
271 margin-left: 6em;
272 font-size: 0.9em;
273}
274include1::./stylesheets/xhtml11-manpage.css[]
Junio C Hamano52299462006-12-28 00:59:38275/* Workarounds for IE6's broken and incomplete CSS2. */
276
277div.sidebar-content {
278 background: #ffffee;
279 border: 1px solid silver;
280 padding: 0.5em;
281}
282div.sidebar-title, div.image-title {
283 font-family: sans-serif;
284 font-weight: bold;
285 margin-top: 0.0em;
286 margin-bottom: 0.5em;
287}
288
289div.listingblock div.content {
290 border: 1px solid silver;
291 background: #f4f4f4;
292 padding: 0.5em;
293}
294
295div.quoteblock-content {
296 padding-left: 2.0em;
297}
298
299div.exampleblock-content {
300 border-left: 2px solid silver;
301 padding-left: 0.5em;
302}
Junio C Hamanoba4b9282008-07-06 05:20:31303
304/* IE6 sets dynamically generated links as visited. */
305div#toc a:visited { color: blue; }
Junio C Hamano52299462006-12-28 00:59:38306</style>
307<title>git-gc(1)</title>
308</head>
309<body>
310<div id="header">
311<h1>
312git-gc(1) Manual Page
313</h1>
314<h2>NAME</h2>
315<div class="sectionbody">
316<p>git-gc -
317 Cleanup unnecessary files and optimize the local repository
318</p>
319</div>
320</div>
321<h2>SYNOPSIS</h2>
322<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31323<div class="para"><p><em>git gc</em> [--aggressive] [--auto] [--quiet]</p></div>
Junio C Hamano52299462006-12-28 00:59:38324</div>
Junio C Hamanoba4b9282008-07-06 05:20:31325<h2 id="_description">DESCRIPTION</h2>
Junio C Hamano52299462006-12-28 00:59:38326<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31327<div class="para"><p>Runs a number of housekeeping tasks within the current repository,
Junio C Hamano52299462006-12-28 00:59:38328such as compressing file revisions (to reduce disk space and increase
329performance) and removing unreachable objects which may have been
Junio C Hamanoba4b9282008-07-06 05:20:31330created from prior invocations of <em>git-add</em>.</p></div>
331<div class="para"><p>Users are encouraged to run this task on a regular basis within
Junio C Hamano52299462006-12-28 00:59:38332each repository to maintain good disk space utilization and good
Junio C Hamanoba4b9282008-07-06 05:20:31333operating performance.</p></div>
334<div class="para"><p>Some git commands may automatically run <em>git-gc</em>; see the <tt>--auto</tt> flag
Junio C Hamanod04b60c2008-03-20 08:46:04335below for details. If you know what you're doing and all you want is to
Junio C Hamanoba4b9282008-07-06 05:20:31336disable this behavior permanently without further considerations, just do:</p></div>
Junio C Hamanod04b60c2008-03-20 08:46:04337<div class="listingblock">
338<div class="content">
339<pre><tt>$ git config --global gc.auto 0</tt></pre>
340</div></div>
Junio C Hamano52299462006-12-28 00:59:38341</div>
Junio C Hamanoba4b9282008-07-06 05:20:31342<h2 id="_options">OPTIONS</h2>
Junio C Hamanof65d9282007-01-22 09:00:13343<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31344<div class="vlist"><dl>
Junio C Hamanof65d9282007-01-22 09:00:13345<dt>
Junio C Hamanof2ce2972007-05-20 19:12:09346--aggressive
347</dt>
348<dd>
349<p>
Junio C Hamanoba4b9282008-07-06 05:20:31350 Usually <em>git-gc</em> runs very quickly while providing good disk
Junio C Hamano679d22d2007-06-02 21:13:44351 space utilization and performance. This option will cause
Junio C Hamanoba4b9282008-07-06 05:20:31352 <em>git-gc</em> to more aggressively optimize the repository at the expense
Junio C Hamanof2ce2972007-05-20 19:12:09353 of taking much more time. The effects of this optimization are
Junio C Hamano679d22d2007-06-02 21:13:44354 persistent, so this option only needs to be used occasionally; every
Junio C Hamanof2ce2972007-05-20 19:12:09355 few hundred changesets or so.
356</p>
357</dd>
Junio C Hamano1b50ce92007-10-03 12:05:53358<dt>
359--auto
360</dt>
361<dd>
362<p>
Junio C Hamanoba4b9282008-07-06 05:20:31363 With this option, <em>git-gc</em> checks whether any housekeeping is
Junio C Hamano764a6672007-10-23 01:23:31364 required; if not, it exits without performing any work.
365 Some git commands run <tt>git gc --auto</tt> after performing
366 operations that could create many loose objects.
Junio C Hamano1b50ce92007-10-03 12:05:53367</p>
Junio C Hamanoba4b9282008-07-06 05:20:31368<div class="para"><p>Housekeeping is required if there are too many loose objects or
Junio C Hamano764a6672007-10-23 01:23:31369too many packs in the repository. If the number of loose objects
370exceeds the value of the <tt>gc.auto</tt> configuration variable, then
371all loose objects are combined into a single pack using
Junio C Hamanoba4b9282008-07-06 05:20:31372<em>git-repack -d -l</em>. Setting the value of <tt>gc.auto</tt> to 0
373disables automatic packing of loose objects.</p></div>
374<div class="para"><p>If the number of packs exceeds the value of <tt>gc.autopacklimit</tt>,
Junio C Hamano764a6672007-10-23 01:23:31375then existing packs (except those marked with a <tt>.keep</tt> file)
376are consolidated into a single pack by using the <tt>-A</tt> option of
Junio C Hamanoba4b9282008-07-06 05:20:31377<em>git-repack</em>. Setting <tt>gc.autopacklimit</tt> to 0 disables
378automatic consolidation of packs.</p></div>
Junio C Hamano1b50ce92007-10-03 12:05:53379</dd>
Junio C Hamano69a98582008-03-01 18:42:18380<dt>
381--quiet
382</dt>
383<dd>
384<p>
385 Suppress all progress reports.
386</p>
387</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31388</dl></div>
Junio C Hamanof65d9282007-01-22 09:00:13389</div>
Junio C Hamanoba4b9282008-07-06 05:20:31390<h2 id="_configuration">Configuration</h2>
Junio C Hamano52299462006-12-28 00:59:38391<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31392<div class="para"><p>The optional configuration variable <em>gc.reflogExpire</em> can be
Junio C Hamano52299462006-12-28 00:59:38393set to indicate how long historical entries within each branch's
394reflog should remain available in this repository. The setting is
395expressed as a length of time, for example <em>90 days</em> or <em>3 months</em>.
Junio C Hamanoba4b9282008-07-06 05:20:31396It defaults to <em>90 days</em>.</p></div>
397<div class="para"><p>The optional configuration variable <em>gc.reflogExpireUnreachable</em>
Junio C Hamano52299462006-12-28 00:59:38398can be set to indicate how long historical reflog entries which
399are not part of the current branch should remain available in
400this repository. These types of entries are generally created as
401a result of using <tt>git commit --amend</tt> or <tt>git rebase</tt> and are the
Junio C Hamanof9771f62007-01-17 17:42:30402commits prior to the amend or rebase occurring. Since these changes
Junio C Hamano52299462006-12-28 00:59:38403are not part of the current project most users will want to expire
Junio C Hamanoba4b9282008-07-06 05:20:31404them sooner. This option defaults to <em>30 days</em>.</p></div>
405<div class="para"><p>The optional configuration variable <em>gc.rerereresolved</em> indicates
Junio C Hamano52299462006-12-28 00:59:38406how long records of conflicted merge you resolved earlier are
Junio C Hamanoba4b9282008-07-06 05:20:31407kept. This defaults to 60 days.</p></div>
408<div class="para"><p>The optional configuration variable <em>gc.rerereunresolved</em> indicates
Junio C Hamano52299462006-12-28 00:59:38409how long records of conflicted merge you have not resolved are
Junio C Hamanoba4b9282008-07-06 05:20:31410kept. This defaults to 15 days.</p></div>
411<div class="para"><p>The optional configuration variable <em>gc.packrefs</em> determines if
412<em>git-gc</em> runs <em>git-pack-refs</em>. This can be set to "nobare" to enable
Junio C Hamanoe77b0152008-01-12 06:44:17413it within all non-bare repos or it can be set to a boolean value.
Junio C Hamanoba4b9282008-07-06 05:20:31414This defaults to true.</p></div>
415<div class="para"><p>The optional configuration variable <em>gc.aggressiveWindow</em> controls how
Junio C Hamanof2ce2972007-05-20 19:12:09416much time is spent optimizing the delta compression of the objects in
417the repository when the --aggressive option is specified. The larger
418the value, the more time is spent optimizing the delta compression. See
419the documentation for the --window' option in <a href="git-repack.html">git-repack(1)</a> for
Junio C Hamanoba4b9282008-07-06 05:20:31420more details. This defaults to 10.</p></div>
421<div class="para"><p>The optional configuration variable <em>gc.pruneExpire</em> controls how old
Junio C Hamano09a926d2008-03-13 07:55:29422the unreferenced loose objects have to be before they are pruned. The
Junio C Hamanoba4b9282008-07-06 05:20:31423default is "2 weeks ago".</p></div>
Junio C Hamano52299462006-12-28 00:59:38424</div>
Junio C Hamanoba4b9282008-07-06 05:20:31425<h2 id="_notes">Notes</h2>
Junio C Hamano2f102bb2008-04-26 02:23:37426<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31427<div class="para"><p><em>git-gc</em> tries very hard to be safe about the garbage it collects. In
Junio C Hamano2f102bb2008-04-26 02:23:37428particular, it will keep not only objects referenced by your current set
429of branches and tags, but also objects referenced by the index, remote
Junio C Hamanoba4b9282008-07-06 05:20:31430tracking branches, refs saved by <em>git-filter-branch</em> in
Junio C Hamano2f102bb2008-04-26 02:23:37431refs/original/, or reflogs (which may references commits in branches
Junio C Hamanoba4b9282008-07-06 05:20:31432that were later amended or rewound).</p></div>
433<div class="para"><p>If you are expecting some objects to be collected and they aren't, check
Junio C Hamano2f102bb2008-04-26 02:23:37434all of those locations and decide whether it makes sense in your case to
Junio C Hamanoba4b9282008-07-06 05:20:31435remove those references.</p></div>
Junio C Hamano2f102bb2008-04-26 02:23:37436</div>
Junio C Hamanoba4b9282008-07-06 05:20:31437<h2 id="_see_also">SEE ALSO</h2>
Junio C Hamano52299462006-12-28 00:59:38438<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31439<div class="para"><p><a href="git-prune.html">git-prune(1)</a>
Junio C Hamano52299462006-12-28 00:59:38440<a href="git-reflog.html">git-reflog(1)</a>
441<a href="git-repack.html">git-repack(1)</a>
Junio C Hamanoba4b9282008-07-06 05:20:31442<a href="git-rerere.html">git-rerere(1)</a></p></div>
Junio C Hamano52299462006-12-28 00:59:38443</div>
Junio C Hamanoba4b9282008-07-06 05:20:31444<h2 id="_author">Author</h2>
Junio C Hamano52299462006-12-28 00:59:38445<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31446<div class="para"><p>Written by Shawn O. Pearce &lt;spearce@spearce.org&gt;</p></div>
Junio C Hamano52299462006-12-28 00:59:38447</div>
Junio C Hamanoba4b9282008-07-06 05:20:31448<h2 id="_git">GIT</h2>
Junio C Hamano52299462006-12-28 00:59:38449<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31450<div class="para"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
Junio C Hamano52299462006-12-28 00:59:38451</div>
452<div id="footer">
453<div id="footer-text">
Junio C Hamanoba4b9282008-07-06 05:20:31454Last updated 2008-07-06 05:16:49 UTC
Junio C Hamano52299462006-12-28 00:59:38455</div>
456</div>
457</body>
458</html>