blob: b09cd301b3a201252c5976d194eae57d801b2f99 [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 Hamano7bd050f2011-09-22 06:32:226<meta name="generator" content="AsciiDoc 8.5.2" />
Junio C Hamano97bcb482010-11-25 03:16:077<title>git-gc(1)</title>
Junio C Hamano52299462006-12-28 00:59:388<style type="text/css">
9/* Debug borders */
10p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
11/*
12 border: 1px solid red;
13*/
14}
15
16body {
17 margin: 1em 5% 1em 5%;
18}
19
Junio C Hamanoba4b9282008-07-06 05:20:3120a {
21 color: blue;
22 text-decoration: underline;
23}
24a:visited {
25 color: fuchsia;
26}
Junio C Hamano52299462006-12-28 00:59:3827
28em {
29 font-style: italic;
Junio C Hamano97bcb482010-11-25 03:16:0730 color: navy;
Junio C Hamano52299462006-12-28 00:59:3831}
32
33strong {
34 font-weight: bold;
Junio C Hamano97bcb482010-11-25 03:16:0735 color: #083194;
Junio C Hamano52299462006-12-28 00:59:3836}
37
38tt {
39 color: navy;
40}
41
42h1, h2, h3, h4, h5, h6 {
43 color: #527bbd;
44 font-family: sans-serif;
45 margin-top: 1.2em;
46 margin-bottom: 0.5em;
47 line-height: 1.3;
48}
49
Junio C Hamanoba4b9282008-07-06 05:20:3150h1, h2, h3 {
Junio C Hamano52299462006-12-28 00:59:3851 border-bottom: 2px solid silver;
52}
53h2 {
Junio C Hamano52299462006-12-28 00:59:3854 padding-top: 0.5em;
55}
Junio C Hamanoba4b9282008-07-06 05:20:3156h3 {
57 float: left;
58}
59h3 + * {
60 clear: left;
61}
Junio C Hamano52299462006-12-28 00:59:3862
63div.sectionbody {
64 font-family: serif;
65 margin-left: 0;
66}
67
68hr {
69 border: 1px solid silver;
70}
71
72p {
73 margin-top: 0.5em;
74 margin-bottom: 0.5em;
75}
76
Junio C Hamano97bcb482010-11-25 03:16:0777ul, ol, li > p {
78 margin-top: 0;
79}
80
Junio C Hamano52299462006-12-28 00:59:3881pre {
82 padding: 0;
83 margin: 0;
84}
85
86span#author {
87 color: #527bbd;
88 font-family: sans-serif;
89 font-weight: bold;
Junio C Hamanoba4b9282008-07-06 05:20:3190 font-size: 1.1em;
Junio C Hamano52299462006-12-28 00:59:3891}
92span#email {
93}
Junio C Hamano97bcb482010-11-25 03:16:0794span#revnumber, span#revdate, span#revremark {
Junio C Hamano52299462006-12-28 00:59:3895 font-family: sans-serif;
96}
97
98div#footer {
99 font-family: sans-serif;
100 font-size: small;
101 border-top: 2px solid silver;
102 padding-top: 0.5em;
103 margin-top: 4.0em;
104}
105div#footer-text {
106 float: left;
107 padding-bottom: 0.5em;
108}
109div#footer-badges {
110 float: right;
111 padding-bottom: 0.5em;
112}
113
Junio C Hamano97bcb482010-11-25 03:16:07114div#preamble {
115 margin-top: 1.5em;
116 margin-bottom: 1.5em;
117}
Junio C Hamano52299462006-12-28 00:59:38118div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
119div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
120div.admonitionblock {
Junio C Hamano7bd050f2011-09-22 06:32:22121 margin-top: 1.0em;
Junio C Hamano52299462006-12-28 00:59:38122 margin-bottom: 1.5em;
123}
124div.admonitionblock {
Junio C Hamano7bd050f2011-09-22 06:32:22125 margin-top: 2.0em;
126 margin-bottom: 2.0em;
127 margin-right: 10%;
128 color: #606060;
Junio C Hamano52299462006-12-28 00:59:38129}
130
131div.content { /* Block element content. */
132 padding: 0;
133}
134
135/* Block element titles. */
136div.title, caption.title {
Junio C Hamano97bcb482010-11-25 03:16:07137 color: #527bbd;
Junio C Hamano52299462006-12-28 00:59:38138 font-family: sans-serif;
139 font-weight: bold;
140 text-align: left;
141 margin-top: 1.0em;
142 margin-bottom: 0.5em;
143}
144div.title + * {
145 margin-top: 0;
146}
147
148td div.title:first-child {
149 margin-top: 0.0em;
150}
151div.content div.title:first-child {
152 margin-top: 0.0em;
153}
154div.content + div.title {
155 margin-top: 0.0em;
156}
157
158div.sidebarblock > div.content {
159 background: #ffffee;
160 border: 1px solid silver;
161 padding: 0.5em;
162}
163
164div.listingblock > div.content {
165 border: 1px solid silver;
166 background: #f4f4f4;
167 padding: 0.5em;
168}
169
Junio C Hamano7bd050f2011-09-22 06:32:22170div.quoteblock, div.verseblock {
171 padding-left: 1.0em;
172 margin-left: 1.0em;
Junio C Hamano97bcb482010-11-25 03:16:07173 margin-right: 10%;
Junio C Hamano7bd050f2011-09-22 06:32:22174 border-left: 5px solid #dddddd;
175 color: #777777;
Junio C Hamano52299462006-12-28 00:59:38176}
Junio C Hamano7bd050f2011-09-22 06:32:22177
Junio C Hamano97bcb482010-11-25 03:16:07178div.quoteblock > div.attribution {
179 padding-top: 0.5em;
Junio C Hamano52299462006-12-28 00:59:38180 text-align: right;
181}
Junio C Hamano97bcb482010-11-25 03:16:07182
Junio C Hamano97bcb482010-11-25 03:16:07183div.verseblock > div.content {
184 white-space: pre;
185}
186div.verseblock > div.attribution {
187 padding-top: 0.75em;
188 text-align: left;
189}
190/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
Junio C Hamanoba4b9282008-07-06 05:20:31191div.verseblock + div.attribution {
192 text-align: left;
193}
Junio C Hamano52299462006-12-28 00:59:38194
195div.admonitionblock .icon {
196 vertical-align: top;
197 font-size: 1.1em;
198 font-weight: bold;
199 text-decoration: underline;
200 color: #527bbd;
201 padding-right: 0.5em;
202}
203div.admonitionblock td.content {
204 padding-left: 0.5em;
Junio C Hamano7bd050f2011-09-22 06:32:22205 border-left: 3px solid #dddddd;
Junio C Hamano52299462006-12-28 00:59:38206}
207
208div.exampleblock > div.content {
Junio C Hamano7bd050f2011-09-22 06:32:22209 border-left: 3px solid #dddddd;
210 padding-left: 0.5em;
Junio C Hamano52299462006-12-28 00:59:38211}
212
Junio C Hamano52299462006-12-28 00:59:38213div.imageblock div.content { padding-left: 0; }
Junio C Hamano52299462006-12-28 00:59:38214span.image img { border-style: none; }
Junio C Hamano97bcb482010-11-25 03:16:07215a.image:visited { color: white; }
Junio C Hamano52299462006-12-28 00:59:38216
217dl {
218 margin-top: 0.8em;
219 margin-bottom: 0.8em;
220}
221dt {
222 margin-top: 0.5em;
223 margin-bottom: 0;
Junio C Hamano97bcb482010-11-25 03:16:07224 font-style: normal;
225 color: navy;
Junio C Hamano52299462006-12-28 00:59:38226}
227dd > *:first-child {
Junio C Hamano97bcb482010-11-25 03:16:07228 margin-top: 0.1em;
Junio C Hamano52299462006-12-28 00:59:38229}
230
231ul, ol {
232 list-style-position: outside;
233}
Junio C Hamano97bcb482010-11-25 03:16:07234ol.arabic {
235 list-style-type: decimal;
236}
237ol.loweralpha {
Junio C Hamano52299462006-12-28 00:59:38238 list-style-type: lower-alpha;
239}
Junio C Hamano97bcb482010-11-25 03:16:07240ol.upperalpha {
241 list-style-type: upper-alpha;
242}
243ol.lowerroman {
244 list-style-type: lower-roman;
245}
246ol.upperroman {
247 list-style-type: upper-roman;
248}
249
250div.compact ul, div.compact ol,
251div.compact p, div.compact p,
252div.compact div, div.compact div {
253 margin-top: 0.1em;
254 margin-bottom: 0.1em;
255}
Junio C Hamano52299462006-12-28 00:59:38256
257div.tableblock > table {
Junio C Hamanoba4b9282008-07-06 05:20:31258 border: 3px solid #527bbd;
Junio C Hamano52299462006-12-28 00:59:38259}
Junio C Hamano7bd050f2011-09-22 06:32:22260thead, p.table.header {
Junio C Hamano52299462006-12-28 00:59:38261 font-family: sans-serif;
262 font-weight: bold;
263}
264tfoot {
265 font-weight: bold;
266}
Junio C Hamano97bcb482010-11-25 03:16:07267td > div.verse {
268 white-space: pre;
269}
270p.table {
271 margin-top: 0;
272}
273/* Because the table frame attribute is overriden by CSS in most browsers. */
274div.tableblock > table[frame="void"] {
275 border-style: none;
276}
277div.tableblock > table[frame="hsides"] {
278 border-left-style: none;
279 border-right-style: none;
280}
281div.tableblock > table[frame="vsides"] {
282 border-top-style: none;
283 border-bottom-style: none;
284}
Junio C Hamano52299462006-12-28 00:59:38285
Junio C Hamano97bcb482010-11-25 03:16:07286
287div.hdlist {
Junio C Hamano52299462006-12-28 00:59:38288 margin-top: 0.8em;
289 margin-bottom: 0.8em;
290}
Junio C Hamano97bcb482010-11-25 03:16:07291div.hdlist tr {
292 padding-bottom: 15px;
Junio C Hamanoba4b9282008-07-06 05:20:31293}
Junio C Hamano97bcb482010-11-25 03:16:07294dt.hdlist1.strong, td.hdlist1.strong {
295 font-weight: bold;
296}
297td.hdlist1 {
Junio C Hamano52299462006-12-28 00:59:38298 vertical-align: top;
Junio C Hamano97bcb482010-11-25 03:16:07299 font-style: normal;
Junio C Hamano52299462006-12-28 00:59:38300 padding-right: 0.8em;
Junio C Hamano97bcb482010-11-25 03:16:07301 color: navy;
Junio C Hamano52299462006-12-28 00:59:38302}
Junio C Hamano97bcb482010-11-25 03:16:07303td.hdlist2 {
Junio C Hamano52299462006-12-28 00:59:38304 vertical-align: top;
305}
Junio C Hamano97bcb482010-11-25 03:16:07306div.hdlist.compact tr {
307 margin: 0;
308 padding-bottom: 0;
309}
310
311.comment {
312 background: yellow;
313}
Junio C Hamano52299462006-12-28 00:59:38314
Junio C Hamano7bd050f2011-09-22 06:32:22315.footnote, .footnoteref {
316 font-size: 0.8em;
317}
318
319span.footnote, span.footnoteref {
320 vertical-align: super;
321}
322
323#footnotes {
324 margin: 20px 0 20px 0;
325 padding: 7px 0 0 0;
326}
327
328#footnotes div.footnote {
329 margin: 0 0 5px 0;
330}
331
332#footnotes hr {
333 border: none;
334 border-top: 1px solid silver;
335 height: 1px;
336 text-align: left;
337 margin-left: 0;
338 width: 20%;
339 min-width: 100px;
340}
341
342
Junio C Hamano52299462006-12-28 00:59:38343@media print {
344 div#footer-badges { display: none; }
345}
Junio C Hamanoba4b9282008-07-06 05:20:31346
Junio C Hamano7bd050f2011-09-22 06:32:22347div#toc {
348 margin-bottom: 2.5em;
349}
350
Junio C Hamanoba4b9282008-07-06 05:20:31351div#toctitle {
352 color: #527bbd;
353 font-family: sans-serif;
354 font-size: 1.1em;
355 font-weight: bold;
356 margin-top: 1.0em;
357 margin-bottom: 0.1em;
358}
359
360div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
361 margin-top: 0;
362 margin-bottom: 0;
363}
364div.toclevel2 {
365 margin-left: 2em;
366 font-size: 0.9em;
367}
368div.toclevel3 {
369 margin-left: 4em;
370 font-size: 0.9em;
371}
372div.toclevel4 {
373 margin-left: 6em;
374 font-size: 0.9em;
375}
Junio C Hamano97bcb482010-11-25 03:16:07376/* Overrides for manpage documents */
377h1 {
378 padding-top: 0.5em;
379 padding-bottom: 0.5em;
380 border-top: 2px solid silver;
381 border-bottom: 2px solid silver;
382}
383h2 {
384 border-style: none;
385}
386div.sectionbody {
387 margin-left: 5%;
388}
389
390@media print {
391 div#toc { display: none; }
392}
393
Junio C Hamano52299462006-12-28 00:59:38394/* Workarounds for IE6's broken and incomplete CSS2. */
395
396div.sidebar-content {
397 background: #ffffee;
398 border: 1px solid silver;
399 padding: 0.5em;
400}
401div.sidebar-title, div.image-title {
Junio C Hamano97bcb482010-11-25 03:16:07402 color: #527bbd;
Junio C Hamano52299462006-12-28 00:59:38403 font-family: sans-serif;
404 font-weight: bold;
405 margin-top: 0.0em;
406 margin-bottom: 0.5em;
407}
408
409div.listingblock div.content {
410 border: 1px solid silver;
411 background: #f4f4f4;
412 padding: 0.5em;
413}
414
Junio C Hamano97bcb482010-11-25 03:16:07415div.quoteblock-attribution {
416 padding-top: 0.5em;
417 text-align: right;
418}
419
420div.verseblock-content {
421 white-space: pre;
422}
423div.verseblock-attribution {
424 padding-top: 0.75em;
425 text-align: left;
Junio C Hamano52299462006-12-28 00:59:38426}
427
428div.exampleblock-content {
Junio C Hamano7bd050f2011-09-22 06:32:22429 border-left: 3px solid #dddddd;
Junio C Hamano52299462006-12-28 00:59:38430 padding-left: 0.5em;
431}
Junio C Hamanoba4b9282008-07-06 05:20:31432
433/* IE6 sets dynamically generated links as visited. */
434div#toc a:visited { color: blue; }
Junio C Hamano52299462006-12-28 00:59:38435</style>
Junio C Hamano7bd050f2011-09-22 06:32:22436<script type="text/javascript">
437/*<![CDATA[*/
438window.onload = function(){asciidoc.footnotes();}
439var asciidoc = { // Namespace.
440
441/////////////////////////////////////////////////////////////////////
442// Table Of Contents generator
443/////////////////////////////////////////////////////////////////////
444
445/* Author: Mihai Bazon, September 2002
446 * http://students.infoiasi.ro/~mishoo
447 *
448 * Table Of Content generator
449 * Version: 0.4
450 *
451 * Feel free to use this script under the terms of the GNU General Public
452 * License, as long as you do not remove or alter this notice.
453 */
454
455 /* modified by Troy D. Hanson, September 2006. License: GPL */
456 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
457
458// toclevels = 1..4.
459toc: function (toclevels) {
460
461 function getText(el) {
462 var text = "";
463 for (var i = el.firstChild; i != null; i = i.nextSibling) {
464 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
465 text += i.data;
466 else if (i.firstChild != null)
467 text += getText(i);
468 }
469 return text;
470 }
471
472 function TocEntry(el, text, toclevel) {
473 this.element = el;
474 this.text = text;
475 this.toclevel = toclevel;
476 }
477
478 function tocEntries(el, toclevels) {
479 var result = new Array;
480 var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
481 // Function that scans the DOM tree for header elements (the DOM2
482 // nodeIterator API would be a better technique but not supported by all
483 // browsers).
484 var iterate = function (el) {
485 for (var i = el.firstChild; i != null; i = i.nextSibling) {
486 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
487 var mo = re.exec(i.tagName);
488 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
489 result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
490 }
491 iterate(i);
492 }
493 }
494 }
495 iterate(el);
496 return result;
497 }
498
499 var toc = document.getElementById("toc");
500 var entries = tocEntries(document.getElementById("content"), toclevels);
501 for (var i = 0; i < entries.length; ++i) {
502 var entry = entries[i];
503 if (entry.element.id == "")
504 entry.element.id = "_toc_" + i;
505 var a = document.createElement("a");
506 a.href = "#" + entry.element.id;
507 a.appendChild(document.createTextNode(entry.text));
508 var div = document.createElement("div");
509 div.appendChild(a);
510 div.className = "toclevel" + entry.toclevel;
511 toc.appendChild(div);
512 }
513 if (entries.length == 0)
514 toc.parentNode.removeChild(toc);
515},
516
517
518/////////////////////////////////////////////////////////////////////
519// Footnotes generator
520/////////////////////////////////////////////////////////////////////
521
522/* Based on footnote generation code from:
523 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
524 */
525
526footnotes: function () {
527 var cont = document.getElementById("content");
528 var noteholder = document.getElementById("footnotes");
529 var spans = cont.getElementsByTagName("span");
530 var refs = {};
531 var n = 0;
532 for (i=0; i<spans.length; i++) {
533 if (spans[i].className == "footnote") {
534 n++;
535 // Use [\s\S] in place of . so multi-line matches work.
536 // Because JavaScript has no s (dotall) regex flag.
537 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
538 noteholder.innerHTML +=
539 "<div class='footnote' id='_footnote_" + n + "'>" +
540 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
541 n + "</a>. " + note + "</div>";
542 spans[i].innerHTML =
543 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
544 "' title='View footnote' class='footnote'>" + n + "</a>]";
545 var id =spans[i].getAttribute("id");
546 if (id != null) refs["#"+id] = n;
547 }
548 }
549 if (n == 0)
550 noteholder.parentNode.removeChild(noteholder);
551 else {
552 // Process footnoterefs.
553 for (i=0; i<spans.length; i++) {
554 if (spans[i].className == "footnoteref") {
555 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
556 href = href.match(/#.*/)[0]; // Because IE return full URL.
557 n = refs[href];
558 spans[i].innerHTML =
559 "[<a href='#_footnote_" + n +
560 "' title='View footnote' class='footnote'>" + n + "</a>]";
561 }
562 }
563 }
564}
565
566}
567/*]]>*/
568</script>
Junio C Hamano52299462006-12-28 00:59:38569</head>
570<body>
571<div id="header">
572<h1>
573git-gc(1) Manual Page
574</h1>
575<h2>NAME</h2>
576<div class="sectionbody">
577<p>git-gc -
578 Cleanup unnecessary files and optimize the local repository
579</p>
580</div>
581</div>
Junio C Hamano7bd050f2011-09-22 06:32:22582<div id="content">
Junio C Hamano97bcb482010-11-25 03:16:07583<h2 id="_synopsis">SYNOPSIS</h2>
Junio C Hamano52299462006-12-28 00:59:38584<div class="sectionbody">
Junio C Hamano15567bc2011-07-23 00:51:59585<div class="verseblock">
586<div class="verseblock-content"><em>git gc</em> [--aggressive] [--auto] [--quiet] [--prune=&lt;date&gt; | --no-prune]</div>
587<div class="verseblock-attribution">
588</div></div>
Junio C Hamano52299462006-12-28 00:59:38589</div>
Junio C Hamanoba4b9282008-07-06 05:20:31590<h2 id="_description">DESCRIPTION</h2>
Junio C Hamano52299462006-12-28 00:59:38591<div class="sectionbody">
Junio C Hamano97bcb482010-11-25 03:16:07592<div class="paragraph"><p>Runs a number of housekeeping tasks within the current repository,
Junio C Hamano52299462006-12-28 00:59:38593such as compressing file revisions (to reduce disk space and increase
594performance) and removing unreachable objects which may have been
Junio C Hamano1aa40d22010-01-21 17:46:43595created from prior invocations of <em>git add</em>.</p></div>
Junio C Hamano97bcb482010-11-25 03:16:07596<div class="paragraph"><p>Users are encouraged to run this task on a regular basis within
Junio C Hamano52299462006-12-28 00:59:38597each repository to maintain good disk space utilization and good
Junio C Hamanoba4b9282008-07-06 05:20:31598operating performance.</p></div>
Junio C Hamano97bcb482010-11-25 03:16:07599<div class="paragraph"><p>Some git commands may automatically run <em>git gc</em>; see the <tt>--auto</tt> flag
600below for details. If you know what you&#8217;re doing and all you want is to
Junio C Hamanoba4b9282008-07-06 05:20:31601disable this behavior permanently without further considerations, just do:</p></div>
Junio C Hamanod04b60c2008-03-20 08:46:04602<div class="listingblock">
603<div class="content">
604<pre><tt>$ git config --global gc.auto 0</tt></pre>
605</div></div>
Junio C Hamano52299462006-12-28 00:59:38606</div>
Junio C Hamanoba4b9282008-07-06 05:20:31607<h2 id="_options">OPTIONS</h2>
Junio C Hamanof65d9282007-01-22 09:00:13608<div class="sectionbody">
Junio C Hamano97bcb482010-11-25 03:16:07609<div class="dlist"><dl>
610<dt class="hdlist1">
Junio C Hamanof2ce2972007-05-20 19:12:09611--aggressive
612</dt>
613<dd>
614<p>
Junio C Hamano1aa40d22010-01-21 17:46:43615 Usually <em>git gc</em> runs very quickly while providing good disk
Junio C Hamano679d22d2007-06-02 21:13:44616 space utilization and performance. This option will cause
Junio C Hamano1aa40d22010-01-21 17:46:43617 <em>git gc</em> to more aggressively optimize the repository at the expense
Junio C Hamanof2ce2972007-05-20 19:12:09618 of taking much more time. The effects of this optimization are
Junio C Hamano679d22d2007-06-02 21:13:44619 persistent, so this option only needs to be used occasionally; every
Junio C Hamanof2ce2972007-05-20 19:12:09620 few hundred changesets or so.
621</p>
622</dd>
Junio C Hamano97bcb482010-11-25 03:16:07623<dt class="hdlist1">
Junio C Hamano1b50ce92007-10-03 12:05:53624--auto
625</dt>
626<dd>
627<p>
Junio C Hamano1aa40d22010-01-21 17:46:43628 With this option, <em>git gc</em> checks whether any housekeeping is
Junio C Hamano764a6672007-10-23 01:23:31629 required; if not, it exits without performing any work.
630 Some git commands run <tt>git gc --auto</tt> after performing
631 operations that could create many loose objects.
Junio C Hamano1b50ce92007-10-03 12:05:53632</p>
Junio C Hamano97bcb482010-11-25 03:16:07633<div class="paragraph"><p>Housekeeping is required if there are too many loose objects or
Junio C Hamano764a6672007-10-23 01:23:31634too many packs in the repository. If the number of loose objects
635exceeds the value of the <tt>gc.auto</tt> configuration variable, then
636all loose objects are combined into a single pack using
Junio C Hamano1aa40d22010-01-21 17:46:43637<tt>git repack -d -l</tt>. Setting the value of <tt>gc.auto</tt> to 0
Junio C Hamanoba4b9282008-07-06 05:20:31638disables automatic packing of loose objects.</p></div>
Junio C Hamano97bcb482010-11-25 03:16:07639<div class="paragraph"><p>If the number of packs exceeds the value of <tt>gc.autopacklimit</tt>,
Junio C Hamano764a6672007-10-23 01:23:31640then existing packs (except those marked with a <tt>.keep</tt> file)
641are consolidated into a single pack by using the <tt>-A</tt> option of
Junio C Hamano1aa40d22010-01-21 17:46:43642<em>git repack</em>. Setting <tt>gc.autopacklimit</tt> to 0 disables
Junio C Hamanoba4b9282008-07-06 05:20:31643automatic consolidation of packs.</p></div>
Junio C Hamano1b50ce92007-10-03 12:05:53644</dd>
Junio C Hamano97bcb482010-11-25 03:16:07645<dt class="hdlist1">
Junio C Hamano8bc410e2009-02-15 10:38:19646--prune=&lt;date&gt;
647</dt>
648<dd>
649<p>
650 Prune loose objects older than date (default is 2 weeks ago,
Junio C Hamanoe367f7b2009-08-28 09:18:28651 overridable by the config variable <tt>gc.pruneExpire</tt>). This
Junio C Hamano8bc410e2009-02-15 10:38:19652 option is on by default.
653</p>
654</dd>
Junio C Hamano97bcb482010-11-25 03:16:07655<dt class="hdlist1">
Junio C Hamano8bc410e2009-02-15 10:38:19656--no-prune
657</dt>
658<dd>
659<p>
660 Do not prune any loose objects.
661</p>
662</dd>
Junio C Hamano97bcb482010-11-25 03:16:07663<dt class="hdlist1">
Junio C Hamano69a98582008-03-01 18:42:18664--quiet
665</dt>
666<dd>
667<p>
668 Suppress all progress reports.
669</p>
670</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31671</dl></div>
Junio C Hamanof65d9282007-01-22 09:00:13672</div>
Junio C Hamanoba4b9282008-07-06 05:20:31673<h2 id="_configuration">Configuration</h2>
Junio C Hamano52299462006-12-28 00:59:38674<div class="sectionbody">
Junio C Hamano97bcb482010-11-25 03:16:07675<div class="paragraph"><p>The optional configuration variable <em>gc.reflogExpire</em> can be
676set to indicate how long historical entries within each branch&#8217;s
Junio C Hamano52299462006-12-28 00:59:38677reflog should remain available in this repository. The setting is
678expressed as a length of time, for example <em>90 days</em> or <em>3 months</em>.
Junio C Hamanoba4b9282008-07-06 05:20:31679It defaults to <em>90 days</em>.</p></div>
Junio C Hamano97bcb482010-11-25 03:16:07680<div class="paragraph"><p>The optional configuration variable <em>gc.reflogExpireUnreachable</em>
Junio C Hamano52299462006-12-28 00:59:38681can be set to indicate how long historical reflog entries which
682are not part of the current branch should remain available in
683this repository. These types of entries are generally created as
684a result of using <tt>git commit --amend</tt> or <tt>git rebase</tt> and are the
Junio C Hamanof9771f62007-01-17 17:42:30685commits prior to the amend or rebase occurring. Since these changes
Junio C Hamano52299462006-12-28 00:59:38686are not part of the current project most users will want to expire
Junio C Hamanoba4b9282008-07-06 05:20:31687them sooner. This option defaults to <em>30 days</em>.</p></div>
Junio C Hamano97bcb482010-11-25 03:16:07688<div class="paragraph"><p>The above two configuration variables can be given to a pattern. For
689example, this sets non-default expiry values only to remote-tracking
Junio C Hamanocc7636a2010-05-21 14:57:53690branches:</p></div>
691<div class="listingblock">
692<div class="content">
693<pre><tt>[gc "refs/remotes/*"]
694 reflogExpire = never
695 reflogexpireUnreachable = 3 days</tt></pre>
696</div></div>
Junio C Hamano97bcb482010-11-25 03:16:07697<div class="paragraph"><p>The optional configuration variable <em>gc.rerereresolved</em> indicates
Junio C Hamano52299462006-12-28 00:59:38698how long records of conflicted merge you resolved earlier are
Junio C Hamanoba4b9282008-07-06 05:20:31699kept. This defaults to 60 days.</p></div>
Junio C Hamano97bcb482010-11-25 03:16:07700<div class="paragraph"><p>The optional configuration variable <em>gc.rerereunresolved</em> indicates
Junio C Hamano52299462006-12-28 00:59:38701how long records of conflicted merge you have not resolved are
Junio C Hamanoba4b9282008-07-06 05:20:31702kept. This defaults to 15 days.</p></div>
Junio C Hamano97bcb482010-11-25 03:16:07703<div class="paragraph"><p>The optional configuration variable <em>gc.packrefs</em> determines if
Junio C Hamanocdd1c332010-12-20 10:08:00704<em>git gc</em> runs <em>git pack-refs</em>. This can be set to "notbare" to enable
Junio C Hamanoe77b0152008-01-12 06:44:17705it within all non-bare repos or it can be set to a boolean value.
Junio C Hamanoba4b9282008-07-06 05:20:31706This defaults to true.</p></div>
Junio C Hamano97bcb482010-11-25 03:16:07707<div class="paragraph"><p>The optional configuration variable <em>gc.aggressiveWindow</em> controls how
Junio C Hamanof2ce2972007-05-20 19:12:09708much time is spent optimizing the delta compression of the objects in
709the repository when the --aggressive option is specified. The larger
710the value, the more time is spent optimizing the delta compression. See
711the documentation for the --window' option in <a href="git-repack.html">git-repack(1)</a> for
Junio C Hamanoae4a8f32009-10-04 09:54:54712more details. This defaults to 250.</p></div>
Junio C Hamano97bcb482010-11-25 03:16:07713<div class="paragraph"><p>The optional configuration variable <em>gc.pruneExpire</em> controls how old
Junio C Hamano09a926d2008-03-13 07:55:29714the unreferenced loose objects have to be before they are pruned. The
Junio C Hamanoba4b9282008-07-06 05:20:31715default is "2 weeks ago".</p></div>
Junio C Hamano52299462006-12-28 00:59:38716</div>
Junio C Hamanoba4b9282008-07-06 05:20:31717<h2 id="_notes">Notes</h2>
Junio C Hamano2f102bb2008-04-26 02:23:37718<div class="sectionbody">
Junio C Hamano97bcb482010-11-25 03:16:07719<div class="paragraph"><p><em>git gc</em> tries very hard to be safe about the garbage it collects. In
Junio C Hamano2f102bb2008-04-26 02:23:37720particular, it will keep not only objects referenced by your current set
Junio C Hamano97bcb482010-11-25 03:16:07721of branches and tags, but also objects referenced by the index,
722remote-tracking branches, refs saved by <em>git filter-branch</em> in
Junio C Hamano4232bc42009-10-20 07:49:31723refs/original/, or reflogs (which may reference commits in branches
Junio C Hamanoba4b9282008-07-06 05:20:31724that were later amended or rewound).</p></div>
Junio C Hamano97bcb482010-11-25 03:16:07725<div class="paragraph"><p>If you are expecting some objects to be collected and they aren&#8217;t, check
Junio C Hamano2f102bb2008-04-26 02:23:37726all of those locations and decide whether it makes sense in your case to
Junio C Hamanoba4b9282008-07-06 05:20:31727remove those references.</p></div>
Junio C Hamano2f102bb2008-04-26 02:23:37728</div>
Junio C Hamano3e3aa812010-07-05 23:25:23729<h2 id="_hooks">HOOKS</h2>
730<div class="sectionbody">
Junio C Hamano97bcb482010-11-25 03:16:07731<div class="paragraph"><p>The <em>git gc --auto</em> command will run the <em>pre-auto-gc</em> hook. See
Junio C Hamano3e3aa812010-07-05 23:25:23732<a href="githooks.html">githooks(5)</a> for more information.</p></div>
733</div>
Junio C Hamanoba4b9282008-07-06 05:20:31734<h2 id="_see_also">SEE ALSO</h2>
Junio C Hamano52299462006-12-28 00:59:38735<div class="sectionbody">
Junio C Hamano97bcb482010-11-25 03:16:07736<div class="paragraph"><p><a href="git-prune.html">git-prune(1)</a>
Junio C Hamano52299462006-12-28 00:59:38737<a href="git-reflog.html">git-reflog(1)</a>
738<a href="git-repack.html">git-repack(1)</a>
Junio C Hamanoba4b9282008-07-06 05:20:31739<a href="git-rerere.html">git-rerere(1)</a></p></div>
Junio C Hamano52299462006-12-28 00:59:38740</div>
Junio C Hamanoba4b9282008-07-06 05:20:31741<h2 id="_git">GIT</h2>
Junio C Hamano52299462006-12-28 00:59:38742<div class="sectionbody">
Junio C Hamano97bcb482010-11-25 03:16:07743<div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
Junio C Hamano52299462006-12-28 00:59:38744</div>
Junio C Hamano7bd050f2011-09-22 06:32:22745</div>
746<div id="footnotes"><hr /></div>
Junio C Hamano52299462006-12-28 00:59:38747<div id="footer">
748<div id="footer-text">
Junio C Hamano02194af2011-11-17 20:33:59749Last updated 2011-11-15 13:45:02 PDT
Junio C Hamano52299462006-12-28 00:59:38750</div>
751</div>
752</body>
753</html>