blob: 8ae9bd07239e389350dff8900c9a00bb6a7f7fda [file] [log] [blame]
Junio C Hamano7ad22dc2007-01-29 02:55:481<!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 Hamano7ad22dc2007-01-29 02:55:487<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 Hamano7ad22dc2007-01-29 02:55:4826
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 Hamano7ad22dc2007-01-29 02:55:4848 border-bottom: 2px solid silver;
49}
50h2 {
Junio C Hamano7ad22dc2007-01-29 02:55:4851 padding-top: 0.5em;
52}
Junio C Hamanoba4b9282008-07-06 05:20:3153h3 {
54 float: left;
55}
56h3 + * {
57 clear: left;
58}
Junio C Hamano7ad22dc2007-01-29 02:55:4859
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 Hamano7ad22dc2007-01-29 02:55:4884}
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 Hamano7ad22dc2007-01-29 02:55:48155div.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 Hamano7ad22dc2007-01-29 02:55:48166 text-align: right;
167}
Junio C Hamanoba4b9282008-07-06 05:20:31168div.verseblock + div.attribution {
169 text-align: left;
170}
Junio C Hamano7ad22dc2007-01-29 02:55:48171
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 Hamano7ad22dc2007-01-29 02:55:48215 list-style-type: lower-alpha;
216}
217
218div.tableblock > table {
Junio C Hamanoba4b9282008-07-06 05:20:31219 border: 3px solid #527bbd;
Junio C Hamano7ad22dc2007-01-29 02:55:48220}
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 Hamano7ad22dc2007-01-29 02:55:48236td.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 Hamano7ad22dc2007-01-29 02:55:48275/* 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 Hamano7ad22dc2007-01-29 02:55:48306</style>
307<title>git-config(1)</title>
308</head>
309<body>
310<div id="header">
311<h1>
312git-config(1) Manual Page
313</h1>
314<h2>NAME</h2>
315<div class="sectionbody">
316<p>git-config -
317 Get and set repository or global options
318</p>
319</div>
320</div>
321<h2>SYNOPSIS</h2>
322<div class="sectionbody">
323<div class="verseblock">
Junio C Hamanofce7c7e2008-07-02 03:06:38324<div class="content"><em>git config</em> [&lt;file-option&gt;] [type] [-z|--null] name [value [value_regex]]
325<em>git config</em> [&lt;file-option&gt;] [type] --add name value
Junio C Hamano5217a272009-03-21 00:39:33326<em>git config</em> [&lt;file-option&gt;] [type] --replace-all name value [value_regex]
Junio C Hamanofce7c7e2008-07-02 03:06:38327<em>git config</em> [&lt;file-option&gt;] [type] [-z|--null] --get name [value_regex]
328<em>git config</em> [&lt;file-option&gt;] [type] [-z|--null] --get-all name [value_regex]
329<em>git config</em> [&lt;file-option&gt;] [type] [-z|--null] --get-regexp name_regex [value_regex]
330<em>git config</em> [&lt;file-option&gt;] --unset name [value_regex]
331<em>git config</em> [&lt;file-option&gt;] --unset-all name [value_regex]
332<em>git config</em> [&lt;file-option&gt;] --rename-section old_name new_name
333<em>git config</em> [&lt;file-option&gt;] --remove-section name
334<em>git config</em> [&lt;file-option&gt;] [-z|--null] -l | --list
335<em>git config</em> [&lt;file-option&gt;] --get-color name [default]
Junio C Hamano0a235222009-03-06 08:21:09336<em>git config</em> [&lt;file-option&gt;] --get-colorbool name [stdout-is-tty]
337<em>git config</em> [&lt;file-option&gt;] -e | --edit</div></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48338</div>
Junio C Hamanoba4b9282008-07-06 05:20:31339<h2 id="_description">DESCRIPTION</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48340<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31341<div class="para"><p>You can query/set/replace/unset options with this command. The name is
Junio C Hamano7ad22dc2007-01-29 02:55:48342actually the section and the key separated by a dot, and the value will be
Junio C Hamanoba4b9282008-07-06 05:20:31343escaped.</p></div>
344<div class="para"><p>Multiple lines can be added to an option by using the <em>--add</em> option.
Junio C Hamano7ad22dc2007-01-29 02:55:48345If you want to update or unset an option which can occur on multiple
346lines, a POSIX regexp <tt>value_regex</tt> needs to be given. Only the
347existing values that match the regexp are updated or unset. If
348you want to handle the lines that do <strong>not</strong> match the regex, just
Junio C Hamanoba4b9282008-07-06 05:20:31349prepend a single exclamation mark in front (see also <a href="#EXAMPLES">[EXAMPLES]</a>).</p></div>
Junio C Hamanob141a922010-01-10 19:55:14350<div class="para"><p>The type specifier can be either <em>--int</em> or <em>--bool</em>, to make
Junio C Hamano1aa40d22010-01-21 17:46:43351<em>git config</em> ensure that the variable(s) are of the given type and
Junio C Hamano7ad22dc2007-01-29 02:55:48352convert the value to the canonical form (simple decimal number for int,
Junio C Hamanob141a922010-01-10 19:55:14353a "true" or "false" string for bool), or <em>--path</em>, which does some
354path expansion (see <em>--path</em> below). If no type specifier is passed, no
355checks or transformations are performed on the value.</p></div>
Junio C Hamanoba4b9282008-07-06 05:20:31356<div class="para"><p>The file-option can be one of <em>--system</em>, <em>--global</em> or <em>--file</em>
Junio C Hamano0ddc94d2007-08-01 08:42:39357which specify where the values will be read from or written to.
358The default is to assume the config file of the current repository,
359.git/config unless defined otherwise with GIT_DIR and GIT_CONFIG
Junio C Hamanoba4b9282008-07-06 05:20:31360(see <a href="#FILES">[FILES]</a>).</p></div>
361<div class="para"><p>This command will fail if:</p></div>
362<div class="olist"><ol>
Junio C Hamano7ad22dc2007-01-29 02:55:48363<li>
364<p>
Junio C Hamano0ddc94d2007-08-01 08:42:39365The config file is invalid,
Junio C Hamano7ad22dc2007-01-29 02:55:48366</p>
367</li>
368<li>
369<p>
Junio C Hamano0ddc94d2007-08-01 08:42:39370Can not write to the config file,
Junio C Hamano7ad22dc2007-01-29 02:55:48371</p>
372</li>
373<li>
374<p>
375no section was provided,
376</p>
377</li>
378<li>
379<p>
380the section or key is invalid,
381</p>
382</li>
383<li>
384<p>
385you try to unset an option which does not exist,
386</p>
387</li>
388<li>
389<p>
390you try to unset/set an option for which multiple lines match, or
391</p>
392</li>
393<li>
394<p>
Junio C Hamano6fddfe52007-05-31 07:38:19395you use <em>--global</em> option without $HOME being properly set.
Junio C Hamano7ad22dc2007-01-29 02:55:48396</p>
397</li>
Junio C Hamanoba4b9282008-07-06 05:20:31398</ol></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48399</div>
Junio C Hamanoba4b9282008-07-06 05:20:31400<h2 id="_options">OPTIONS</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48401<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31402<div class="vlist"><dl>
Junio C Hamano7ad22dc2007-01-29 02:55:48403<dt>
404--replace-all
405</dt>
406<dd>
407<p>
408 Default behavior is to replace at most one line. This replaces
409 all lines matching the key (and optionally the value_regex).
410</p>
411</dd>
412<dt>
413--add
414</dt>
415<dd>
416<p>
417 Adds a new line to the option without altering any existing
Junio C Hamano89bdb3b2009-05-10 06:48:14418 values. This is the same as providing <em>^$</em> as the value_regex
419 in <tt>--replace-all</tt>.
Junio C Hamano7ad22dc2007-01-29 02:55:48420</p>
421</dd>
422<dt>
423--get
424</dt>
425<dd>
426<p>
427 Get the value for a given key (optionally filtered by a regex
428 matching the value). Returns error code 1 if the key was not
429 found and error code 2 if multiple key values were found.
430</p>
431</dd>
432<dt>
433--get-all
434</dt>
435<dd>
436<p>
437 Like get, but does not fail if the number of values for the key
438 is not exactly one.
439</p>
440</dd>
441<dt>
442--get-regexp
443</dt>
444<dd>
445<p>
446 Like --get-all, but interprets the name as a regular expression.
Junio C Hamanoddc5ad42007-06-27 07:14:52447 Also outputs the key names.
Junio C Hamano7ad22dc2007-01-29 02:55:48448</p>
449</dd>
450<dt>
451--global
452</dt>
453<dd>
454<p>
Junio C Hamano6fddfe52007-05-31 07:38:19455 For writing options: write to global ~/.gitconfig file rather than
456 the repository .git/config.
Junio C Hamano7ad22dc2007-01-29 02:55:48457</p>
Junio C Hamanoba4b9282008-07-06 05:20:31458<div class="para"><p>For reading options: read only from global ~/.gitconfig rather than
459from all available files.</p></div>
460<div class="para"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48461</dd>
462<dt>
Junio C Hamano81c711d2007-04-20 07:20:14463--system
464</dt>
465<dd>
466<p>
Junio C Hamano6fddfe52007-05-31 07:38:19467 For writing options: write to system-wide $(prefix)/etc/gitconfig
468 rather than the repository .git/config.
Junio C Hamano81c711d2007-04-20 07:20:14469</p>
Junio C Hamanoba4b9282008-07-06 05:20:31470<div class="para"><p>For reading options: read only from system-wide $(prefix)/etc/gitconfig
471rather than from all available files.</p></div>
472<div class="para"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
Junio C Hamano81c711d2007-04-20 07:20:14473</dd>
474<dt>
Junio C Hamanoeb415992008-06-08 22:49:47475-f config-file
476</dt>
477<dt>
478--file config-file
Junio C Hamano0ddc94d2007-08-01 08:42:39479</dt>
480<dd>
481<p>
482 Use the given config file instead of the one specified by GIT_CONFIG.
483</p>
484</dd>
485<dt>
Junio C Hamanod15328a2007-03-09 09:06:40486--remove-section
487</dt>
488<dd>
489<p>
490 Remove the given section from the configuration file.
491</p>
492</dd>
493<dt>
494--rename-section
495</dt>
496<dd>
497<p>
498 Rename the given section to a new name.
499</p>
500</dd>
501<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:48502--unset
503</dt>
504<dd>
505<p>
506 Remove the line matching the key from config file.
507</p>
508</dd>
509<dt>
510--unset-all
511</dt>
512<dd>
513<p>
Junio C Hamano10557772007-03-15 07:12:30514 Remove all lines matching the key from config file.
Junio C Hamano7ad22dc2007-01-29 02:55:48515</p>
516</dd>
517<dt>
Junio C Hamanoeb415992008-06-08 22:49:47518-l
519</dt>
520<dt>
521--list
Junio C Hamano7ad22dc2007-01-29 02:55:48522</dt>
523<dd>
524<p>
525 List all variables set in config file.
526</p>
527</dd>
528<dt>
529--bool
530</dt>
531<dd>
532<p>
Junio C Hamano1aa40d22010-01-21 17:46:43533 <em>git config</em> will ensure that the output is "true" or "false"
Junio C Hamano7ad22dc2007-01-29 02:55:48534</p>
535</dd>
536<dt>
537--int
538</dt>
539<dd>
540<p>
Junio C Hamano1aa40d22010-01-21 17:46:43541 <em>git config</em> will ensure that the output is a simple
Junio C Hamano7ad22dc2007-01-29 02:55:48542 decimal number. An optional value suffix of <em>k</em>, <em>m</em>, or <em>g</em>
543 in the config file will cause the value to be multiplied
544 by 1024, 1048576, or 1073741824 prior to output.
545</p>
546</dd>
Junio C Hamanoddc5ad42007-06-27 07:14:52547<dt>
Junio C Hamano792c5a92009-03-08 08:45:13548--bool-or-int
549</dt>
550<dd>
551<p>
Junio C Hamano1aa40d22010-01-21 17:46:43552 <em>git config</em> will ensure that the output matches the format of
Junio C Hamano792c5a92009-03-08 08:45:13553 either --bool or --int, as described above.
554</p>
555</dd>
556<dt>
Junio C Hamanob141a922010-01-10 19:55:14557--path
558</dt>
559<dd>
560<p>
561 <em>git-config</em> will expand leading <em>&#126;</em> to the value of
562 <em>$HOME</em>, and <em>&#126;user</em> to the home directory for the
563 specified user. This option has no effect when setting the
564 value (but you can use <em>git config bla &#126;/</em> from the
565 command line to let your shell do the expansion).
566</p>
567</dd>
568<dt>
Junio C Hamanoeb415992008-06-08 22:49:47569-z
570</dt>
571<dt>
572--null
Junio C Hamanoddc5ad42007-06-27 07:14:52573</dt>
574<dd>
575<p>
576 For all options that output values and/or keys, always
Junio C Hamano1f511962008-01-30 08:28:52577 end values with the null character (instead of a
Junio C Hamanoddc5ad42007-06-27 07:14:52578 newline). Use newline instead as a delimiter between
579 key and value. This allows for secure parsing of the
580 output without getting confused e.g. by values that
581 contain line breaks.
582</p>
583</dd>
Junio C Hamano0c999702007-12-03 09:57:55584<dt>
Junio C Hamano00b8b632007-12-07 09:50:49585--get-colorbool name [stdout-is-tty]
586</dt>
587<dd>
588<p>
589 Find the color setting for <tt>name</tt> (e.g. <tt>color.diff</tt>) and output
590 "true" or "false". <tt>stdout-is-tty</tt> should be either "true" or
591 "false", and is taken into account when configuration says
592 "auto". If <tt>stdout-is-tty</tt> is missing, then checks the standard
593 output of the command itself, and exits with status 0 if color
594 is to be used, or exits with status 1 otherwise.
Junio C Hamanoe3ddb5b2008-04-21 00:48:07595 When the color setting for <tt>name</tt> is undefined, the command uses
596 <tt>color.ui</tt> as fallback.
Junio C Hamano00b8b632007-12-07 09:50:49597</p>
598</dd>
599<dt>
Junio C Hamano89bdb3b2009-05-10 06:48:14600--get-color name [default]
Junio C Hamano0c999702007-12-03 09:57:55601</dt>
602<dd>
603<p>
604 Find the color configured for <tt>name</tt> (e.g. <tt>color.diff.new</tt>) and
605 output it as the ANSI color escape sequence to the standard
606 output. The optional <tt>default</tt> parameter is used instead, if
607 there is no color configured for <tt>name</tt>.
608</p>
609</dd>
Junio C Hamano0a235222009-03-06 08:21:09610<dt>
611-e
612</dt>
613<dt>
614--edit
615</dt>
616<dd>
617<p>
618 Opens an editor to modify the specified config file; either
619 <em>--system</em>, <em>--global</em>, or repository (default).
620</p>
621</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31622</dl></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48623</div>
Junio C Hamanoba4b9282008-07-06 05:20:31624<h2 id="FILES">FILES</h2>
Junio C Hamano6fddfe52007-05-31 07:38:19625<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31626<div class="para"><p>If not set explicitly with <em>--file</em>, there are three files where
Junio C Hamano1aa40d22010-01-21 17:46:43627<em>git config</em> will search for configuration options:</p></div>
Junio C Hamanoba4b9282008-07-06 05:20:31628<div class="vlist"><dl>
Junio C Hamano6fddfe52007-05-31 07:38:19629<dt>
Junio C Hamano58155b42007-09-15 07:46:14630$GIT_DIR/config
631</dt>
632<dd>
633<p>
634 Repository specific configuration file. (The filename is
635 of course relative to the repository root, not the working
636 directory.)
637</p>
638</dd>
639<dt>
Junio C Hamano6fddfe52007-05-31 07:38:19640~/.gitconfig
641</dt>
642<dd>
643<p>
644 User-specific configuration file. Also called "global"
645 configuration file.
646</p>
647</dd>
648<dt>
649$(prefix)/etc/gitconfig
650</dt>
651<dd>
652<p>
653 System-wide configuration file.
654</p>
655</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31656</dl></div>
657<div class="para"><p>If no further options are given, all reading options will read all of these
Junio C Hamano6fddfe52007-05-31 07:38:19658files that are available. If the global or the system-wide configuration
659file are not available they will be ignored. If the repository configuration
Junio C Hamano1aa40d22010-01-21 17:46:43660file is not available or readable, <em>git config</em> will exit with a non-zero
Junio C Hamanoba4b9282008-07-06 05:20:31661error code. However, in neither case will an error message be issued.</p></div>
662<div class="para"><p>All writing options will per default write to the repository specific
Junio C Hamano6fddfe52007-05-31 07:38:19663configuration file. Note that this also affects options like <em>--replace-all</em>
Junio C Hamano1aa40d22010-01-21 17:46:43664and <em>--unset</em>. <strong><em>git config</em> will only ever change one file at a time</strong>.</p></div>
Junio C Hamanoba4b9282008-07-06 05:20:31665<div class="para"><p>You can override these rules either by command line options or by environment
Junio C Hamano6fddfe52007-05-31 07:38:19666variables. The <em>--global</em> and the <em>--system</em> options will limit the file used
667to the global or system-wide file respectively. The GIT_CONFIG environment
Junio C Hamanoba4b9282008-07-06 05:20:31668variable has a similar effect, but you can specify any filename you want.</p></div>
Junio C Hamano6fddfe52007-05-31 07:38:19669</div>
Junio C Hamanoba4b9282008-07-06 05:20:31670<h2 id="_environment">ENVIRONMENT</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48671<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31672<div class="vlist"><dl>
Junio C Hamano7ad22dc2007-01-29 02:55:48673<dt>
674GIT_CONFIG
675</dt>
676<dd>
677<p>
678 Take the configuration from the given file instead of .git/config.
Junio C Hamano6fddfe52007-05-31 07:38:19679 Using the "--global" option forces this to ~/.gitconfig. Using the
680 "--system" option forces this to $(prefix)/etc/gitconfig.
Junio C Hamano7ad22dc2007-01-29 02:55:48681</p>
682</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31683</dl></div>
684<div class="para"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48685</div>
Junio C Hamanoba4b9282008-07-06 05:20:31686<h2 id="EXAMPLES">EXAMPLES</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48687<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31688<div class="para"><p>Given a .git/config like this:</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48689<div class="literalblock">
690<div class="content">
691<pre><tt>#
692# This is the config file, and
693# a '#' or ';' character indicates
694# a comment
695#</tt></pre>
696</div></div>
697<div class="literalblock">
698<div class="content">
699<pre><tt>; core variables
700[core]
701 ; Don't trust file modes
702 filemode = false</tt></pre>
703</div></div>
704<div class="literalblock">
705<div class="content">
706<pre><tt>; Our diff algorithm
707[diff]
Junio C Hamano85c71572008-07-28 00:03:31708 external = /usr/local/bin/diff-wrapper
Junio C Hamano7ad22dc2007-01-29 02:55:48709 renames = true</tt></pre>
710</div></div>
711<div class="literalblock">
712<div class="content">
713<pre><tt>; Proxy settings
714[core]
Junio C Hamano7ad22dc2007-01-29 02:55:48715 gitproxy="proxy-command" for kernel.org
Junio C Hamano7ad22dc2007-01-29 02:55:48716 gitproxy=default-proxy ; for all the rest</tt></pre>
717</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31718<div class="para"><p>you can set the filemode to true with</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48719<div class="listingblock">
720<div class="content">
721<pre><tt>% git config core.filemode true</tt></pre>
722</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31723<div class="para"><p>The hypothetical proxy command entries actually have a postfix to discern
Junio C Hamano7ad22dc2007-01-29 02:55:48724what URL they apply to. Here is how to change the entry for kernel.org
Junio C Hamanoba4b9282008-07-06 05:20:31725to "ssh".</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48726<div class="listingblock">
727<div class="content">
728<pre><tt>% git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'</tt></pre>
729</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31730<div class="para"><p>This makes sure that only the key/value pair for kernel.org is replaced.</p></div>
731<div class="para"><p>To delete the entry for renames, do</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48732<div class="listingblock">
733<div class="content">
734<pre><tt>% git config --unset diff.renames</tt></pre>
735</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31736<div class="para"><p>If you want to delete an entry for a multivar (like core.gitproxy above),
737you have to provide a regex matching the value of exactly one line.</p></div>
738<div class="para"><p>To query the value for a given key, do</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48739<div class="listingblock">
740<div class="content">
741<pre><tt>% git config --get core.filemode</tt></pre>
742</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31743<div class="para"><p>or</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48744<div class="listingblock">
745<div class="content">
746<pre><tt>% git config core.filemode</tt></pre>
747</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31748<div class="para"><p>or, to query a multivar:</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48749<div class="listingblock">
750<div class="content">
751<pre><tt>% git config --get core.gitproxy "for kernel.org$"</tt></pre>
752</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31753<div class="para"><p>If you want to know all the values for a multivar, do:</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48754<div class="listingblock">
755<div class="content">
756<pre><tt>% git config --get-all core.gitproxy</tt></pre>
757</div></div>
Junio C Hamanoffb4b682008-12-13 07:35:22758<div class="para"><p>If you like to live dangerously, you can replace <strong>all</strong> core.gitproxy by a
Junio C Hamanoba4b9282008-07-06 05:20:31759new one with</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48760<div class="listingblock">
761<div class="content">
762<pre><tt>% git config --replace-all core.gitproxy ssh</tt></pre>
763</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31764<div class="para"><p>However, if you really only want to replace the line for the default proxy,
765i.e. the one without a "for &#8230;" postfix, do something like this:</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48766<div class="listingblock">
767<div class="content">
768<pre><tt>% git config core.gitproxy ssh '! for '</tt></pre>
769</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31770<div class="para"><p>To actually match only values with an exclamation mark, you have to</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48771<div class="listingblock">
772<div class="content">
773<pre><tt>% git config section.key value '[!]'</tt></pre>
774</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31775<div class="para"><p>To add a new proxy, without altering any of the existing ones, use</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48776<div class="listingblock">
777<div class="content">
Junio C Hamanoc71a8732007-08-04 00:27:26778<pre><tt>% git config core.gitproxy '"proxy-command" for example.com'</tt></pre>
Junio C Hamano7ad22dc2007-01-29 02:55:48779</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31780<div class="para"><p>An example to use customized color from the configuration in your
781script:</p></div>
Junio C Hamano0c999702007-12-03 09:57:55782<div class="listingblock">
783<div class="content">
784<pre><tt>#!/bin/sh
785WS=$(git config --get-color color.diff.whitespace "blue reverse")
786RESET=$(git config --get-color "" "reset")
787echo "${WS}your whitespace color or blue reverse${RESET}"</tt></pre>
788</div></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48789</div>
Junio C Hamanoba4b9282008-07-06 05:20:31790<h2 id="_configuration_file">CONFIGURATION FILE</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48791<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31792<div class="para"><p>The git configuration file contains a number of variables that affect
Junio C Hamanof4581102009-04-25 08:29:59793the git command's behavior. The <tt>.git/config</tt> file in each repository
794is used to store the configuration for that repository, and
795<tt>$HOME/.gitconfig</tt> is used to store a per-user configuration as
796fallback values for the <tt>.git/config</tt> file. The file <tt>/etc/gitconfig</tt>
797can be used to store a system-wide default configuration.</p></div>
798<div class="para"><p>The configuration variables are used by both the git plumbing
799and the porcelains. The variables are divided into sections, wherein
800the fully qualified variable name of the variable itself is the last
Junio C Hamano7ad22dc2007-01-29 02:55:48801dot-separated segment and the section name is everything before the last
802dot. The variable names are case-insensitive and only alphanumeric
Junio C Hamanoba4b9282008-07-06 05:20:31803characters are allowed. Some variables may appear multiple times.</p></div>
804<h3 id="_syntax">Syntax</h3><div style="clear:left"></div>
805<div class="para"><p>The syntax is fairly flexible and permissive; whitespaces are mostly
Junio C Hamano7ad22dc2007-01-29 02:55:48806ignored. The <em>#</em> and <em>;</em> characters begin comments to the end of line,
Junio C Hamanoba4b9282008-07-06 05:20:31807blank lines are ignored.</p></div>
808<div class="para"><p>The file consists of sections and variables. A section begins with
Junio C Hamano7ad22dc2007-01-29 02:55:48809the name of the section in square brackets and continues until the next
810section begins. Section names are not case sensitive. Only alphanumeric
Junio C Hamanoea82cff2009-03-18 01:54:48811characters, <tt>-</tt> and <tt>.</tt> are allowed in section names. Each variable
Junio C Hamanof4581102009-04-25 08:29:59812must belong to some section, which means that there must be a section
813header before the first setting of a variable.</p></div>
Junio C Hamanoba4b9282008-07-06 05:20:31814<div class="para"><p>Sections can be further divided into subsections. To begin a subsection
Junio C Hamano7ad22dc2007-01-29 02:55:48815put its name in double quotes, separated by space from the section name,
Junio C Hamanof4581102009-04-25 08:29:59816in the section header, like in the example below:</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48817<div class="listingblock">
818<div class="content">
819<pre><tt> [section "subsection"]
820</tt></pre>
821</div></div>
Junio C Hamanof4581102009-04-25 08:29:59822<div class="para"><p>Subsection names are case sensitive and can contain any characters except
823newline (doublequote <tt>"</tt> and backslash have to be escaped as <tt>\"</tt> and <tt>\\</tt>,
824respectively). Section headers cannot span multiple
Junio C Hamano7ad22dc2007-01-29 02:55:48825lines. Variables may belong directly to a section or to a given subsection.
826You can have <tt>[section]</tt> if you have <tt>[section "subsection"]</tt>, but you
Junio C Hamanoba4b9282008-07-06 05:20:31827don't need to.</p></div>
Junio C Hamanof4581102009-04-25 08:29:59828<div class="para"><p>There is also a case insensitive alternative <tt>[section.subsection]</tt> syntax.
829In this syntax, subsection names follow the same restrictions as for section
830names.</p></div>
Junio C Hamanoaa2cd762009-07-26 08:14:01831<div class="para"><p>All the other lines (and the remainder of the line after the section
832header) are recognized as setting variables, in the form
Junio C Hamano7ad22dc2007-01-29 02:55:48833<em>name = value</em>. If there is no equal sign on the line, the entire line
834is taken as <em>name</em> and the variable is recognized as boolean "true".
835The variable names are case-insensitive and only alphanumeric
Junio C Hamanoea82cff2009-03-18 01:54:48836characters and <tt>-</tt> are allowed. There can be more than one value
Junio C Hamanoba4b9282008-07-06 05:20:31837for a given variable; we say then that variable is multivalued.</p></div>
838<div class="para"><p>Leading and trailing whitespace in a variable value is discarded.
839Internal whitespace within a variable value is retained verbatim.</p></div>
840<div class="para"><p>The values following the equals sign in variable assign are all either
Junio C Hamano7ad22dc2007-01-29 02:55:48841a string, an integer, or a boolean. Boolean values may be given as yes/no,
Junio C Hamano4cfa5362009-04-18 23:01:018420/1, true/false or on/off. Case is not significant in boolean values, when
Junio C Hamano7ad22dc2007-01-29 02:55:48843converting value to the canonical form using <em>--bool</em> type specifier;
Junio C Hamano1aa40d22010-01-21 17:46:43844<em>git config</em> will ensure that the output is "true" or "false".</p></div>
Junio C Hamanoba4b9282008-07-06 05:20:31845<div class="para"><p>String values may be entirely or partially enclosed in double quotes.
Junio C Hamanof4581102009-04-25 08:29:59846You need to enclose variable values in double quotes if you want to
847preserve leading or trailing whitespace, or if the variable value contains
848comment characters (i.e. it contains <em>#</em> or <em>;</em>).
849Double quote <tt>"</tt> and backslash <tt>\</tt> characters in variable values must
Junio C Hamanoea82cff2009-03-18 01:54:48850be escaped: use <tt>\"</tt> for <tt>"</tt> and <tt>\\</tt> for <tt>\</tt>.</p></div>
851<div class="para"><p>The following escape sequences (beside <tt>\"</tt> and <tt>\\</tt>) are recognized:
852<tt>\n</tt> for newline character (NL), <tt>\t</tt> for horizontal tabulation (HT, TAB)
853and <tt>\b</tt> for backspace (BS). No other char escape sequence, nor octal
Junio C Hamanoba4b9282008-07-06 05:20:31854char sequences are valid.</p></div>
Junio C Hamanof4581102009-04-25 08:29:59855<div class="para"><p>Variable values ending in a <tt>\</tt> are continued on the next line in the
Junio C Hamanoba4b9282008-07-06 05:20:31856customary UNIX fashion.</p></div>
Junio C Hamanof4581102009-04-25 08:29:59857<div class="para"><p>Some variables may require a special value format.</p></div>
Junio C Hamanoba4b9282008-07-06 05:20:31858<h3 id="_example">Example</h3><div style="clear:left"></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48859<div class="literalblock">
860<div class="content">
861<pre><tt># Core variables
862[core]
863 ; Don't trust file modes
864 filemode = false</tt></pre>
865</div></div>
866<div class="literalblock">
867<div class="content">
868<pre><tt># Our diff algorithm
869[diff]
Junio C Hamano85c71572008-07-28 00:03:31870 external = /usr/local/bin/diff-wrapper
Junio C Hamano7ad22dc2007-01-29 02:55:48871 renames = true</tt></pre>
872</div></div>
873<div class="literalblock">
874<div class="content">
875<pre><tt>[branch "devel"]
876 remote = origin
877 merge = refs/heads/devel</tt></pre>
878</div></div>
879<div class="literalblock">
880<div class="content">
881<pre><tt># Proxy settings
882[core]
Junio C Hamanoc71a8732007-08-04 00:27:26883 gitProxy="ssh" for "kernel.org"
Junio C Hamano7ad22dc2007-01-29 02:55:48884 gitProxy=default-proxy ; for the rest</tt></pre>
885</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31886<h3 id="_variables">Variables</h3><div style="clear:left"></div>
887<div class="para"><p>Note that this list is non-comprehensive and not necessarily complete.
Junio C Hamano7ad22dc2007-01-29 02:55:48888For command-specific variables, you will find a more detailed description
889in the appropriate manual page. You will find a description of non-core
Junio C Hamanoba4b9282008-07-06 05:20:31890porcelain configuration variables in the respective porcelain documentation.</p></div>
891<div class="vlist"><dl>
Junio C Hamano7ad22dc2007-01-29 02:55:48892<dt>
Junio C Hamano7df6dcf2009-09-13 09:51:17893advice.*
894</dt>
895<dd>
896<p>
897 When set to <em>true</em>, display the given optional help message.
898 When set to <em>false</em>, do not display. The configuration variables
899 are:
900</p>
901<div class="vlist"><dl>
902<dt>
903pushNonFastForward
904</dt>
905<dd>
906<p>
907 Advice shown when <a href="git-push.html">git-push(1)</a> refuses
908 non-fast-forward refs. Default: true.
909</p>
910</dd>
911<dt>
912statusHints
913</dt>
914<dd>
915<p>
916 Directions on how to stage/unstage/add shown in the
917 output of <a href="git-status.html">git-status(1)</a> and the template shown
918 when writing commit messages. Default: true.
919</p>
920</dd>
Junio C Hamano5706e0b2009-11-24 10:54:16921<dt>
922commitBeforeMerge
923</dt>
924<dd>
925<p>
926 Advice shown when <a href="git-merge.html">git-merge(1)</a> refuses to
927 merge to avoid overwritting local changes.
928 Default: true.
929</p>
930</dd>
Junio C Hamanoa9701f02010-01-21 00:42:16931<dt>
932resolveConflict
933</dt>
934<dd>
935<p>
936 Advices shown by various commands when conflicts
937 prevent the operation from being performed.
938 Default: true.
939</p>
940</dd>
941<dt>
942implicitIdentity
943</dt>
944<dd>
945<p>
946 Advice on how to set your identity configuration when
947 your information is guessed from the system username and
948 domain name. Default: true.
949</p>
950</dd>
Junio C Hamano74a198f2010-02-22 00:13:31951<dt>
952detachedHead
953</dt>
954<dd>
955<p>
956 Advice shown when you used <a href=":git-checkout.html">:git-checkout(1)</a> to
957 move to the detach HEAD state, to instruct how to create
958 a local branch after the fact. Default: true.
959</p>
960</dd>
Junio C Hamano7df6dcf2009-09-13 09:51:17961</dl></div>
962</dd>
963<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:48964core.fileMode
965</dt>
966<dd>
967<p>
968 If false, the executable bit differences between the index and
969 the working copy are ignored; useful on broken filesystems like FAT.
Junio C Hamano9df0c662009-11-23 11:09:27970 See <a href="git-update-index.html">git-update-index(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:48971</p>
Junio C Hamano9df0c662009-11-23 11:09:27972<div class="para"><p>The default is true, except <a href="git-clone.html">git-clone(1)</a> or <a href="git-init.html">git-init(1)</a>
973will probe and set core.fileMode false if appropriate when the
974repository is created.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48975</dd>
976<dt>
Junio C Hamanoa476efa2008-10-10 15:31:42977core.ignoreCygwinFSTricks
978</dt>
979<dd>
980<p>
981 This option is only used by Cygwin implementation of Git. If false,
982 the Cygwin stat() and lstat() functions are used. This may be useful
983 if your repository consists of a few separate directories joined in
984 one hierarchy using Cygwin mount. If true, Git uses native Win32 API
985 whenever it is possible and falls back to Cygwin functions only to
986 handle symbol links. The native mode is more than twice faster than
Junio C Hamano7d06a8a2008-10-20 05:42:33987 normal Cygwin l/stat() functions. True by default, unless core.filemode
988 is true, in which case ignoreCygwinFSTricks is ignored as Cygwin's
989 POSIX emulation is required to support core.filemode.
Junio C Hamanoa476efa2008-10-10 15:31:42990</p>
991</dd>
992<dt>
Junio C Hamano9df0c662009-11-23 11:09:27993core.ignorecase
994</dt>
995<dd>
996<p>
997 If true, this option enables various workarounds to enable
998 git to work better on filesystems that are not case sensitive,
999 like FAT. For example, if a directory listing finds
1000 "makefile" when git expects "Makefile", git will assume
1001 it is really the same file, and continue to remember it as
1002 "Makefile".
1003</p>
1004<div class="para"><p>The default is false, except <a href="git-clone.html">git-clone(1)</a> or <a href="git-init.html">git-init(1)</a>
1005will probe and set core.ignorecase true if appropriate when the repository
1006is created.</p></div>
1007</dd>
1008<dt>
Junio C Hamano90ccff32008-07-29 08:17:241009core.trustctime
1010</dt>
1011<dd>
1012<p>
1013 If false, the ctime differences between the index and the
1014 working copy are ignored; useful when the inode change time
1015 is regularly modified by something outside Git (file system
1016 crawlers and some backup systems).
1017 See <a href="git-update-index.html">git-update-index(1)</a>. True by default.
1018</p>
1019</dd>
1020<dt>
Junio C Hamanod526ba92007-07-02 00:17:421021core.quotepath
1022</dt>
1023<dd>
1024<p>
Junio C Hamanoba4b9282008-07-06 05:20:311025 The commands that output paths (e.g. <em>ls-files</em>,
1026 <em>diff</em>), when not given the <tt>-z</tt> option, will quote
Junio C Hamanod526ba92007-07-02 00:17:421027 "unusual" characters in the pathname by enclosing the
1028 pathname in a double-quote pair and with backslashes the
1029 same way strings in C source code are quoted. If this
1030 variable is set to false, the bytes higher than 0x80 are
1031 not quoted but output as verbatim. Note that double
1032 quote, backslash and control characters are always
1033 quoted without <tt>-z</tt> regardless of the setting of this
1034 variable.
1035</p>
1036</dd>
1037<dt>
Junio C Hamanod9e0e5d2007-04-14 16:22:041038core.autocrlf
1039</dt>
1040<dd>
1041<p>
1042 If true, makes git convert <tt>CRLF</tt> at the end of lines in text files to
1043 <tt>LF</tt> when reading from the filesystem, and convert in reverse when
1044 writing to the filesystem. The variable can be set to
1045 <em>input</em>, in which case the conversion happens only while
1046 reading from the filesystem but files are written out with
Junio C Hamanobf984de2009-11-23 06:11:191047 <tt>LF</tt> at the end of lines. A file is considered
1048 "text" (i.e. be subjected to the autocrlf mechanism) based on
1049 the file's <tt>crlf</tt> attribute, or if <tt>crlf</tt> is unspecified,
1050 based on the file's contents. See <a href="gitattributes.html">gitattributes(5)</a>.
Junio C Hamanod9e0e5d2007-04-14 16:22:041051</p>
1052</dd>
1053<dt>
Junio C Hamano26e590a2008-02-17 03:53:511054core.safecrlf
1055</dt>
1056<dd>
1057<p>
1058 If true, makes git check if converting <tt>CRLF</tt> as controlled by
1059 <tt>core.autocrlf</tt> is reversible. Git will verify if a command
1060 modifies a file in the work tree either directly or indirectly.
1061 For example, committing a file followed by checking out the
1062 same file should yield the original file in the work tree. If
1063 this is not the case for the current setting of
1064 <tt>core.autocrlf</tt>, git will reject the file. The variable can
1065 be set to "warn", in which case git will only warn about an
1066 irreversible conversion but continue the operation.
1067</p>
Junio C Hamanoba4b9282008-07-06 05:20:311068<div class="para"><p>CRLF conversion bears a slight chance of corrupting data.
Junio C Hamano26e590a2008-02-17 03:53:511069autocrlf=true will convert CRLF to LF during commit and LF to
1070CRLF during checkout. A file that contains a mixture of LF and
1071CRLF before the commit cannot be recreated by git. For text
1072files this is the right thing to do: it corrects line endings
1073such that we have only LF line endings in the repository.
1074But for binary files that are accidentally classified as text the
Junio C Hamanoba4b9282008-07-06 05:20:311075conversion can corrupt data.</p></div>
1076<div class="para"><p>If you recognize such corruption early you can easily fix it by
Junio C Hamano26e590a2008-02-17 03:53:511077setting the conversion type explicitly in .gitattributes. Right
1078after committing you still have the original file in your work
1079tree and this file is not yet corrupted. You can explicitly tell
1080git that this file is binary and git will handle the file
Junio C Hamanoba4b9282008-07-06 05:20:311081appropriately.</p></div>
1082<div class="para"><p>Unfortunately, the desired effect of cleaning up text files with
Junio C Hamano26e590a2008-02-17 03:53:511083mixed line endings and the undesired effect of corrupting binary
1084files cannot be distinguished. In both cases CRLFs are removed
1085in an irreversible way. For text files this is the right thing
1086to do because CRLFs are line endings, while for binary files
Junio C Hamanoba4b9282008-07-06 05:20:311087converting CRLFs corrupts data.</p></div>
1088<div class="para"><p>Note, this safety check does not mean that a checkout will generate a
Junio C Hamano26e590a2008-02-17 03:53:511089file identical to the original file for a different setting of
1090<tt>core.autocrlf</tt>, but only for the current one. For example, a text
1091file with <tt>LF</tt> would be accepted with <tt>core.autocrlf=input</tt> and could
1092later be checked out with <tt>core.autocrlf=true</tt>, in which case the
1093resulting file would contain <tt>CRLF</tt>, although the original file
1094contained <tt>LF</tt>. However, in both work trees the line endings would be
1095consistent, that is either all <tt>LF</tt> or all <tt>CRLF</tt>, but never mixed. A
1096file with mixed line endings would be reported by the <tt>core.safecrlf</tt>
Junio C Hamanoba4b9282008-07-06 05:20:311097mechanism.</p></div>
Junio C Hamano26e590a2008-02-17 03:53:511098</dd>
1099<dt>
Junio C Hamanoaa83a7d2007-03-05 02:37:291100core.symlinks
1101</dt>
1102<dd>
1103<p>
1104 If false, symbolic links are checked out as small plain files that
1105 contain the link text. <a href="git-update-index.html">git-update-index(1)</a> and
1106 <a href="git-add.html">git-add(1)</a> will not change the recorded type to regular
1107 file. Useful on filesystems like FAT that do not support
Junio C Hamano9df0c662009-11-23 11:09:271108 symbolic links.
Junio C Hamanoaa83a7d2007-03-05 02:37:291109</p>
Junio C Hamano9df0c662009-11-23 11:09:271110<div class="para"><p>The default is true, except <a href="git-clone.html">git-clone(1)</a> or <a href="git-init.html">git-init(1)</a>
1111will probe and set core.symlinks false if appropriate when the repository
1112is created.</p></div>
Junio C Hamanoaa83a7d2007-03-05 02:37:291113</dd>
1114<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481115core.gitProxy
1116</dt>
1117<dd>
1118<p>
1119 A "proxy command" to execute (as <em>command host port</em>) instead
1120 of establishing direct connection to the remote server when
1121 using the git protocol for fetching. If the variable value is
1122 in the "COMMAND for DOMAIN" format, the command is applied only
1123 on hostnames ending with the specified domain string. This variable
1124 may be set multiple times and is matched in the given order;
1125 the first match wins.
1126</p>
Junio C Hamanoba4b9282008-07-06 05:20:311127<div class="para"><p>Can be overridden by the <em>GIT_PROXY_COMMAND</em> environment variable
Junio C Hamano7ad22dc2007-01-29 02:55:481128(which always applies universally, without the special "for"
Junio C Hamanoba4b9282008-07-06 05:20:311129handling).</p></div>
Junio C Hamanoea82cff2009-03-18 01:54:481130<div class="para"><p>The special string <tt>none</tt> can be used as the proxy command to
1131specify that no proxy be used for a given domain pattern.
1132This is useful for excluding servers inside a firewall from
1133proxy use, while defaulting to a common proxy for external domains.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481134</dd>
1135<dt>
1136core.ignoreStat
1137</dt>
1138<dd>
1139<p>
Junio C Hamano054ea082008-06-01 08:26:341140 If true, commands which modify both the working tree and the index
1141 will mark the updated paths with the "assume unchanged" bit in the
1142 index. These marked files are then assumed to stay unchanged in the
1143 working copy, until you mark them otherwise manually - Git will not
1144 detect the file changes by lstat() calls. This is useful on systems
1145 where those are very slow, such as Microsoft Windows.
1146 See <a href="git-update-index.html">git-update-index(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:481147 False by default.
1148</p>
1149</dd>
1150<dt>
1151core.preferSymlinkRefs
1152</dt>
1153<dd>
1154<p>
1155 Instead of the default "symref" format for HEAD
1156 and other symbolic reference files, use symbolic links.
1157 This is sometimes needed to work with old scripts that
1158 expect HEAD to be a symbolic link.
1159</p>
1160</dd>
1161<dt>
Junio C Hamano1025e752007-02-23 07:21:261162core.bare
1163</dt>
1164<dd>
1165<p>
1166 If true this repository is assumed to be <em>bare</em> and has no
1167 working directory associated with it. If this is the case a
1168 number of commands that require a working directory will be
1169 disabled, such as <a href="git-add.html">git-add(1)</a> or <a href="git-merge.html">git-merge(1)</a>.
1170</p>
Junio C Hamanoba4b9282008-07-06 05:20:311171<div class="para"><p>This setting is automatically guessed by <a href="git-clone.html">git-clone(1)</a> or
Junio C Hamano1025e752007-02-23 07:21:261172<a href="git-init.html">git-init(1)</a> when the repository was created. By default a
1173repository that ends in "/.git" is assumed to be not bare (bare =
1174false), while all other repositories are assumed to be bare (bare
Junio C Hamanoba4b9282008-07-06 05:20:311175= true).</p></div>
Junio C Hamano1025e752007-02-23 07:21:261176</dd>
1177<dt>
Junio C Hamanod526ba92007-07-02 00:17:421178core.worktree
1179</dt>
1180<dd>
1181<p>
Junio C Hamanodab291e2009-12-30 09:45:381182 Set the path to the root of the work tree.
Junio C Hamano764a6672007-10-23 01:23:311183 This can be overridden by the GIT_WORK_TREE environment
Junio C Hamano7d575a52008-04-30 08:45:271184 variable and the <em>--work-tree</em> command line option. It can be
Junio C Hamanodab291e2009-12-30 09:45:381185 an absolute path or a relative path to the .git directory,
1186 either specified by --git-dir or GIT_DIR, or automatically
1187 discovered.
1188 If --git-dir or GIT_DIR are specified but none of
Junio C Hamano7d575a52008-04-30 08:45:271189 --work-tree, GIT_WORK_TREE and core.worktree is specified,
Junio C Hamanodab291e2009-12-30 09:45:381190 the current working directory is regarded as the root of the
1191 work tree.
Junio C Hamanod526ba92007-07-02 00:17:421192</p>
Junio C Hamanodab291e2009-12-30 09:45:381193<div class="para"><p>Note that this variable is honored even when set in a configuration
1194file in a ".git" subdirectory of a directory, and its value differs
1195from the latter directory (e.g. "/path/to/.git/config" has
1196core.worktree set to "/different/path"), which is most likely a
1197misconfiguration. Running git commands in "/path/to" directory will
1198still use "/different/path" as the root of the work tree and can cause
1199great confusion to the users.</p></div>
Junio C Hamanod526ba92007-07-02 00:17:421200</dd>
1201<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481202core.logAllRefUpdates
1203</dt>
1204<dd>
1205<p>
Junio C Hamanocae86272007-08-21 02:20:491206 Enable the reflog. Updates to a ref &lt;ref&gt; is logged to the file
Junio C Hamano7ad22dc2007-01-29 02:55:481207 "$GIT_DIR/logs/&lt;ref&gt;", by appending the new and old
1208 SHA1, the date/time and the reason of the update, but
1209 only when the file exists. If this configuration
1210 variable is set to true, missing "$GIT_DIR/logs/&lt;ref&gt;"
1211 file is automatically created for branch heads.
1212</p>
Junio C Hamanoba4b9282008-07-06 05:20:311213<div class="para"><p>This information can be used to determine what commit
1214was the tip of a branch "2 days ago".</p></div>
1215<div class="para"><p>This value is true by default in a repository that has
Junio C Hamano7ad22dc2007-01-29 02:55:481216a working directory associated with it, and false by
Junio C Hamanoba4b9282008-07-06 05:20:311217default in a bare repository.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481218</dd>
1219<dt>
1220core.repositoryFormatVersion
1221</dt>
1222<dd>
1223<p>
1224 Internal variable identifying the repository format and layout
1225 version.
1226</p>
1227</dd>
1228<dt>
1229core.sharedRepository
1230</dt>
1231<dd>
1232<p>
1233 When <em>group</em> (or <em>true</em>), the repository is made shareable between
1234 several users in a group (making sure all the files and objects are
1235 group-writable). When <em>all</em> (or <em>world</em> or <em>everybody</em>), the
1236 repository will be readable by all users, additionally to being
1237 group-shareable. When <em>umask</em> (or <em>false</em>), git will use permissions
Junio C Hamano2f102bb2008-04-26 02:23:371238 reported by umask(2). When <em>0xxx</em>, where <em>0xxx</em> is an octal number,
1239 files in the repository will have this mode value. <em>0xxx</em> will override
Junio C Hamano83eded12009-04-20 08:18:001240 user's umask value (whereas the other options will only override
1241 requested parts of the user's umask value). Examples: <em>0660</em> will make
1242 the repo read/write-able for the owner and group, but inaccessible to
1243 others (equivalent to <em>group</em> unless umask is e.g. <em>0022</em>). <em>0640</em> is a
Junio C Hamano2f102bb2008-04-26 02:23:371244 repository that is group-readable but not group-writable.
1245 See <a href="git-init.html">git-init(1)</a>. False by default.
Junio C Hamano7ad22dc2007-01-29 02:55:481246</p>
1247</dd>
1248<dt>
1249core.warnAmbiguousRefs
1250</dt>
1251<dd>
1252<p>
1253 If true, git will warn you if the ref name you passed it is ambiguous
1254 and might match multiple refs in the .git/refs/ tree. True by default.
1255</p>
1256</dd>
1257<dt>
1258core.compression
1259</dt>
1260<dd>
1261<p>
Junio C Hamanof2ce2972007-05-20 19:12:091262 An integer -1..9, indicating a default compression level.
1263 -1 is the zlib default. 0 means no compression,
1264 and 1..9 are various speed/size tradeoffs, 9 being slowest.
Junio C Hamano2e72a942007-11-21 08:54:421265 If set, this provides a default to other compression variables,
1266 such as <em>core.loosecompression</em> and <em>pack.compression</em>.
Junio C Hamano7ad22dc2007-01-29 02:55:481267</p>
1268</dd>
1269<dt>
Junio C Hamanof2ce2972007-05-20 19:12:091270core.loosecompression
Junio C Hamano7ad22dc2007-01-29 02:55:481271</dt>
1272<dd>
1273<p>
Junio C Hamanof2ce2972007-05-20 19:12:091274 An integer -1..9, indicating the compression level for objects that
1275 are not in a pack file. -1 is the zlib default. 0 means no
1276 compression, and 1..9 are various speed/size tradeoffs, 9 being
1277 slowest. If not set, defaults to core.compression. If that is
Junio C Hamano2e72a942007-11-21 08:54:421278 not set, defaults to 1 (best speed).
Junio C Hamano7ad22dc2007-01-29 02:55:481279</p>
1280</dd>
1281<dt>
1282core.packedGitWindowSize
1283</dt>
1284<dd>
1285<p>
1286 Number of bytes of a pack file to map into memory in a
1287 single mapping operation. Larger window sizes may allow
1288 your system to process a smaller number of large pack files
1289 more quickly. Smaller window sizes will negatively affect
1290 performance due to increased calls to the operating system's
1291 memory manager, but may improve performance when accessing
1292 a large number of large pack files.
1293</p>
Junio C Hamanoba4b9282008-07-06 05:20:311294<div class="para"><p>Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32
Junio C Hamano7ad22dc2007-01-29 02:55:481295MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should
1296be reasonable for all users/operating systems. You probably do
Junio C Hamanoba4b9282008-07-06 05:20:311297not need to adjust this value.</p></div>
1298<div class="para"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481299</dd>
1300<dt>
1301core.packedGitLimit
1302</dt>
1303<dd>
1304<p>
1305 Maximum number of bytes to map simultaneously into memory
1306 from pack files. If Git needs to access more than this many
1307 bytes at once to complete an operation it will unmap existing
1308 regions to reclaim virtual address space within the process.
1309</p>
Junio C Hamanoba4b9282008-07-06 05:20:311310<div class="para"><p>Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit platforms.
Junio C Hamano7ad22dc2007-01-29 02:55:481311This should be reasonable for all users/operating systems, except on
Junio C Hamanoba4b9282008-07-06 05:20:311312the largest projects. You probably do not need to adjust this value.</p></div>
1313<div class="para"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481314</dd>
1315<dt>
Junio C Hamanob8c51282007-03-19 10:43:301316core.deltaBaseCacheLimit
1317</dt>
1318<dd>
1319<p>
1320 Maximum number of bytes to reserve for caching base objects
1321 that multiple deltafied objects reference. By storing the
1322 entire decompressed base objects in a cache Git is able
1323 to avoid unpacking and decompressing frequently used base
1324 objects multiple times.
1325</p>
Junio C Hamanoba4b9282008-07-06 05:20:311326<div class="para"><p>Default is 16 MiB on all platforms. This should be reasonable
Junio C Hamanob8c51282007-03-19 10:43:301327for all users/operating systems, except on the largest projects.
Junio C Hamanoba4b9282008-07-06 05:20:311328You probably do not need to adjust this value.</p></div>
1329<div class="para"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
Junio C Hamanob8c51282007-03-19 10:43:301330</dd>
1331<dt>
Junio C Hamano5c246f22010-02-03 07:34:531332core.bigFileThreshold
1333</dt>
1334<dd>
1335<p>
1336 Files larger than this size are stored deflated, without
1337 attempting delta compression. Storing large files without
1338 delta compression avoids excessive memory usage, at the
1339 slight expense of increased disk usage.
1340</p>
1341<div class="para"><p>Default is 512 MiB on all platforms. This should be reasonable
1342for most projects as source code and other text files can still
1343be delta compressed, but larger binary media files won't be.</p></div>
1344<div class="para"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
1345<div class="para"><p>Currently only <a href="git-fast-import.html">git-fast-import(1)</a> honors this setting.</p></div>
1346</dd>
1347<dt>
Junio C Hamano1d90cb02007-07-03 07:05:311348core.excludesfile
Junio C Hamano5e284b42007-05-22 07:23:371349</dt>
1350<dd>
1351<p>
1352 In addition to <em>.gitignore</em> (per-directory) and
1353 <em>.git/info/exclude</em>, git looks into this file for patterns
Junio C Hamanobf984de2009-11-23 06:11:191354 of files which are not meant to be tracked. "&#126;/" is expanded
1355 to the value of <tt>$HOME</tt> and "&#126;user/" to the specified user's
1356 home directory. See <a href="gitignore.html">gitignore(5)</a>.
Junio C Hamano5e284b42007-05-22 07:23:371357</p>
1358</dd>
1359<dt>
Junio C Hamanof6002a92007-07-20 10:28:221360core.editor
1361</dt>
1362<dd>
1363<p>
1364 Commands such as <tt>commit</tt> and <tt>tag</tt> that lets you edit
Junio C Hamanoa6387422007-08-25 03:54:271365 messages by launching an editor uses the value of this
Junio C Hamanof6002a92007-07-20 10:28:221366 variable when it is set, and the environment variable
Junio C Hamano3b70d3c2009-11-21 17:37:371367 <tt>GIT_EDITOR</tt> is not set. See <a href="git-var.html">git-var(1)</a>.
Junio C Hamanof6002a92007-07-20 10:28:221368</p>
1369</dd>
1370<dt>
Junio C Hamano28d8ede2007-07-05 05:51:381371core.pager
1372</dt>
1373<dd>
1374<p>
Junio C Hamano0551f6a2008-08-25 00:33:331375 The command that git will use to paginate output. Can
1376 be overridden with the <tt>GIT_PAGER</tt> environment
1377 variable. Note that git sets the <tt>LESS</tt> environment
1378 variable to <tt>FRSX</tt> if it is unset when it runs the
1379 pager. One can change these settings by setting the
Junio C Hamanoa476efa2008-10-10 15:31:421380 <tt>LESS</tt> variable to some other value. Alternately,
1381 these settings can be overridden on a project or
1382 global basis by setting the <tt>core.pager</tt> option.
1383 Setting <tt>core.pager</tt> has no affect on the <tt>LESS</tt>
1384 environment variable behaviour above, so if you want
1385 to override git's default settings this way, you need
1386 to be explicit. For example, to disable the S option
1387 in a backward compatible manner, set <tt>core.pager</tt>
Junio C Hamanoea82cff2009-03-18 01:54:481388 to <tt>less -+$LESS -FRX</tt>. This will be passed to the
Junio C Hamanoa476efa2008-10-10 15:31:421389 shell by git, which will translate the final command to
Junio C Hamanoea82cff2009-03-18 01:54:481390 <tt>LESS=FRSX less -+FRSX -FRX</tt>.
Junio C Hamano28d8ede2007-07-05 05:51:381391</p>
1392</dd>
1393<dt>
Junio C Hamano942b35e2007-12-09 10:19:331394core.whitespace
1395</dt>
1396<dd>
1397<p>
1398 A comma separated list of common whitespace problems to
Junio C Hamano1aa40d22010-01-21 17:46:431399 notice. <em>git diff</em> will use <tt>color.diff.whitespace</tt> to
1400 highlight them, and <em>git apply --whitespace=error</em> will
Junio C Hamano3db8b412008-07-26 06:45:591401 consider them as errors. You can prefix <tt>-</tt> to disable
1402 any of them (e.g. <tt>-trailing-space</tt>):
Junio C Hamano942b35e2007-12-09 10:19:331403</p>
Junio C Hamanoba4b9282008-07-06 05:20:311404<div class="ilist"><ul>
Junio C Hamano942b35e2007-12-09 10:19:331405<li>
1406<p>
Junio C Hamanob71a22d2009-10-17 08:23:471407<tt>blank-at-eol</tt> treats trailing whitespaces at the end of the line
Junio C Hamano942b35e2007-12-09 10:19:331408 as an error (enabled by default).
1409</p>
1410</li>
1411<li>
1412<p>
1413<tt>space-before-tab</tt> treats a space character that appears immediately
1414 before a tab character in the initial indent part of the line as an
1415 error (enabled by default).
1416</p>
1417</li>
1418<li>
1419<p>
1420<tt>indent-with-non-tab</tt> treats a line that is indented with 8 or more
Junio C Hamano42a2e2d2007-12-16 22:13:421421 space characters as an error (not enabled by default).
Junio C Hamano942b35e2007-12-09 10:19:331422</p>
1423</li>
Junio C Hamano601f3e52008-02-25 08:40:421424<li>
1425<p>
Junio C Hamanob71a22d2009-10-17 08:23:471426<tt>blank-at-eof</tt> treats blank lines added at the end of file as an error
1427 (enabled by default).
1428</p>
1429</li>
1430<li>
1431<p>
1432<tt>trailing-space</tt> is a short-hand to cover both <tt>blank-at-eol</tt> and
1433 <tt>blank-at-eof</tt>.
1434</p>
1435</li>
1436<li>
1437<p>
Junio C Hamano601f3e52008-02-25 08:40:421438<tt>cr-at-eol</tt> treats a carriage-return at the end of line as
1439 part of the line terminator, i.e. with it, <tt>trailing-space</tt>
1440 does not trigger if the character before such a carriage-return
1441 is not a whitespace (not enabled by default).
1442</p>
1443</li>
Junio C Hamanoba4b9282008-07-06 05:20:311444</ul></div>
Junio C Hamano942b35e2007-12-09 10:19:331445</dd>
1446<dt>
Junio C Hamano9eb57532008-06-26 06:33:461447core.fsyncobjectfiles
1448</dt>
1449<dd>
1450<p>
1451 This boolean will enable <em>fsync()</em> when writing object files.
1452</p>
Junio C Hamanoba4b9282008-07-06 05:20:311453<div class="para"><p>This is a total waste of time and effort on a filesystem that orders
Junio C Hamano9eb57532008-06-26 06:33:461454data writes properly, but can be useful for filesystems that do not use
1455journalling (traditional UNIX filesystems) or that only journal metadata
Junio C Hamanoba4b9282008-07-06 05:20:311456and not file contents (OS X's HFS+, or Linux ext3 with "data=writeback").</p></div>
Junio C Hamano9eb57532008-06-26 06:33:461457</dd>
1458<dt>
Junio C Hamano610d1762008-11-28 06:27:131459core.preloadindex
1460</dt>
1461<dd>
1462<p>
1463 Enable parallel index preload for operations like <em>git diff</em>
1464</p>
1465<div class="para"><p>This can speed up operations like <em>git diff</em> and <em>git status</em> especially
1466on filesystems like NFS that have weak caching semantics and thus
1467relatively high IO latencies. With this set to <em>true</em>, git will do the
1468index comparison to the filesystem data in parallel, allowing
1469overlapping IO's.</p></div>
1470</dd>
1471<dt>
Junio C Hamanoa9499de2009-04-30 03:38:481472core.createObject
Junio C Hamanoe91ea772009-04-26 01:41:411473</dt>
1474<dd>
1475<p>
Junio C Hamanoa9499de2009-04-30 03:38:481476 You can set this to <em>link</em>, in which case a hardlink followed by
1477 a delete of the source are used to make sure that object creation
1478 will not overwrite existing objects.
Junio C Hamanoe91ea772009-04-26 01:41:411479</p>
Junio C Hamanoa9499de2009-04-30 03:38:481480<div class="para"><p>On some file system/operating system combinations, this is unreliable.
1481Set this config setting to <em>rename</em> there; However, This will remove the
1482check that makes sure that existing object files will not get overwritten.</p></div>
Junio C Hamanoe91ea772009-04-26 01:41:411483</dd>
1484<dt>
Junio C Hamano3b70d3c2009-11-21 17:37:371485core.notesRef
1486</dt>
1487<dd>
1488<p>
1489 When showing commit messages, also show notes which are stored in
1490 the given ref. This ref is expected to contain files named
1491 after the full SHA-1 of the commit they annotate.
1492</p>
1493<div class="para"><p>If such a file exists in the given ref, the referenced blob is read, and
1494appended to the commit message, separated by a "Notes:" line. If the
1495given ref itself does not exist, it is not an error, but means that no
1496notes should be printed.</p></div>
1497<div class="para"><p>This setting defaults to "refs/notes/commits", and can be overridden by
1498the <tt>GIT_NOTES_REF</tt> environment variable.</p></div>
1499</dd>
1500<dt>
Junio C Hamano3c8d6702010-01-13 23:09:031501core.sparseCheckout
1502</dt>
1503<dd>
1504<p>
1505 Enable "sparse checkout" feature. See section "Sparse checkout" in
1506 <a href="git-read-tree.html">git-read-tree(1)</a> for more information.
1507</p>
1508</dd>
1509<dt>
Junio C Hamano3d141512009-06-01 01:22:401510add.ignore-errors
1511</dt>
1512<dd>
1513<p>
Junio C Hamano1aa40d22010-01-21 17:46:431514 Tells <em>git add</em> to continue adding files when some files cannot be
Junio C Hamano3d141512009-06-01 01:22:401515 added due to indexing errors. Equivalent to the <em>--ignore-errors</em>
1516 option of <a href="git-add.html">git-add(1)</a>.
1517</p>
1518</dd>
1519<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481520alias.*
1521</dt>
1522<dd>
1523<p>
1524 Command aliases for the <a href="git.html">git(1)</a> command wrapper - e.g.
1525 after defining "alias.last = cat-file commit HEAD", the invocation
1526 "git last" is equivalent to "git cat-file commit HEAD". To avoid
1527 confusion and troubles with script usage, aliases that
1528 hide existing git commands are ignored. Arguments are split by
1529 spaces, the usual shell quoting and escaping is supported.
1530 quote pair and a backslash can be used to quote them.
1531</p>
Junio C Hamanoba4b9282008-07-06 05:20:311532<div class="para"><p>If the alias expansion is prefixed with an exclamation point,
Junio C Hamano9cb74f22007-02-12 04:15:051533it will be treated as a shell command. For example, defining
1534"alias.new = !gitk --all --not ORIG_HEAD", the invocation
1535"git new" is equivalent to running the shell command
Junio C Hamano48bc1ce2009-07-09 16:49:191536"gitk --all --not ORIG_HEAD". Note that shell commands will be
1537executed from the top-level directory of a repository, which may
1538not necessarily be the current directory.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481539</dd>
1540<dt>
Junio C Hamanocaa712a2010-03-11 01:17:351541am.keepcr
1542</dt>
1543<dd>
1544<p>
1545 If true, git-am will call git-mailsplit for patches in mbox format
1546 with parameter <em>--keep-cr</em>. In this case git-mailsplit will
1547 not remove <tt>\r</tt> from lines ending with <tt>\r\n</tt>. Can be overrriden
1548 by giving <em>--no-keep-cr</em> from the command line.
1549 See <a href="git-am.html">git-am(1)</a>, <a href="git-mailsplit.html">git-mailsplit(1)</a>.
1550</p>
1551</dd>
1552<dt>
Junio C Hamanofe24db02009-08-22 05:10:471553apply.ignorewhitespace
1554</dt>
1555<dd>
1556<p>
Junio C Hamano1aa40d22010-01-21 17:46:431557 When set to <em>change</em>, tells <em>git apply</em> to ignore changes in
Junio C Hamanofe24db02009-08-22 05:10:471558 whitespace, in the same way as the <em>--ignore-space-change</em>
1559 option.
Junio C Hamano1aa40d22010-01-21 17:46:431560 When set to one of: no, none, never, false tells <em>git apply</em> to
Junio C Hamanofe24db02009-08-22 05:10:471561 respect all whitespace differences.
1562 See <a href="git-apply.html">git-apply(1)</a>.
1563</p>
1564</dd>
1565<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481566apply.whitespace
1567</dt>
1568<dd>
1569<p>
Junio C Hamano1aa40d22010-01-21 17:46:431570 Tells <em>git apply</em> how to handle whitespaces, in the same way
Junio C Hamano7ad22dc2007-01-29 02:55:481571 as the <em>--whitespace</em> option. See <a href="git-apply.html">git-apply(1)</a>.
1572</p>
1573</dd>
1574<dt>
Junio C Hamano7fd84172007-05-24 07:00:321575branch.autosetupmerge
1576</dt>
1577<dd>
1578<p>
Junio C Hamano1aa40d22010-01-21 17:46:431579 Tells <em>git branch</em> and <em>git checkout</em> to set up new branches
Junio C Hamano24bc09a2008-02-28 00:27:441580 so that <a href="git-pull.html">git-pull(1)</a> will appropriately merge from the
1581 starting point branch. Note that even if this option is not set,
Junio C Hamano7fd84172007-05-24 07:00:321582 this behavior can be chosen per-branch using the <tt>--track</tt>
Junio C Hamano24bc09a2008-02-28 00:27:441583 and <tt>--no-track</tt> options. The valid settings are: <tt>false</tt> &#8212; no
1584 automatic setup is done; <tt>true</tt> &#8212; automatic setup is done when the
1585 starting point is a remote branch; <tt>always</tt> &#8212; automatic setup is
1586 done when the starting point is either a local branch or remote
1587 branch. This option defaults to true.
Junio C Hamano7fd84172007-05-24 07:00:321588</p>
1589</dd>
1590<dt>
Junio C Hamano869bb802008-05-12 00:29:471591branch.autosetuprebase
1592</dt>
1593<dd>
1594<p>
Junio C Hamano1aa40d22010-01-21 17:46:431595 When a new branch is created with <em>git branch</em> or <em>git checkout</em>
Junio C Hamano869bb802008-05-12 00:29:471596 that tracks another branch, this variable tells git to set
1597 up pull to rebase instead of merge (see "branch.&lt;name&gt;.rebase").
1598 When <tt>never</tt>, rebase is never automatically set to true.
1599 When <tt>local</tt>, rebase is set to true for tracked branches of
1600 other local branches.
1601 When <tt>remote</tt>, rebase is set to true for tracked branches of
1602 remote branches.
1603 When <tt>always</tt>, rebase will be set to true for all tracking
1604 branches.
1605 See "branch.autosetupmerge" for details on how to set up a
1606 branch to track another branch.
1607 This option defaults to never.
1608</p>
1609</dd>
1610<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481611branch.&lt;name&gt;.remote
1612</dt>
1613<dd>
1614<p>
Junio C Hamano1aa40d22010-01-21 17:46:431615 When in branch &lt;name&gt;, it tells <em>git fetch</em> and <em>git push</em> which
Junio C Hamano0706c802009-03-30 22:34:191616 remote to fetch from/push to. It defaults to <tt>origin</tt> if no remote is
1617 configured. <tt>origin</tt> is also used if you are not on any branch.
Junio C Hamano7ad22dc2007-01-29 02:55:481618</p>
1619</dd>
1620<dt>
1621branch.&lt;name&gt;.merge
1622</dt>
1623<dd>
1624<p>
Junio C Hamano0706c802009-03-30 22:34:191625 Defines, together with branch.&lt;name&gt;.remote, the upstream branch
Junio C Hamano1aa40d22010-01-21 17:46:431626 for the given branch. It tells <em>git fetch</em>/<em>git pull</em> which
1627 branch to merge and can also affect <em>git push</em> (see push.default).
1628 When in branch &lt;name&gt;, it tells <em>git fetch</em> the default
Junio C Hamanoc2b47092007-10-25 06:50:311629 refspec to be marked for merging in FETCH_HEAD. The value is
1630 handled like the remote part of a refspec, and must match a
1631 ref which is fetched from the remote given by
1632 "branch.&lt;name&gt;.remote".
Junio C Hamano1aa40d22010-01-21 17:46:431633 The merge information is used by <em>git pull</em> (which at first calls
1634 <em>git fetch</em>) to lookup the default branch for merging. Without
1635 this option, <em>git pull</em> defaults to merge the first refspec fetched.
Junio C Hamano7ad22dc2007-01-29 02:55:481636 Specify multiple values to get an octopus merge.
Junio C Hamano1aa40d22010-01-21 17:46:431637 If you wish to setup <em>git pull</em> so that it merges into &lt;name&gt; from
Junio C Hamano6e149c02007-03-16 10:21:071638 another branch in the local repository, you can point
1639 branch.&lt;name&gt;.merge to the desired branch, and use the special setting
1640 <tt>.</tt> (a period) for branch.&lt;name&gt;.remote.
Junio C Hamano7ad22dc2007-01-29 02:55:481641</p>
1642</dd>
1643<dt>
Junio C Hamano1b50ce92007-10-03 12:05:531644branch.&lt;name&gt;.mergeoptions
1645</dt>
1646<dd>
1647<p>
1648 Sets default options for merging into branch &lt;name&gt;. The syntax and
Junio C Hamanoc0e55e72009-10-10 00:56:291649 supported options are the same as those of <a href="git-merge.html">git-merge(1)</a>, but
Junio C Hamano1b50ce92007-10-03 12:05:531650 option values containing whitespace characters are currently not
1651 supported.
1652</p>
1653</dd>
1654<dt>
Junio C Hamano0c999702007-12-03 09:57:551655branch.&lt;name&gt;.rebase
1656</dt>
1657<dd>
1658<p>
1659 When true, rebase the branch &lt;name&gt; on top of the fetched branch,
Junio C Hamano6d76d612008-05-09 05:46:081660 instead of merging the default branch from the default remote when
1661 "git pull" is run.
Junio C Hamano0c999702007-12-03 09:57:551662 <strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use
1663 it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a>
1664 for details).
1665</p>
1666</dd>
1667<dt>
Junio C Hamano8760ea62008-03-14 08:58:451668browser.&lt;tool&gt;.cmd
1669</dt>
1670<dd>
1671<p>
1672 Specify the command to invoke the specified browser. The
1673 specified command is evaluated in shell with the URLs passed
1674 as arguments. (See <a href="git-web--browse.html">git-web--browse(1)</a>.)
1675</p>
1676</dd>
1677<dt>
Junio C Hamanoe35a6fc2008-01-29 09:46:271678browser.&lt;tool&gt;.path
1679</dt>
1680<dd>
1681<p>
1682 Override the path for the given tool that may be used to
1683 browse HTML help (see <em>-w</em> option in <a href="git-help.html">git-help(1)</a>) or a
1684 working repository in gitweb (see <a href="git-instaweb.html">git-instaweb(1)</a>).
1685</p>
1686</dd>
1687<dt>
Junio C Hamano47b9acd2007-04-24 07:34:341688clean.requireForce
1689</dt>
1690<dd>
1691<p>
Junio C Hamano422cfec2007-11-08 08:07:451692 A boolean to make git-clean do nothing unless given -f
1693 or -n. Defaults to true.
Junio C Hamano47b9acd2007-04-24 07:34:341694</p>
1695</dd>
1696<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481697color.branch
1698</dt>
1699<dd>
1700<p>
1701 A boolean to enable/disable color in the output of
Junio C Hamano0fc8cd92007-12-06 03:26:211702 <a href="git-branch.html">git-branch(1)</a>. May be set to <tt>always</tt>,
1703 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used
Junio C Hamano7ad22dc2007-01-29 02:55:481704 only when the output is to a terminal. Defaults to false.
1705</p>
1706</dd>
1707<dt>
1708color.branch.&lt;slot&gt;
1709</dt>
1710<dd>
1711<p>
1712 Use customized color for branch coloration. <tt>&lt;slot&gt;</tt> is one of
1713 <tt>current</tt> (the current branch), <tt>local</tt> (a local branch),
1714 <tt>remote</tt> (a tracking branch in refs/remotes/), <tt>plain</tt> (other
1715 refs).
1716</p>
Junio C Hamanoba4b9282008-07-06 05:20:311717<div class="para"><p>The value for these configuration variables is a list of colors (at most
Junio C Hamano7ad22dc2007-01-29 02:55:481718two) and attributes (at most one), separated by spaces. The colors
1719accepted are <tt>normal</tt>, <tt>black</tt>, <tt>red</tt>, <tt>green</tt>, <tt>yellow</tt>, <tt>blue</tt>,
1720<tt>magenta</tt>, <tt>cyan</tt> and <tt>white</tt>; the attributes are <tt>bold</tt>, <tt>dim</tt>, <tt>ul</tt>,
1721<tt>blink</tt> and <tt>reverse</tt>. The first color given is the foreground; the
1722second is the background. The position of the attribute, if any,
Junio C Hamanoba4b9282008-07-06 05:20:311723doesn't matter.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481724</dd>
1725<dt>
1726color.diff
1727</dt>
1728<dd>
1729<p>
Junio C Hamano0fc8cd92007-12-06 03:26:211730 When set to <tt>always</tt>, always use colors in patch.
1731 When false (or <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use
1732 colors only when the output is to the terminal. Defaults to false.
Junio C Hamano7ad22dc2007-01-29 02:55:481733</p>
1734</dd>
1735<dt>
1736color.diff.&lt;slot&gt;
1737</dt>
1738<dd>
1739<p>
1740 Use customized color for diff colorization. <tt>&lt;slot&gt;</tt> specifies
1741 which part of the patch to use the specified color, and is one
1742 of <tt>plain</tt> (context text), <tt>meta</tt> (metainformation), <tt>frag</tt>
Junio C Hamano2bd8a742009-12-01 21:16:591743 (hunk header), <em>func</em> (function in hunk header), <tt>old</tt> (removed lines),
1744 <tt>new</tt> (added lines), <tt>commit</tt> (commit headers), or <tt>whitespace</tt>
1745 (highlighting whitespace errors). The values of these variables may be
1746 specified as in color.branch.&lt;slot&gt;.
Junio C Hamano7ad22dc2007-01-29 02:55:481747</p>
1748</dd>
1749<dt>
Junio C Hamanod257cff2009-03-18 05:27:161750color.grep
1751</dt>
1752<dd>
1753<p>
1754 When set to <tt>always</tt>, always highlight matches. When <tt>false</tt> (or
1755 <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use color only
1756 when the output is written to the terminal. Defaults to <tt>false</tt>.
1757</p>
1758</dd>
1759<dt>
Junio C Hamanod257cff2009-03-18 05:27:161760color.grep.match
1761</dt>
1762<dd>
1763<p>
1764 Use customized color for matches. The value of this variable
Junio C Hamanobf433442010-02-28 23:13:351765 may be specified as in color.branch.&lt;slot&gt;.
Junio C Hamanod257cff2009-03-18 05:27:161766</p>
1767</dd>
1768<dt>
Junio C Hamano00b8b632007-12-07 09:50:491769color.interactive
1770</dt>
1771<dd>
1772<p>
Junio C Hamano35738e82008-01-07 07:55:461773 When set to <tt>always</tt>, always use colors for interactive prompts
Junio C Hamanoba4b9282008-07-06 05:20:311774 and displays (such as those used by "git-add --interactive").
Junio C Hamano00b8b632007-12-07 09:50:491775 When false (or <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use
1776 colors only when the output is to the terminal. Defaults to false.
1777</p>
1778</dd>
1779<dt>
1780color.interactive.&lt;slot&gt;
1781</dt>
1782<dd>
1783<p>
Junio C Hamano1aa40d22010-01-21 17:46:431784 Use customized color for <em>git add --interactive</em>
Junio C Hamanoe5bf6c12009-02-07 21:43:101785 output. <tt>&lt;slot&gt;</tt> may be <tt>prompt</tt>, <tt>header</tt>, <tt>help</tt> or <tt>error</tt>, for
1786 four distinct types of normal output from interactive
Junio C Hamano27a128b2009-08-13 01:23:001787 commands. The values of these variables may be specified as
Junio C Hamano00b8b632007-12-07 09:50:491788 in color.branch.&lt;slot&gt;.
1789</p>
1790</dd>
1791<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481792color.pager
1793</dt>
1794<dd>
1795<p>
1796 A boolean to enable/disable colored output when the pager is in
1797 use (default is true).
1798</p>
1799</dd>
1800<dt>
Junio C Hamano52ba2952009-05-18 17:43:021801color.showbranch
1802</dt>
1803<dd>
1804<p>
1805 A boolean to enable/disable color in the output of
1806 <a href="git-show-branch.html">git-show-branch(1)</a>. May be set to <tt>always</tt>,
1807 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used
1808 only when the output is to a terminal. Defaults to false.
1809</p>
1810</dd>
1811<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481812color.status
1813</dt>
1814<dd>
1815<p>
1816 A boolean to enable/disable color in the output of
Junio C Hamano0fc8cd92007-12-06 03:26:211817 <a href="git-status.html">git-status(1)</a>. May be set to <tt>always</tt>,
1818 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used
Junio C Hamano7ad22dc2007-01-29 02:55:481819 only when the output is to a terminal. Defaults to false.
1820</p>
1821</dd>
1822<dt>
1823color.status.&lt;slot&gt;
1824</dt>
1825<dd>
1826<p>
1827 Use customized color for status colorization. <tt>&lt;slot&gt;</tt> is
1828 one of <tt>header</tt> (the header text of the status message),
1829 <tt>added</tt> or <tt>updated</tt> (files which are added but not committed),
1830 <tt>changed</tt> (files which are changed but not added in the index),
Junio C Hamanob713ff12008-05-24 01:12:301831 <tt>untracked</tt> (files which are not tracked by git), or
1832 <tt>nobranch</tt> (the color the <em>no branch</em> warning is shown in, defaulting
1833 to red). The values of these variables may be specified as in
1834 color.branch.&lt;slot&gt;.
Junio C Hamano7ad22dc2007-01-29 02:55:481835</p>
1836</dd>
1837<dt>
Junio C Hamano83d46a22008-02-21 02:29:421838color.ui
1839</dt>
1840<dd>
1841<p>
1842 When set to <tt>always</tt>, always use colors in all git commands which
1843 are capable of colored output. When false (or <tt>never</tt>), never. When
1844 set to <tt>true</tt> or <tt>auto</tt>, use colors only when the output is to the
1845 terminal. When more specific variables of color.* are set, they always
1846 take precedence over this setting. Defaults to false.
1847</p>
1848</dd>
Junio C Hamanod0d892c2010-01-24 20:06:291849<dt>
1850commit.status
1851</dt>
1852<dd>
1853<p>
Junio C Hamano6ce6b6c2010-01-18 01:25:501854 A boolean to enable/disable inclusion of status information in the
1855 commit message template when using an editor to prepare the commit
Junio C Hamanod0d892c2010-01-24 20:06:291856 message. Defaults to true.
1857</p>
1858</dd>
Junio C Hamano83d46a22008-02-21 02:29:421859<dt>
Junio C Hamano4653c6f2008-11-26 22:50:201860commit.template
1861</dt>
1862<dd>
1863<p>
1864 Specify a file to use as the template for new commit messages.
Junio C Hamanobf984de2009-11-23 06:11:191865 "&#126;/" is expanded to the value of <tt>$HOME</tt> and "&#126;user/" to the
1866 specified user's home directory.
Junio C Hamano4653c6f2008-11-26 22:50:201867</p>
1868</dd>
1869<dt>
Junio C Hamanodbb64592007-09-01 11:17:391870diff.autorefreshindex
1871</dt>
1872<dd>
1873<p>
Junio C Hamano1aa40d22010-01-21 17:46:431874 When using <em>git diff</em> to compare with work tree
Junio C Hamanodbb64592007-09-01 11:17:391875 files, do not consider stat-only change as changed.
1876 Instead, silently run <tt>git update-index --refresh</tt> to
1877 update the cached stat information for paths whose
1878 contents in the work tree match the contents in the
1879 index. This option defaults to true. Note that this
Junio C Hamano1aa40d22010-01-21 17:46:431880 affects only <em>git diff</em> Porcelain, and not lower level
1881 <em>diff</em> commands such as <em>git diff-files</em>.
Junio C Hamanodbb64592007-09-01 11:17:391882</p>
1883</dd>
1884<dt>
Junio C Hamano1fbbbc12007-12-18 07:01:271885diff.external
1886</dt>
1887<dd>
1888<p>
1889 If this config variable is set, diff generation is not
1890 performed using the internal diff machinery, but using the
Junio C Hamano85c71572008-07-28 00:03:311891 given command. Can be overridden with the `GIT_EXTERNAL_DIFF'
1892 environment variable. The command is called with parameters
1893 as described under "git Diffs" in <a href="git.html">git(1)</a>. Note: if
1894 you want to use an external diff program only on a subset of
1895 your files, you might want to use <a href="gitattributes.html">gitattributes(5)</a> instead.
Junio C Hamano1fbbbc12007-12-18 07:01:271896</p>
1897</dd>
1898<dt>
Junio C Hamano5e4d8de2008-09-19 06:27:021899diff.mnemonicprefix
1900</dt>
1901<dd>
1902<p>
Junio C Hamano1aa40d22010-01-21 17:46:431903 If set, <em>git diff</em> uses a prefix pair that is different from the
Junio C Hamano5e4d8de2008-09-19 06:27:021904 standard "a/" and "b/" depending on what is being compared. When
1905 this configuration is in effect, reverse diff output also swaps
1906 the order of the prefixes:
1907</p>
1908<div class="vlist"><dl>
1909<dt>
Junio C Hamano1aa40d22010-01-21 17:46:431910<tt>git diff</tt>
Junio C Hamano5e4d8de2008-09-19 06:27:021911</dt>
1912<dd>
1913<p>
1914 compares the (i)ndex and the (w)ork tree;
1915</p>
1916</dd>
1917<dt>
Junio C Hamano1aa40d22010-01-21 17:46:431918<tt>git diff HEAD</tt>
Junio C Hamano5e4d8de2008-09-19 06:27:021919</dt>
1920<dd>
1921<p>
1922 compares a (c)ommit and the (w)ork tree;
1923</p>
1924</dd>
1925<dt>
Junio C Hamano1aa40d22010-01-21 17:46:431926<tt>git diff --cached</tt>
Junio C Hamano5e4d8de2008-09-19 06:27:021927</dt>
1928<dd>
1929<p>
1930 compares a (c)ommit and the (i)ndex;
1931</p>
1932</dd>
1933<dt>
Junio C Hamano1aa40d22010-01-21 17:46:431934<tt>git diff HEAD:file1 file2</tt>
Junio C Hamano5e4d8de2008-09-19 06:27:021935</dt>
1936<dd>
1937<p>
1938 compares an (o)bject and a (w)ork tree entity;
1939</p>
1940</dd>
1941<dt>
Junio C Hamano1aa40d22010-01-21 17:46:431942<tt>git diff --no-index a b</tt>
Junio C Hamano5e4d8de2008-09-19 06:27:021943</dt>
1944<dd>
1945<p>
1946 compares two non-git things (1) and (2).
1947</p>
1948</dd>
1949</dl></div>
1950</dd>
1951<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481952diff.renameLimit
1953</dt>
1954<dd>
1955<p>
1956 The number of files to consider when performing the copy/rename
Junio C Hamano1aa40d22010-01-21 17:46:431957 detection; equivalent to the <em>git diff</em> option <em>-l</em>.
Junio C Hamano7ad22dc2007-01-29 02:55:481958</p>
1959</dd>
1960<dt>
1961diff.renames
1962</dt>
1963<dd>
1964<p>
1965 Tells git to detect renames. If set to any boolean value, it
1966 will enable basic rename detection. If set to "copies" or
1967 "copy", it will detect copies, as well.
1968</p>
1969</dd>
1970<dt>
Junio C Hamanobc4852e2009-01-21 10:51:141971diff.suppressBlankEmpty
Junio C Hamanof1231492008-12-22 08:27:211972</dt>
1973<dd>
1974<p>
1975 A boolean to inhibit the standard behavior of printing a space
1976 before each empty output line. Defaults to false.
1977</p>
1978</dd>
1979<dt>
Junio C Hamano3bd66e92009-04-18 06:17:561980diff.tool
1981</dt>
1982<dd>
1983<p>
1984 Controls which diff tool is used. <tt>diff.tool</tt> overrides
1985 <tt>merge.tool</tt> when used by <a href="git-difftool.html">git-difftool(1)</a> and has
1986 the same valid values as <tt>merge.tool</tt> minus "tortoisemerge"
1987 and plus "kompare".
1988</p>
1989</dd>
1990<dt>
1991difftool.&lt;tool&gt;.path
1992</dt>
1993<dd>
1994<p>
1995 Override the path for the given tool. This is useful in case
1996 your tool is not in the PATH.
1997</p>
1998</dd>
1999<dt>
2000difftool.&lt;tool&gt;.cmd
2001</dt>
2002<dd>
2003<p>
2004 Specify the command to invoke the specified diff tool.
2005 The specified command is evaluated in shell with the following
2006 variables available: <em>LOCAL</em> is set to the name of the temporary
2007 file containing the contents of the diff pre-image and <em>REMOTE</em>
2008 is set to the name of the temporary file containing the contents
2009 of the diff post-image.
2010</p>
2011</dd>
2012<dt>
2013difftool.prompt
2014</dt>
2015<dd>
2016<p>
2017 Prompt before each invocation of the diff tool.
2018</p>
2019</dd>
2020<dt>
Junio C Hamano20d47e32009-01-26 06:36:022021diff.wordRegex
2022</dt>
2023<dd>
2024<p>
2025 A POSIX Extended Regular Expression used to determine what is a "word"
2026 when performing word-by-word difference calculations. Character
2027 sequences that match the regular expression are "words", all other
2028 characters are <strong>ignorable</strong> whitespace.
2029</p>
2030</dd>
2031<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482032fetch.unpackLimit
2033</dt>
2034<dd>
2035<p>
2036 If the number of objects fetched over the git native
2037 transfer is below this
2038 limit, then the objects will be unpacked into loose object
2039 files. However if the number of received objects equals or
2040 exceeds this limit then the received pack will be stored as
2041 a pack, after adding any missing delta bases. Storing the
2042 pack from a push can make the push operation complete faster,
Junio C Hamanoe77b0152008-01-12 06:44:172043 especially on slow filesystems. If not set, the value of
2044 <tt>transfer.unpackLimit</tt> is used instead.
Junio C Hamano7ad22dc2007-01-29 02:55:482045</p>
2046</dd>
2047<dt>
Junio C Hamanof4581102009-04-25 08:29:592048format.attach
2049</dt>
2050<dd>
2051<p>
2052 Enable multipart/mixed attachments as the default for
2053 <em>format-patch</em>. The value can also be a double quoted string
2054 which will enable attachments as the default and set the
2055 value as the boundary. See the --attach option in
2056 <a href="git-format-patch.html">git-format-patch(1)</a>.
2057</p>
2058</dd>
2059<dt>
Junio C Hamano8c5802d2007-11-15 00:13:362060format.numbered
2061</dt>
2062<dd>
2063<p>
Junio C Hamano7d06a8a2008-10-20 05:42:332064 A boolean which can enable or disable sequence numbers in patch
2065 subjects. It defaults to "auto" which enables it only if there
2066 is more than one patch. It can be enabled or disabled for all
2067 messages by setting it to "true" or "false". See --numbered
2068 option in <a href="git-format-patch.html">git-format-patch(1)</a>.
Junio C Hamano8c5802d2007-11-15 00:13:362069</p>
2070</dd>
2071<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482072format.headers
2073</dt>
2074<dd>
2075<p>
2076 Additional email headers to include in a patch to be submitted
2077 by mail. See <a href="git-format-patch.html">git-format-patch(1)</a>.
2078</p>
2079</dd>
2080<dt>
Junio C Hamanof4581102009-04-25 08:29:592081format.cc
2082</dt>
2083<dd>
2084<p>
2085 Additional "Cc:" headers to include in a patch to be submitted
2086 by mail. See the --cc option in <a href="git-format-patch.html">git-format-patch(1)</a>.
2087</p>
2088</dd>
2089<dt>
2090format.subjectprefix
2091</dt>
2092<dd>
2093<p>
2094 The default for format-patch is to output files with the <em>[PATCH]</em>
2095 subject prefix. Use this variable to change that prefix.
2096</p>
2097</dd>
2098<dt>
Junio C Hamanod4c8e112007-03-04 10:32:382099format.suffix
2100</dt>
2101<dd>
2102<p>
2103 The default for format-patch is to output files with the suffix
2104 <tt>.patch</tt>. Use this variable to change that suffix (make sure to
2105 include the dot if you want it).
2106</p>
2107</dd>
2108<dt>
Junio C Hamano86bcccc2008-03-08 09:33:552109format.pretty
2110</dt>
2111<dd>
2112<p>
2113 The default pretty format for log/show/whatchanged command,
2114 See <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>,
2115 <a href="git-whatchanged.html">git-whatchanged(1)</a>.
2116</p>
2117</dd>
2118<dt>
Junio C Hamanoea6a7642009-03-11 23:56:192119format.thread
2120</dt>
2121<dd>
2122<p>
Junio C Hamano1aa40d22010-01-21 17:46:432123 The default threading style for <em>git format-patch</em>. Can be
Junio C Hamanob141a922010-01-10 19:55:142124 a boolean value, or <tt>shallow</tt> or <tt>deep</tt>. <tt>shallow</tt> threading
2125 makes every mail a reply to the head of the series,
Junio C Hamanoea6a7642009-03-11 23:56:192126 where the head is chosen from the cover letter, the
2127 <tt>--in-reply-to</tt>, and the first patch mail, in this order.
Junio C Hamanof4581102009-04-25 08:29:592128 <tt>deep</tt> threading makes every mail a reply to the previous one.
Junio C Hamanoea6a7642009-03-11 23:56:192129 A true boolean value is the same as <tt>shallow</tt>, and a false
2130 value disables threading.
2131</p>
2132</dd>
2133<dt>
Junio C Hamano5f9a6f02009-04-06 08:26:562134format.signoff
2135</dt>
2136<dd>
2137<p>
2138 A boolean value which lets you enable the <tt>-s/--signoff</tt> option of
2139 format-patch by default. <strong>Note:</strong> Adding the Signed-off-by: line to a
2140 patch should be a conscious act and means that you certify you have
2141 the rights to submit this work under the same open source license.
2142 Please see the <em>SubmittingPatches</em> document for further discussion.
2143</p>
2144</dd>
2145<dt>
Junio C Hamanof2ce2972007-05-20 19:12:092146gc.aggressiveWindow
2147</dt>
2148<dd>
2149<p>
2150 The window size parameter used in the delta compression
Junio C Hamano1aa40d22010-01-21 17:46:432151 algorithm used by <em>git gc --aggressive</em>. This defaults
Junio C Hamanof2ce2972007-05-20 19:12:092152 to 10.
2153</p>
2154</dd>
2155<dt>
Junio C Hamano1b50ce92007-10-03 12:05:532156gc.auto
2157</dt>
2158<dd>
2159<p>
2160 When there are approximately more than this many loose
2161 objects in the repository, <tt>git gc --auto</tt> will pack them.
2162 Some Porcelain commands use this command to perform a
Junio C Hamanoe77b0152008-01-12 06:44:172163 light-weight garbage collection from time to time. The
2164 default value is 6700. Setting this to 0 disables it.
Junio C Hamano1b50ce92007-10-03 12:05:532165</p>
2166</dd>
2167<dt>
2168gc.autopacklimit
2169</dt>
2170<dd>
2171<p>
2172 When there are more than this many packs that are not
2173 marked with <tt>*.keep</tt> file in the repository, <tt>git gc
Junio C Hamanoe77b0152008-01-12 06:44:172174 --auto</tt> consolidates them into one larger pack. The
Junio C Hamano25c0b702008-03-23 09:41:372175 default value is 50. Setting this to 0 disables it.
Junio C Hamano1b50ce92007-10-03 12:05:532176</p>
2177</dd>
2178<dt>
Junio C Hamano9d52e572007-02-13 23:48:202179gc.packrefs
2180</dt>
2181<dd>
2182<p>
Junio C Hamanob141a922010-01-10 19:55:142183 Running <tt>git pack-refs</tt> in a repository renders it
2184 unclonable by Git versions prior to 1.5.1.2 over dumb
2185 transports such as HTTP. This variable determines whether
Junio C Hamano1aa40d22010-01-21 17:46:432186 <em>git gc</em> runs <tt>git pack-refs</tt>. This can be set to <tt>nobare</tt>
Junio C Hamanob141a922010-01-10 19:55:142187 to enable it within all non-bare repos or it can be set to a
2188 boolean value. The default is <tt>true</tt>.
Junio C Hamano9d52e572007-02-13 23:48:202189</p>
2190</dd>
2191<dt>
Junio C Hamano09a926d2008-03-13 07:55:292192gc.pruneexpire
2193</dt>
2194<dd>
2195<p>
Junio C Hamano1aa40d22010-01-21 17:46:432196 When <em>git gc</em> is run, it will call <em>prune --expire 2.weeks.ago</em>.
Junio C Hamanoa3148f52009-01-14 08:49:572197 Override the grace period with this config variable. The value
2198 "now" may be used to disable this grace period and always prune
2199 unreachable objects immediately.
Junio C Hamano09a926d2008-03-13 07:55:292200</p>
2201</dd>
2202<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482203gc.reflogexpire
2204</dt>
2205<dd>
2206<p>
Junio C Hamano1aa40d22010-01-21 17:46:432207 <em>git reflog expire</em> removes reflog entries older than
Junio C Hamano7ad22dc2007-01-29 02:55:482208 this time; defaults to 90 days.
2209</p>
2210</dd>
2211<dt>
2212gc.reflogexpireunreachable
2213</dt>
2214<dd>
2215<p>
Junio C Hamano1aa40d22010-01-21 17:46:432216 <em>git reflog expire</em> removes reflog entries older than
Junio C Hamano7ad22dc2007-01-29 02:55:482217 this time and are not reachable from the current tip;
2218 defaults to 30 days.
2219</p>
2220</dd>
2221<dt>
2222gc.rerereresolved
2223</dt>
2224<dd>
2225<p>
2226 Records of conflicted merge you resolved earlier are
Junio C Hamano1aa40d22010-01-21 17:46:432227 kept for this many days when <em>git rerere gc</em> is run.
Junio C Hamano7ad22dc2007-01-29 02:55:482228 The default is 60 days. See <a href="git-rerere.html">git-rerere(1)</a>.
2229</p>
2230</dd>
2231<dt>
2232gc.rerereunresolved
2233</dt>
2234<dd>
2235<p>
2236 Records of conflicted merge you have not resolved are
Junio C Hamano1aa40d22010-01-21 17:46:432237 kept for this many days when <em>git rerere gc</em> is run.
Junio C Hamano7ad22dc2007-01-29 02:55:482238 The default is 15 days. See <a href="git-rerere.html">git-rerere(1)</a>.
2239</p>
2240</dd>
2241<dt>
Junio C Hamanoa3148f52009-01-14 08:49:572242gitcvs.commitmsgannotation
2243</dt>
2244<dd>
2245<p>
2246 Append this string to each commit message. Set to empty string
2247 to disable this feature. Defaults to "via git-CVS emulator".
2248</p>
2249</dd>
2250<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482251gitcvs.enabled
2252</dt>
2253<dd>
2254<p>
Junio C Hamanoa6387422007-08-25 03:54:272255 Whether the CVS server interface is enabled for this repository.
Junio C Hamano7ad22dc2007-01-29 02:55:482256 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2257</p>
2258</dd>
2259<dt>
2260gitcvs.logfile
2261</dt>
2262<dd>
2263<p>
Junio C Hamanoa6387422007-08-25 03:54:272264 Path to a log file where the CVS server interface well&#8230; logs
Junio C Hamano7ad22dc2007-01-29 02:55:482265 various stuff. See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2266</p>
2267</dd>
Junio C Hamano17bd2272008-09-01 06:11:172268<dt>
2269gitcvs.usecrlfattr
2270</dt>
2271<dd>
2272<p>
Junio C Hamanodfccbb02008-05-26 01:16:142273 If true, the server will look up the <tt>crlf</tt> attribute for
2274 files to determine the <em>-k</em> modes to use. If <tt>crlf</tt> is set,
2275 the <em>-k</em> mode will be left blank, so cvs clients will
2276 treat it as text. If <tt>crlf</tt> is explicitly unset, the file
Junio C Hamanocb1c44f2008-08-06 06:19:332277 will be set with <em>-kb</em> mode, which suppresses any newline munging
Junio C Hamanodfccbb02008-05-26 01:16:142278 the client might otherwise do. If <tt>crlf</tt> is not specified,
Junio C Hamano17bd2272008-09-01 06:11:172279 then <em>gitcvs.allbinary</em> is used. See <a href="gitattributes.html">gitattributes(5)</a>.
2280</p>
2281</dd>
Junio C Hamano7ad22dc2007-01-29 02:55:482282<dt>
Junio C Hamanod9e0e5d2007-04-14 16:22:042283gitcvs.allbinary
2284</dt>
2285<dd>
2286<p>
Junio C Hamanodfccbb02008-05-26 01:16:142287 This is used if <em>gitcvs.usecrlfattr</em> does not resolve
2288 the correct <em>-kb</em> mode to use. If true, all
2289 unresolved files are sent to the client in
2290 mode <em>-kb</em>. This causes the client to treat them
2291 as binary files, which suppresses any newline munging it
2292 otherwise might do. Alternatively, if it is set to "guess",
2293 then the contents of the file are examined to decide if
2294 it is binary, similar to <em>core.autocrlf</em>.
Junio C Hamanoa2ad99e2007-04-18 09:57:042295</p>
2296</dd>
2297<dt>
2298gitcvs.dbname
2299</dt>
2300<dd>
2301<p>
2302 Database used by git-cvsserver to cache revision information
2303 derived from the git repository. The exact meaning depends on the
2304 used database driver, for SQLite (which is the default driver) this
2305 is a filename. Supports variable substitution (see
2306 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). May not contain semicolons (<tt>;</tt>).
2307 Default: <em>%Ggitcvs.%m.sqlite</em>
2308</p>
2309</dd>
2310<dt>
2311gitcvs.dbdriver
2312</dt>
2313<dd>
2314<p>
2315 Used Perl DBI driver. You can specify any available driver
2316 for this here, but it might not work. git-cvsserver is tested
2317 with <em>DBD::SQLite</em>, reported to work with <em>DBD::Pg</em>, and
2318 reported <strong>not</strong> to work with <em>DBD::mysql</em>. Experimental feature.
2319 May not contain double colons (<tt>:</tt>). Default: <em>SQLite</em>.
Junio C Hamanod9e0e5d2007-04-14 16:22:042320 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2321</p>
2322</dd>
2323<dt>
Junio C Hamanoa2ad99e2007-04-18 09:57:042324gitcvs.dbuser, gitcvs.dbpass
2325</dt>
2326<dd>
2327<p>
2328 Database user and password. Only useful if setting <em>gitcvs.dbdriver</em>,
2329 since SQLite has no concept of database users and/or passwords.
2330 <em>gitcvs.dbuser</em> supports variable substitution (see
2331 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details).
2332</p>
2333</dd>
Junio C Hamanoa74efce2008-04-02 08:39:082334<dt>
2335gitcvs.dbTableNamePrefix
2336</dt>
2337<dd>
2338<p>
2339 Database table name prefix. Prepended to the names of any
2340 database tables used, allowing a single database to be used
2341 for several repositories. Supports variable substitution (see
2342 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). Any non-alphabetic
2343 characters will be replaced with underscores.
2344</p>
2345</dd>
Junio C Hamanoba4b9282008-07-06 05:20:312346</dl></div>
2347<div class="para"><p>All gitcvs variables except for <em>gitcvs.usecrlfattr</em> and
Junio C Hamanodfccbb02008-05-26 01:16:142348<em>gitcvs.allbinary</em> can also be specified as
2349<em>gitcvs.&lt;access_method&gt;.&lt;varname&gt;</em> (where <em>access_method</em>
Junio C Hamanoa6387422007-08-25 03:54:272350is one of "ext" and "pserver") to make them apply only for the given
Junio C Hamanoba4b9282008-07-06 05:20:312351access method.</p></div>
2352<div class="vlist"><dl>
Junio C Hamanoa2ad99e2007-04-18 09:57:042353<dt>
Junio C Hamano6d76d612008-05-09 05:46:082354gui.commitmsgwidth
2355</dt>
2356<dd>
2357<p>
2358 Defines how wide the commit message window is in the
2359 <a href="git-gui.html">git-gui(1)</a>. "75" is the default.
2360</p>
2361</dd>
2362<dt>
2363gui.diffcontext
2364</dt>
2365<dd>
2366<p>
2367 Specifies how many context lines should be used in calls to diff
2368 made by the <a href="git-gui.html">git-gui(1)</a>. The default is "5".
2369</p>
2370</dd>
2371<dt>
Junio C Hamanod3452a02008-11-15 08:07:552372gui.encoding
2373</dt>
2374<dd>
2375<p>
2376 Specifies the default encoding to use for displaying of
2377 file contents in <a href="git-gui.html">git-gui(1)</a> and <a href="gitk.html">gitk(1)</a>.
2378 It can be overridden by setting the <em>encoding</em> attribute
2379 for relevant files (see <a href="gitattributes.html">gitattributes(5)</a>).
2380 If this option is not set, the tools default to the
2381 locale encoding.
2382</p>
2383</dd>
2384<dt>
Junio C Hamano6d76d612008-05-09 05:46:082385gui.matchtrackingbranch
2386</dt>
2387<dd>
2388<p>
2389 Determines if new branches created with <a href="git-gui.html">git-gui(1)</a> should
2390 default to tracking remote branches with matching names or
2391 not. Default: "false".
2392</p>
2393</dd>
2394<dt>
2395gui.newbranchtemplate
2396</dt>
2397<dd>
2398<p>
2399 Is used as suggested name when creating new branches using the
2400 <a href="git-gui.html">git-gui(1)</a>.
2401</p>
2402</dd>
2403<dt>
2404gui.pruneduringfetch
2405</dt>
2406<dd>
2407<p>
2408 "true" if <a href="git-gui.html">git-gui(1)</a> should prune tracking branches when
2409 performing a fetch. The default value is "false".
2410</p>
2411</dd>
2412<dt>
2413gui.trustmtime
2414</dt>
2415<dd>
2416<p>
2417 Determines if <a href="git-gui.html">git-gui(1)</a> should trust the file modification
2418 timestamp or not. By default the timestamps are not trusted.
2419</p>
2420</dd>
2421<dt>
2422gui.spellingdictionary
2423</dt>
2424<dd>
2425<p>
2426 Specifies the dictionary used for spell checking commit messages in
2427 the <a href="git-gui.html">git-gui(1)</a>. When set to "none" spell checking is turned
2428 off.
2429</p>
2430</dd>
2431<dt>
Junio C Hamanod3452a02008-11-15 08:07:552432gui.fastcopyblame
2433</dt>
2434<dd>
2435<p>
Junio C Hamano1aa40d22010-01-21 17:46:432436 If true, <em>git gui blame</em> uses <tt>-C</tt> instead of <tt>-C -C</tt> for original
Junio C Hamanod3452a02008-11-15 08:07:552437 location detection. It makes blame significantly faster on huge
2438 repositories at the expense of less thorough copy detection.
2439</p>
2440</dd>
2441<dt>
2442gui.copyblamethreshold
2443</dt>
2444<dd>
2445<p>
Junio C Hamano610d1762008-11-28 06:27:132446 Specifies the threshold to use in <em>git gui blame</em> original location
Junio C Hamanod3452a02008-11-15 08:07:552447 detection, measured in alphanumeric characters. See the
2448 <a href="git-blame.html">git-blame(1)</a> manual for more information on copy detection.
2449</p>
2450</dd>
2451<dt>
2452gui.blamehistoryctx
2453</dt>
2454<dd>
2455<p>
2456 Specifies the radius of history context in days to show in
2457 <a href="gitk.html">gitk(1)</a> for the selected commit, when the <tt>Show History
2458 Context</tt> menu item is invoked from <em>git gui blame</em>. If this
2459 variable is set to zero, the whole history is shown.
2460</p>
2461</dd>
2462<dt>
Junio C Hamano92d312a2008-12-15 07:22:202463guitool.&lt;name&gt;.cmd
2464</dt>
2465<dd>
2466<p>
2467 Specifies the shell command line to execute when the corresponding item
2468 of the <a href="git-gui.html">git-gui(1)</a> <tt>Tools</tt> menu is invoked. This option is
2469 mandatory for every tool. The command is executed from the root of
2470 the working directory, and in the environment it receives the name of
2471 the tool as <em>GIT_GUITOOL</em>, the name of the currently selected file as
2472 <em>FILENAME</em>, and the name of the current branch as <em>CUR_BRANCH</em> (if
2473 the head is detached, <em>CUR_BRANCH</em> is empty).
2474</p>
2475</dd>
2476<dt>
2477guitool.&lt;name&gt;.needsfile
2478</dt>
2479<dd>
2480<p>
2481 Run the tool only if a diff is selected in the GUI. It guarantees
2482 that <em>FILENAME</em> is not empty.
2483</p>
2484</dd>
2485<dt>
2486guitool.&lt;name&gt;.noconsole
2487</dt>
2488<dd>
2489<p>
2490 Run the command silently, without creating a window to display its
2491 output.
2492</p>
2493</dd>
2494<dt>
2495guitool.&lt;name&gt;.norescan
2496</dt>
2497<dd>
2498<p>
2499 Don't rescan the working directory for changes after the tool
2500 finishes execution.
2501</p>
2502</dd>
2503<dt>
2504guitool.&lt;name&gt;.confirm
2505</dt>
2506<dd>
2507<p>
2508 Show a confirmation dialog before actually running the tool.
2509</p>
2510</dd>
2511<dt>
2512guitool.&lt;name&gt;.argprompt
2513</dt>
2514<dd>
2515<p>
2516 Request a string argument from the user, and pass it to the tool
2517 through the <em>ARGS</em> environment variable. Since requesting an
2518 argument implies confirmation, the <em>confirm</em> option has no effect
2519 if this is enabled. If the option is set to <em>true</em>, <em>yes</em>, or <em>1</em>,
2520 the dialog uses a built-in generic prompt; otherwise the exact
2521 value of the variable is used.
2522</p>
2523</dd>
2524<dt>
2525guitool.&lt;name&gt;.revprompt
2526</dt>
2527<dd>
2528<p>
2529 Request a single valid revision from the user, and set the
2530 <em>REVISION</em> environment variable. In other aspects this option
2531 is similar to <em>argprompt</em>, and can be used together with it.
2532</p>
2533</dd>
2534<dt>
2535guitool.&lt;name&gt;.revunmerged
2536</dt>
2537<dd>
2538<p>
2539 Show only unmerged branches in the <em>revprompt</em> subdialog.
2540 This is useful for tools similar to merge or rebase, but not
2541 for things like checkout or reset.
2542</p>
2543</dd>
2544<dt>
2545guitool.&lt;name&gt;.title
2546</dt>
2547<dd>
2548<p>
2549 Specifies the title to use for the prompt dialog. The default
2550 is the tool name.
2551</p>
2552</dd>
2553<dt>
2554guitool.&lt;name&gt;.prompt
2555</dt>
2556<dd>
2557<p>
2558 Specifies the general prompt string to display at the top of
2559 the dialog, before subsections for <em>argprompt</em> and <em>revprompt</em>.
2560 The default value includes the actual command.
2561</p>
2562</dd>
2563<dt>
Junio C Hamano4e272312008-01-08 09:13:212564help.browser
2565</dt>
2566<dd>
2567<p>
2568 Specify the browser that will be used to display help in the
2569 <em>web</em> format. See <a href="git-help.html">git-help(1)</a>.
2570</p>
2571</dd>
2572<dt>
2573help.format
2574</dt>
2575<dd>
2576<p>
2577 Override the default help format used by <a href="git-help.html">git-help(1)</a>.
2578 Values <em>man</em>, <em>info</em>, <em>web</em> and <em>html</em> are supported. <em>man</em> is
2579 the default. <em>web</em> and <em>html</em> are the same.
2580</p>
2581</dd>
2582<dt>
Junio C Hamanof24b8062008-09-09 01:34:392583help.autocorrect
2584</dt>
2585<dd>
2586<p>
2587 Automatically correct and execute mistyped commands after
2588 waiting for the given number of deciseconds (0.1 sec). If more
2589 than one command can be deduced from the entered text, nothing
2590 will be executed. If the value of this option is negative,
2591 the corrected command will be executed immediately. If the
2592 value is 0 - the command will be just shown but not executed.
2593 This is the default.
2594</p>
2595</dd>
2596<dt>
Junio C Hamano58256872007-12-04 08:31:132597http.proxy
2598</dt>
2599<dd>
2600<p>
2601 Override the HTTP proxy, normally configured using the <em>http_proxy</em>
2602 environment variable (see <a href="curl.html">curl(1)</a>). This can be overridden
2603 on a per-remote basis; see remote.&lt;name&gt;.proxy
2604</p>
2605</dd>
2606<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482607http.sslVerify
2608</dt>
2609<dd>
2610<p>
2611 Whether to verify the SSL certificate when fetching or pushing
2612 over HTTPS. Can be overridden by the <em>GIT_SSL_NO_VERIFY</em> environment
2613 variable.
2614</p>
2615</dd>
2616<dt>
2617http.sslCert
2618</dt>
2619<dd>
2620<p>
2621 File containing the SSL certificate when fetching or pushing
2622 over HTTPS. Can be overridden by the <em>GIT_SSL_CERT</em> environment
2623 variable.
2624</p>
2625</dd>
2626<dt>
2627http.sslKey
2628</dt>
2629<dd>
2630<p>
2631 File containing the SSL private key when fetching or pushing
2632 over HTTPS. Can be overridden by the <em>GIT_SSL_KEY</em> environment
2633 variable.
2634</p>
2635</dd>
2636<dt>
Junio C Hamano48bc1ce2009-07-09 16:49:192637http.sslCertPasswordProtected
2638</dt>
2639<dd>
2640<p>
2641 Enable git's password prompt for the SSL certificate. Otherwise
2642 OpenSSL will prompt the user, possibly many times, if the
2643 certificate or private key is encrypted. Can be overridden by the
2644 <em>GIT_SSL_CERT_PASSWORD_PROTECTED</em> environment variable.
2645</p>
2646</dd>
2647<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482648http.sslCAInfo
2649</dt>
2650<dd>
2651<p>
2652 File containing the certificates to verify the peer with when
2653 fetching or pushing over HTTPS. Can be overridden by the
2654 <em>GIT_SSL_CAINFO</em> environment variable.
2655</p>
2656</dd>
2657<dt>
2658http.sslCAPath
2659</dt>
2660<dd>
2661<p>
2662 Path containing files with the CA certificates to verify the peer
2663 with when fetching or pushing over HTTPS. Can be overridden
2664 by the <em>GIT_SSL_CAPATH</em> environment variable.
2665</p>
2666</dd>
2667<dt>
2668http.maxRequests
2669</dt>
2670<dd>
2671<p>
2672 How many HTTP requests to launch in parallel. Can be overridden
2673 by the <em>GIT_HTTP_MAX_REQUESTS</em> environment variable. Default is 5.
2674</p>
2675</dd>
2676<dt>
Junio C Hamanob141a922010-01-10 19:55:142677http.minSessions
2678</dt>
2679<dd>
2680<p>
2681 The number of curl sessions (counted across slots) to be kept across
2682 requests. They will not be ended with curl_easy_cleanup() until
2683 http_cleanup() is invoked. If USE_CURL_MULTI is not defined, this
2684 value will be capped at 1. Defaults to 1.
2685</p>
2686</dd>
2687<dt>
Junio C Hamano3b70d3c2009-11-21 17:37:372688http.postBuffer
2689</dt>
2690<dd>
2691<p>
2692 Maximum size in bytes of the buffer used by smart HTTP
2693 transports when POSTing data to the remote system.
2694 For requests larger than this buffer size, HTTP/1.1 and
2695 Transfer-Encoding: chunked is used to avoid creating a
2696 massive pack file locally. Default is 1 MiB, which is
2697 sufficient for most requests.
2698</p>
2699</dd>
2700<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482701http.lowSpeedLimit, http.lowSpeedTime
2702</dt>
2703<dd>
2704<p>
2705 If the HTTP transfer speed is less than <em>http.lowSpeedLimit</em>
2706 for longer than <em>http.lowSpeedTime</em> seconds, the transfer is aborted.
2707 Can be overridden by the <em>GIT_HTTP_LOW_SPEED_LIMIT</em> and
2708 <em>GIT_HTTP_LOW_SPEED_TIME</em> environment variables.
2709</p>
2710</dd>
2711<dt>
2712http.noEPSV
2713</dt>
2714<dd>
2715<p>
2716 A boolean which disables using of EPSV ftp command by curl.
Junio C Hamanod9e0e5d2007-04-14 16:22:042717 This can helpful with some "poor" ftp servers which don't
Junio C Hamano7ad22dc2007-01-29 02:55:482718 support EPSV mode. Can be overridden by the <em>GIT_CURL_FTP_NO_EPSV</em>
2719 environment variable. Default is false (curl will use EPSV).
2720</p>
2721</dd>
2722<dt>
2723i18n.commitEncoding
2724</dt>
2725<dd>
2726<p>
2727 Character encoding the commit messages are stored in; git itself
2728 does not care per se, but this information is necessary e.g. when
2729 importing commits from emails or in the gitk graphical history
2730 browser (and possibly at other places in the future or in other
2731 porcelains). See e.g. <a href="git-mailinfo.html">git-mailinfo(1)</a>. Defaults to <em>utf-8</em>.
2732</p>
2733</dd>
2734<dt>
2735i18n.logOutputEncoding
2736</dt>
2737<dd>
2738<p>
2739 Character encoding the commit messages are converted to when
Junio C Hamano1aa40d22010-01-21 17:46:432740 running <em>git log</em> and friends.
Junio C Hamano7ad22dc2007-01-29 02:55:482741</p>
2742</dd>
2743<dt>
Junio C Hamano4653c6f2008-11-26 22:50:202744imap
2745</dt>
2746<dd>
2747<p>
2748 The configuration variables in the <em>imap</em> section are described
2749 in <a href="git-imap-send.html">git-imap-send(1)</a>.
2750</p>
2751</dd>
2752<dt>
Junio C Hamanocaa712a2010-03-11 01:17:352753init.templatedir
2754</dt>
2755<dd>
2756<p>
2757 Specify the directory from which templates will be copied.
2758 (See the "TEMPLATE DIRECTORY" section of <a href="git-init.html">git-init(1)</a>.)
2759</p>
2760</dd>
2761<dt>
Junio C Hamano4e272312008-01-08 09:13:212762instaweb.browser
2763</dt>
2764<dd>
2765<p>
2766 Specify the program that will be used to browse your working
2767 repository in gitweb. See <a href="git-instaweb.html">git-instaweb(1)</a>.
2768</p>
2769</dd>
2770<dt>
2771instaweb.httpd
2772</dt>
2773<dd>
2774<p>
2775 The HTTP daemon command-line to start gitweb on your working
2776 repository. See <a href="git-instaweb.html">git-instaweb(1)</a>.
2777</p>
2778</dd>
2779<dt>
2780instaweb.local
2781</dt>
2782<dd>
2783<p>
2784 If true the web server started by <a href="git-instaweb.html">git-instaweb(1)</a> will
2785 be bound to the local IP (127.0.0.1).
2786</p>
2787</dd>
2788<dt>
2789instaweb.modulepath
2790</dt>
2791<dd>
2792<p>
2793 The module path for an apache httpd used by <a href="git-instaweb.html">git-instaweb(1)</a>.
2794</p>
2795</dd>
2796<dt>
2797instaweb.port
2798</dt>
2799<dd>
2800<p>
2801 The port number to bind the gitweb httpd to. See
2802 <a href="git-instaweb.html">git-instaweb(1)</a>.
2803</p>
2804</dd>
2805<dt>
Junio C Hamanoe5bf6c12009-02-07 21:43:102806interactive.singlekey
2807</dt>
2808<dd>
2809<p>
Junio C Hamano27a128b2009-08-13 01:23:002810 In interactive commands, allow the user to provide one-letter
Junio C Hamanoe5bf6c12009-02-07 21:43:102811 input with a single key (i.e., without hitting enter).
2812 Currently this is used only by the <tt>--patch</tt> mode of
2813 <a href="git-add.html">git-add(1)</a>. Note that this setting is silently
2814 ignored if portable keystroke input is not available.
2815</p>
2816</dd>
2817<dt>
Junio C Hamanob713ff12008-05-24 01:12:302818log.date
2819</dt>
2820<dd>
2821<p>
2822 Set default date-time mode for the log command. Setting log.date
Junio C Hamano1aa40d22010-01-21 17:46:432823 value is similar to using <em>git log</em>'s --date option. The value is one of the
Junio C Hamanob713ff12008-05-24 01:12:302824 following alternatives: {relative,local,default,iso,rfc,short}.
2825 See <a href="git-log.html">git-log(1)</a>.
2826</p>
2827</dd>
2828<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482829log.showroot
2830</dt>
2831<dd>
2832<p>
2833 If true, the initial commit will be shown as a big creation event.
2834 This is equivalent to a diff against an empty tree.
2835 Tools like <a href="git-log.html">git-log(1)</a> or <a href="git-whatchanged.html">git-whatchanged(1)</a>, which
2836 normally hide the root commit will now show it. True by default.
2837</p>
2838</dd>
2839<dt>
Junio C Hamano8bc410e2009-02-15 10:38:192840mailmap.file
2841</dt>
2842<dd>
2843<p>
2844 The location of an augmenting mailmap file. The default
2845 mailmap, located in the root of the repository, is loaded
2846 first, then the mailmap file pointed to by this variable.
2847 The location of the mailmap file may be in a repository
2848 subdirectory, or somewhere outside of the repository itself.
2849 See <a href="git-shortlog.html">git-shortlog(1)</a> and <a href="git-blame.html">git-blame(1)</a>.
2850</p>
2851</dd>
2852<dt>
Junio C Hamano8b588d52008-03-15 09:48:372853man.viewer
2854</dt>
2855<dd>
2856<p>
2857 Specify the programs that may be used to display help in the
2858 <em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
2859</p>
2860</dd>
2861<dt>
Junio C Hamano4653c6f2008-11-26 22:50:202862man.&lt;tool&gt;.cmd
Junio C Hamano6d76d612008-05-09 05:46:082863</dt>
2864<dd>
2865<p>
Junio C Hamano4653c6f2008-11-26 22:50:202866 Specify the command to invoke the specified man viewer. The
2867 specified command is evaluated in shell with the man page
2868 passed as argument. (See <a href="git-help.html">git-help(1)</a>.)
2869</p>
2870</dd>
2871<dt>
2872man.&lt;tool&gt;.path
2873</dt>
2874<dd>
2875<p>
2876 Override the path for the given tool that may be used to
2877 display help in the <em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
2878</p>
2879</dd>
2880<dt>
2881merge.conflictstyle
2882</dt>
2883<dd>
2884<p>
2885 Specify the style in which conflicted hunks are written out to
2886 working tree files upon merge. The default is "merge", which
Junio C Hamanoec87f522008-12-10 08:35:252887 shows a <tt>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</tt> conflict marker, changes made by one side,
2888 a <tt>=======</tt> marker, changes made by the other side, and then
2889 a <tt>&gt;&gt;&gt;&gt;&gt;&gt;&gt;</tt> marker. An alternate style, "diff3", adds a <tt>|||||||</tt>
2890 marker and the original text before the <tt>=======</tt> marker.
Junio C Hamano6d76d612008-05-09 05:46:082891</p>
2892</dd>
2893<dt>
2894merge.log
Junio C Hamano7ad22dc2007-01-29 02:55:482895</dt>
2896<dd>
2897<p>
2898 Whether to include summaries of merged commits in newly created
2899 merge commit messages. False by default.
2900</p>
2901</dd>
2902<dt>
Junio C Hamano2fbcd212008-05-14 22:26:072903merge.renameLimit
2904</dt>
2905<dd>
2906<p>
2907 The number of files to consider when performing rename detection
2908 during a merge; if not specified, defaults to the value of
2909 diff.renameLimit.
2910</p>
2911</dd>
2912<dt>
Junio C Hamano4653c6f2008-11-26 22:50:202913merge.stat
2914</dt>
2915<dd>
2916<p>
2917 Whether to print the diffstat between ORIG_HEAD and the merge result
2918 at the end of the merge. True by default.
2919</p>
2920</dd>
2921<dt>
Junio C Hamano103ad7f2007-03-14 11:19:262922merge.tool
2923</dt>
2924<dd>
2925<p>
2926 Controls which merge resolution program is used by
Junio C Hamano86bcccc2008-03-08 09:33:552927 <a href="git-mergetool.html">git-mergetool(1)</a>. Valid built-in values are: "kdiff3",
Junio C Hamano3bd66e92009-04-18 06:17:562928 "tkdiff", "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff",
Junio C Hamano3f680f32009-11-16 02:10:542929 "diffuse", "ecmerge", "tortoisemerge", "p4merge", "araxis" and
Junio C Hamano86bcccc2008-03-08 09:33:552930 "opendiff". Any other value is treated is custom merge tool
Junio C Hamanocb1c44f2008-08-06 06:19:332931 and there must be a corresponding mergetool.&lt;tool&gt;.cmd option.
Junio C Hamano103ad7f2007-03-14 11:19:262932</p>
2933</dd>
2934<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482935merge.verbosity
2936</dt>
2937<dd>
2938<p>
2939 Controls the amount of output shown by the recursive merge
2940 strategy. Level 0 outputs nothing except a final error
2941 message if conflicts were detected. Level 1 outputs only
2942 conflicts, 2 outputs conflicts and file changes. Level 5 and
2943 above outputs debugging information. The default is level 2.
Junio C Hamanoec87f522008-12-10 08:35:252944 Can be overridden by the <em>GIT_MERGE_VERBOSITY</em> environment variable.
Junio C Hamano7ad22dc2007-01-29 02:55:482945</p>
2946</dd>
2947<dt>
Junio C Hamanoe90436a2007-04-22 07:22:132948merge.&lt;driver&gt;.name
2949</dt>
2950<dd>
2951<p>
Junio C Hamanoec87f522008-12-10 08:35:252952 Defines a human-readable name for a custom low-level
Junio C Hamanoe90436a2007-04-22 07:22:132953 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
2954</p>
2955</dd>
2956<dt>
2957merge.&lt;driver&gt;.driver
2958</dt>
2959<dd>
2960<p>
2961 Defines the command that implements a custom low-level
2962 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
2963</p>
2964</dd>
2965<dt>
2966merge.&lt;driver&gt;.recursive
2967</dt>
2968<dd>
2969<p>
2970 Names a low-level merge driver to be used when
2971 performing an internal merge between common ancestors.
2972 See <a href="gitattributes.html">gitattributes(5)</a> for details.
2973</p>
2974</dd>
2975<dt>
Junio C Hamano1fbbbc12007-12-18 07:01:272976mergetool.&lt;tool&gt;.path
2977</dt>
2978<dd>
2979<p>
2980 Override the path for the given tool. This is useful in case
2981 your tool is not in the PATH.
2982</p>
2983</dd>
2984<dt>
Junio C Hamano86bcccc2008-03-08 09:33:552985mergetool.&lt;tool&gt;.cmd
2986</dt>
2987<dd>
2988<p>
2989 Specify the command to invoke the specified merge tool. The
2990 specified command is evaluated in shell with the following
2991 variables available: <em>BASE</em> is the name of a temporary file
2992 containing the common base of the files to be merged, if available;
2993 <em>LOCAL</em> is the name of a temporary file containing the contents of
2994 the file on the current branch; <em>REMOTE</em> is the name of a temporary
2995 file containing the contents of the file from the branch being
2996 merged; <em>MERGED</em> contains the name of the file to which the merge
2997 tool should write the results of a successful merge.
2998</p>
2999</dd>
3000<dt>
3001mergetool.&lt;tool&gt;.trustExitCode
3002</dt>
3003<dd>
3004<p>
3005 For a custom merge command, specify whether the exit code of
3006 the merge command can be used to determine whether the merge was
3007 successful. If this is not set to true then the merge target file
3008 timestamp is checked and the merge assumed to have been successful
3009 if the file has been updated, otherwise the user is prompted to
3010 indicate the success of the merge.
3011</p>
3012</dd>
3013<dt>
3014mergetool.keepBackup
3015</dt>
3016<dd>
3017<p>
3018 After performing a merge, the original file with conflict markers
3019 can be saved as a file with a <tt>.orig</tt> extension. If this variable
3020 is set to <tt>false</tt> then this file is not preserved. Defaults to
3021 <tt>true</tt> (i.e. keep the backup files).
3022</p>
3023</dd>
3024<dt>
Junio C Hamano10b7a342009-01-01 22:05:173025mergetool.keepTemporaries
3026</dt>
3027<dd>
3028<p>
3029 When invoking a custom merge tool, git uses a set of temporary
3030 files to pass to the tool. If the tool returns an error and this
3031 variable is set to <tt>true</tt>, then these temporary files will be
3032 preserved, otherwise they will be removed after the tool has
3033 exited. Defaults to <tt>false</tt>.
3034</p>
3035</dd>
3036<dt>
3037mergetool.prompt
3038</dt>
3039<dd>
3040<p>
3041 Prompt before each invocation of the merge resolution program.
3042</p>
3043</dd>
3044<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483045pack.window
3046</dt>
3047<dd>
3048<p>
3049 The size of the window used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
3050 window size is given on the command line. Defaults to 10.
3051</p>
3052</dd>
3053<dt>
Junio C Hamano91d44c52007-05-09 07:16:073054pack.depth
3055</dt>
3056<dd>
3057<p>
3058 The maximum delta depth used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
3059 maximum depth is given on the command line. Defaults to 50.
3060</p>
3061</dd>
3062<dt>
Junio C Hamano235d53f2007-07-13 00:25:153063pack.windowMemory
3064</dt>
3065<dd>
3066<p>
3067 The window memory size limit used by <a href="git-pack-objects.html">git-pack-objects(1)</a>
3068 when no limit is given on the command line. The value can be
3069 suffixed with "k", "m", or "g". Defaults to 0, meaning no
3070 limit.
3071</p>
3072</dd>
3073<dt>
Junio C Hamanof2ce2972007-05-20 19:12:093074pack.compression
3075</dt>
3076<dd>
3077<p>
3078 An integer -1..9, indicating the compression level for objects
3079 in a pack file. -1 is the zlib default. 0 means no
3080 compression, and 1..9 are various speed/size tradeoffs, 9 being
3081 slowest. If not set, defaults to core.compression. If that is
Junio C Hamano2e72a942007-11-21 08:54:423082 not set, defaults to -1, the zlib default, which is "a default
3083 compromise between speed and compression (currently equivalent
3084 to level 6)."
Junio C Hamanof2ce2972007-05-20 19:12:093085</p>
3086</dd>
3087<dt>
Junio C Hamano679d22d2007-06-02 21:13:443088pack.deltaCacheSize
3089</dt>
3090<dd>
3091<p>
Junio C Hamanoa6387422007-08-25 03:54:273092 The maximum memory in bytes used for caching deltas in
Junio C Hamano9f883862009-08-11 06:23:523093 <a href="git-pack-objects.html">git-pack-objects(1)</a> before writing them out to a pack.
3094 This cache is used to speed up the writing object phase by not
3095 having to recompute the final delta result once the best match
3096 for all objects is found. Repacking large repositories on machines
3097 which are tight with memory might be badly impacted by this though,
3098 especially if this cache pushes the system into swapping.
3099 A value of 0 means no limit. The smallest size of 1 byte may be
3100 used to virtually disable this cache. Defaults to 256 MiB.
Junio C Hamano679d22d2007-06-02 21:13:443101</p>
3102</dd>
3103<dt>
3104pack.deltaCacheLimit
3105</dt>
3106<dd>
3107<p>
Junio C Hamano58155b42007-09-15 07:46:143108 The maximum size of a delta, that is cached in
Junio C Hamano9f883862009-08-11 06:23:523109 <a href="git-pack-objects.html">git-pack-objects(1)</a>. This cache is used to speed up the
3110 writing object phase by not having to recompute the final delta
3111 result once the best match for all objects is found. Defaults to 1000.
Junio C Hamano679d22d2007-06-02 21:13:443112</p>
3113</dd>
3114<dt>
Junio C Hamano58155b42007-09-15 07:46:143115pack.threads
3116</dt>
3117<dd>
3118<p>
3119 Specifies the number of threads to spawn when searching for best
3120 delta matches. This requires that <a href="git-pack-objects.html">git-pack-objects(1)</a>
3121 be compiled with pthreads otherwise this option is ignored with a
3122 warning. This is meant to reduce packing time on multiprocessor
3123 machines. The required amount of memory for the delta search window
3124 is however multiplied by the number of threads.
Junio C Hamano24bc09a2008-02-28 00:27:443125 Specifying 0 will cause git to auto-detect the number of CPU's
3126 and set the number of threads accordingly.
Junio C Hamano58155b42007-09-15 07:46:143127</p>
3128</dd>
3129<dt>
Junio C Hamanod814b6d2007-11-04 11:13:493130pack.indexVersion
3131</dt>
3132<dd>
3133<p>
3134 Specify the default pack index version. Valid values are 1 for
3135 legacy pack index used by Git versions prior to 1.5.2, and 2 for
3136 the new pack index with capabilities for packs larger than 4 GB
3137 as well as proper protection against the repacking of corrupted
Junio C Hamanofce7c7e2008-07-02 03:06:383138 packs. Version 2 is the default. Note that version 2 is enforced
3139 and this config option ignored whenever the corresponding pack is
3140 larger than 2 GB.
Junio C Hamanod814b6d2007-11-04 11:13:493141</p>
Junio C Hamanoba4b9282008-07-06 05:20:313142<div class="para"><p>If you have an old git that does not understand the version 2 <tt>&#42;.idx</tt> file,
Junio C Hamanofce7c7e2008-07-02 03:06:383143cloning or fetching over a non native protocol (e.g. "http" and "rsync")
3144that will copy both <tt>&#42;.pack</tt> file and corresponding <tt>&#42;.idx</tt> file from the
3145other side may give you a repository that cannot be accessed with your
3146older version of git. If the <tt>&#42;.pack</tt> file is smaller than 2 GB, however,
3147you can use <a href="git-index-pack.html">git-index-pack(1)</a> on the *.pack file to regenerate
Junio C Hamanoba4b9282008-07-06 05:20:313148the <tt>&#42;.idx</tt> file.</p></div>
Junio C Hamanod814b6d2007-11-04 11:13:493149</dd>
Junio C Hamano09a926d2008-03-13 07:55:293150<dt>
3151pack.packSizeLimit
3152</dt>
3153<dd>
3154<p>
Junio C Hamano4d979582010-02-04 06:27:293155 The maximum size of a pack. This setting only affects
3156 packing to a file when repacking, i.e. the git:// protocol
3157 is unaffected. It can be overridden by the <tt>--max-pack-size</tt>
3158 option of <a href="git-repack.html">git-repack(1)</a>. The minimum size allowed is
3159 limited to 1 MiB. The default is unlimited.
3160 Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are
3161 supported.
Junio C Hamano09a926d2008-03-13 07:55:293162</p>
3163</dd>
Junio C Hamanod814b6d2007-11-04 11:13:493164<dt>
Junio C Hamano9e96a1a2008-08-16 10:23:183165pager.&lt;cmd&gt;
3166</dt>
3167<dd>
3168<p>
Junio C Hamano0551f6a2008-08-25 00:33:333169 Allows turning on or off pagination of the output of a
3170 particular git subcommand when writing to a tty. If
3171 <tt>--paginate</tt> or <tt>--no-pager</tt> is specified on the command line,
3172 it takes precedence over this option. To disable pagination for
Junio C Hamanoea82cff2009-03-18 01:54:483173 all commands, set <tt>core.pager</tt> or <tt>GIT_PAGER</tt> to <tt>cat</tt>.
Junio C Hamano9e96a1a2008-08-16 10:23:183174</p>
3175</dd>
3176<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483177pull.octopus
3178</dt>
3179<dd>
3180<p>
3181 The default merge strategy to use when pulling multiple branches
3182 at once.
3183</p>
3184</dd>
3185<dt>
3186pull.twohead
3187</dt>
3188<dd>
3189<p>
3190 The default merge strategy to use when pulling a single branch.
3191</p>
3192</dd>
3193<dt>
Junio C Hamano1de75722009-03-26 08:39:383194push.default
3195</dt>
3196<dd>
3197<p>
3198 Defines the action git push should take if no refspec is given
3199 on the command line, no refspec is configured in the remote, and
3200 no refspec is implied by any of the options given on the command
Junio C Hamano0706c802009-03-30 22:34:193201 line. Possible values are:
Junio C Hamano1de75722009-03-26 08:39:383202</p>
Junio C Hamano1de75722009-03-26 08:39:383203<div class="ilist"><ul>
3204<li>
3205<p>
3206<tt>nothing</tt> do not push anything.
3207</p>
3208</li>
3209<li>
3210<p>
Junio C Hamano0706c802009-03-30 22:34:193211<tt>matching</tt> push all matching branches.
Junio C Hamano1de75722009-03-26 08:39:383212 All branches having the same name in both ends are considered to be
Junio C Hamano0706c802009-03-30 22:34:193213 matching. This is the default.
Junio C Hamano1de75722009-03-26 08:39:383214</p>
3215</li>
3216<li>
3217<p>
Junio C Hamano98e32c32009-04-13 02:39:533218<tt>tracking</tt> push the current branch to its upstream branch.
Junio C Hamano1de75722009-03-26 08:39:383219</p>
3220</li>
3221<li>
3222<p>
Junio C Hamano0706c802009-03-30 22:34:193223<tt>current</tt> push the current branch to a branch of the same name.
Junio C Hamano1de75722009-03-26 08:39:383224</p>
3225</li>
3226</ul></div>
3227</dd>
3228<dt>
Junio C Hamanoea6a7642009-03-11 23:56:193229rebase.stat
3230</dt>
3231<dd>
3232<p>
3233 Whether to show a diffstat of what changed upstream since the last
3234 rebase. False by default.
3235</p>
3236</dd>
3237<dt>
Junio C Hamano621e1232009-10-26 05:16:473238receive.autogc
3239</dt>
3240<dd>
3241<p>
3242 By default, git-receive-pack will run "git-gc --auto" after
3243 receiving data from git-push and updating refs. You can stop
3244 it by setting this variable to false.
3245</p>
3246</dd>
3247<dt>
Junio C Hamano4653c6f2008-11-26 22:50:203248receive.fsckObjects
3249</dt>
3250<dd>
3251<p>
3252 If it is set to true, git-receive-pack will check all received
3253 objects. It will abort in the case of a malformed object or a
3254 broken link. The result of an abort are only dangling objects.
3255 Defaults to false.
3256</p>
3257</dd>
3258<dt>
3259receive.unpackLimit
3260</dt>
3261<dd>
3262<p>
3263 If the number of objects received in a push is below this
3264 limit then the objects will be unpacked into loose object
3265 files. However if the number of received objects equals or
3266 exceeds this limit then the received pack will be stored as
3267 a pack, after adding any missing delta bases. Storing the
3268 pack from a push can make the push operation complete faster,
3269 especially on slow filesystems. If not set, the value of
3270 <tt>transfer.unpackLimit</tt> is used instead.
3271</p>
3272</dd>
3273<dt>
3274receive.denyDeletes
3275</dt>
3276<dd>
3277<p>
3278 If set to true, git-receive-pack will deny a ref update that deletes
3279 the ref. Use this to prevent such a ref deletion via a push.
3280</p>
3281</dd>
3282<dt>
3283receive.denyCurrentBranch
3284</dt>
3285<dd>
3286<p>
3287 If set to true or "refuse", receive-pack will deny a ref update
3288 to the currently checked out branch of a non-bare repository.
3289 Such a push is potentially dangerous because it brings the HEAD
3290 out of sync with the index and working tree. If set to "warn",
3291 print a warning of such a push to stderr, but allow the push to
3292 proceed. If set to false or "ignore", allow such pushes with no
3293 message. Defaults to "warn".
3294</p>
3295</dd>
3296<dt>
3297receive.denyNonFastForwards
3298</dt>
3299<dd>
3300<p>
3301 If set to true, git-receive-pack will deny a ref update which is
Junio C Hamano3f680f32009-11-16 02:10:543302 not a fast-forward. Use this to prevent such an update via a push,
Junio C Hamano4653c6f2008-11-26 22:50:203303 even if that push is forced. This configuration variable is
3304 set when initializing a shared repository.
3305</p>
3306</dd>
3307<dt>
Junio C Hamano621e1232009-10-26 05:16:473308receive.updateserverinfo
3309</dt>
3310<dd>
3311<p>
3312 If set to true, git-receive-pack will run git-update-server-info
3313 after receiving data from git-push and updating refs.
3314</p>
3315</dd>
3316<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483317remote.&lt;name&gt;.url
3318</dt>
3319<dd>
3320<p>
3321 The URL of a remote repository. See <a href="git-fetch.html">git-fetch(1)</a> or
3322 <a href="git-push.html">git-push(1)</a>.
3323</p>
3324</dd>
3325<dt>
Junio C Hamano0e88f3e2009-06-21 08:03:253326remote.&lt;name&gt;.pushurl
3327</dt>
3328<dd>
3329<p>
3330 The push URL of a remote repository. See <a href="git-push.html">git-push(1)</a>.
3331</p>
3332</dd>
3333<dt>
Junio C Hamano58256872007-12-04 08:31:133334remote.&lt;name&gt;.proxy
3335</dt>
3336<dd>
3337<p>
3338 For remotes that require curl (http, https and ftp), the URL to
3339 the proxy to use for that remote. Set to the empty string to
3340 disable proxying for that remote.
3341</p>
3342</dd>
3343<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483344remote.&lt;name&gt;.fetch
3345</dt>
3346<dd>
3347<p>
3348 The default set of "refspec" for <a href="git-fetch.html">git-fetch(1)</a>. See
3349 <a href="git-fetch.html">git-fetch(1)</a>.
3350</p>
3351</dd>
3352<dt>
3353remote.&lt;name&gt;.push
3354</dt>
3355<dd>
3356<p>
3357 The default set of "refspec" for <a href="git-push.html">git-push(1)</a>. See
3358 <a href="git-push.html">git-push(1)</a>.
3359</p>
3360</dd>
3361<dt>
Junio C Hamano47d68a52008-05-06 06:35:403362remote.&lt;name&gt;.mirror
3363</dt>
3364<dd>
3365<p>
3366 If true, pushing to this remote will automatically behave
3367 as if the <tt>--mirror</tt> option was given on the command line.
3368</p>
3369</dd>
3370<dt>
Junio C Hamano118d2772007-02-21 20:24:103371remote.&lt;name&gt;.skipDefaultUpdate
3372</dt>
3373<dd>
3374<p>
3375 If true, this remote will be skipped by default when updating
Junio C Hamano9df0c662009-11-23 11:09:273376 using <a href="git-fetch.html">git-fetch(1)</a> or the <tt>update</tt> subcommand of
3377 <a href="git-remote.html">git-remote(1)</a>.
3378</p>
3379</dd>
3380<dt>
3381remote.&lt;name&gt;.skipFetchAll
3382</dt>
3383<dd>
3384<p>
3385 If true, this remote will be skipped by default when updating
3386 using <a href="git-fetch.html">git-fetch(1)</a> or the <tt>update</tt> subcommand of
3387 <a href="git-remote.html">git-remote(1)</a>.
Junio C Hamano118d2772007-02-21 20:24:103388</p>
3389</dd>
3390<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483391remote.&lt;name&gt;.receivepack
3392</dt>
3393<dd>
3394<p>
3395 The default program to execute on the remote side when pushing. See
Junio C Hamano86bcccc2008-03-08 09:33:553396 option --receive-pack of <a href="git-push.html">git-push(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:483397</p>
3398</dd>
3399<dt>
3400remote.&lt;name&gt;.uploadpack
3401</dt>
3402<dd>
3403<p>
3404 The default program to execute on the remote side when fetching. See
Junio C Hamano86bcccc2008-03-08 09:33:553405 option --upload-pack of <a href="git-fetch-pack.html">git-fetch-pack(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:483406</p>
3407</dd>
3408<dt>
Junio C Hamano17dde0e2007-02-26 09:50:213409remote.&lt;name&gt;.tagopt
3410</dt>
3411<dd>
3412<p>
Junio C Hamano86bcccc2008-03-08 09:33:553413 Setting this value to --no-tags disables automatic tag following when
3414 fetching from remote &lt;name&gt;
Junio C Hamano17dde0e2007-02-26 09:50:213415</p>
3416</dd>
3417<dt>
Junio C Hamano096dde22009-12-26 23:14:113418remote.&lt;name&gt;.vcs
3419</dt>
3420<dd>
3421<p>
3422 Setting this to a value &lt;vcs&gt; will cause git to interact with
3423 the remote with the git-remote-&lt;vcs&gt; helper.
3424</p>
3425</dd>
3426<dt>
Junio C Hamano118d2772007-02-21 20:24:103427remotes.&lt;group&gt;
3428</dt>
3429<dd>
3430<p>
3431 The list of remotes which are fetched by "git remote update
3432 &lt;group&gt;". See <a href="git-remote.html">git-remote(1)</a>.
3433</p>
3434</dd>
3435<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483436repack.usedeltabaseoffset
3437</dt>
3438<dd>
3439<p>
Junio C Hamanofce7c7e2008-07-02 03:06:383440 By default, <a href="git-repack.html">git-repack(1)</a> creates packs that use
3441 delta-base offset. If you need to share your repository with
3442 git older than version 1.4.4, either directly or via a dumb
3443 protocol such as http, then you need to set this option to
3444 "false" and repack. Access from old git versions over the
3445 native protocol are unaffected by this option.
Junio C Hamano7ad22dc2007-01-29 02:55:483446</p>
3447</dd>
3448<dt>
Junio C Hamano4653c6f2008-11-26 22:50:203449rerere.autoupdate
3450</dt>
3451<dd>
3452<p>
3453 When set to true, <tt>git-rerere</tt> updates the index with the
3454 resulting contents after it cleanly resolves conflicts using
3455 previously recorded resolution. Defaults to false.
3456</p>
3457</dd>
3458<dt>
3459rerere.enabled
3460</dt>
3461<dd>
3462<p>
3463 Activate recording of resolved conflicts, so that identical
3464 conflict hunks can be resolved automatically, should they
3465 be encountered again. <a href="git-rerere.html">git-rerere(1)</a> command is by
3466 default enabled if you create <tt>rr-cache</tt> directory under
3467 <tt>$GIT_DIR</tt>, but can be disabled by setting this option to false.
3468</p>
3469</dd>
3470<dt>
Junio C Hamano1bbd0f42009-07-23 06:20:293471sendemail.identity
3472</dt>
3473<dd>
3474<p>
3475 A configuration identity. When given, causes values in the
3476 <em>sendemail.&lt;identity&gt;</em> subsection to take precedence over
3477 values in the <em>sendemail</em> section. The default identity is
3478 the value of <em>sendemail.identity</em>.
3479</p>
3480</dd>
3481<dt>
3482sendemail.smtpencryption
3483</dt>
3484<dd>
3485<p>
3486 See <a href="git-send-email.html">git-send-email(1)</a> for description. Note that this
3487 setting is not subject to the <em>identity</em> mechanism.
3488</p>
3489</dd>
3490<dt>
3491sendemail.smtpssl
3492</dt>
3493<dd>
3494<p>
3495 Deprecated alias for <em>sendemail.smtpencryption = ssl</em>.
3496</p>
3497</dd>
3498<dt>
3499sendemail.&lt;identity&gt;.*
3500</dt>
3501<dd>
3502<p>
3503 Identity-specific versions of the <em>sendemail.*</em> parameters
3504 found below, taking precedence over those when the this
3505 identity is selected, through command-line or
3506 <em>sendemail.identity</em>.
3507</p>
3508</dd>
3509<dt>
3510sendemail.aliasesfile
3511</dt>
3512<dt>
3513sendemail.aliasfiletype
3514</dt>
3515<dt>
3516sendemail.bcc
3517</dt>
3518<dt>
3519sendemail.cc
3520</dt>
3521<dt>
3522sendemail.cccmd
3523</dt>
3524<dt>
3525sendemail.chainreplyto
3526</dt>
3527<dt>
3528sendemail.confirm
3529</dt>
3530<dt>
3531sendemail.envelopesender
3532</dt>
3533<dt>
3534sendemail.from
3535</dt>
3536<dt>
3537sendemail.multiedit
3538</dt>
3539<dt>
3540sendemail.signedoffbycc
3541</dt>
3542<dt>
3543sendemail.smtppass
3544</dt>
3545<dt>
3546sendemail.suppresscc
3547</dt>
3548<dt>
3549sendemail.suppressfrom
3550</dt>
3551<dt>
3552sendemail.to
3553</dt>
3554<dt>
3555sendemail.smtpserver
3556</dt>
3557<dt>
3558sendemail.smtpserverport
3559</dt>
3560<dt>
3561sendemail.smtpuser
3562</dt>
3563<dt>
3564sendemail.thread
3565</dt>
3566<dt>
3567sendemail.validate
3568</dt>
3569<dd>
3570<p>
3571 See <a href="git-send-email.html">git-send-email(1)</a> for description.
3572</p>
3573</dd>
3574<dt>
3575sendemail.signedoffcc
3576</dt>
3577<dd>
3578<p>
3579 Deprecated alias for <em>sendemail.signedoffbycc</em>.
3580</p>
3581</dd>
3582<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483583showbranch.default
3584</dt>
3585<dd>
3586<p>
3587 The default set of branches for <a href="git-show-branch.html">git-show-branch(1)</a>.
3588 See <a href="git-show-branch.html">git-show-branch(1)</a>.
3589</p>
3590</dd>
3591<dt>
Junio C Hamano942b35e2007-12-09 10:19:333592status.relativePaths
3593</dt>
3594<dd>
3595<p>
3596 By default, <a href="git-status.html">git-status(1)</a> shows paths relative to the
3597 current directory. Setting this variable to <tt>false</tt> shows paths
3598 relative to the repository root (this was the default for git
3599 prior to v1.5.4).
3600</p>
3601</dd>
3602<dt>
Junio C Hamano4224f992008-06-23 07:14:083603status.showUntrackedFiles
3604</dt>
3605<dd>
3606<p>
3607 By default, <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a> show
3608 files which are not currently tracked by Git. Directories which
3609 contain only untracked files, are shown with the directory name
3610 only. Showing untracked files means that Git needs to lstat() all
3611 all the files in the whole repository, which might be slow on some
3612 systems. So, this variable controls how the commands displays
3613 the untracked files. Possible values are:
3614</p>
Junio C Hamanoba4b9282008-07-06 05:20:313615<div class="ilist"><ul>
Junio C Hamano4224f992008-06-23 07:14:083616<li>
3617<p>
3618<em>no</em> - Show no untracked files
3619</p>
3620</li>
3621<li>
3622<p>
3623<em>normal</em> - Shows untracked files and directories
3624</p>
3625</li>
3626<li>
3627<p>
3628<em>all</em> - Shows also individual files in untracked directories.
3629</p>
3630</li>
Junio C Hamanoba4b9282008-07-06 05:20:313631</ul></div>
3632<div class="para"><p>If this variable is not specified, it defaults to <em>normal</em>.
Junio C Hamano4224f992008-06-23 07:14:083633This variable can be overridden with the -u|--untracked-files option
Junio C Hamanoba4b9282008-07-06 05:20:313634of <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a>.</p></div>
Junio C Hamano4224f992008-06-23 07:14:083635</dd>
3636<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483637tar.umask
3638</dt>
3639<dd>
3640<p>
Junio C Hamanobdebabb2007-08-23 00:25:093641 This variable can be used to restrict the permission bits of
3642 tar archive entries. The default is 0002, which turns off the
3643 world write bit. The special value "user" indicates that the
3644 archiving user's umask will be used instead. See umask(2) and
3645 <a href="git-archive.html">git-archive(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:483646</p>
3647</dd>
3648<dt>
Junio C Hamano4653c6f2008-11-26 22:50:203649transfer.unpackLimit
3650</dt>
3651<dd>
3652<p>
3653 When <tt>fetch.unpackLimit</tt> or <tt>receive.unpackLimit</tt> are
3654 not set, the value of this variable is used instead.
3655 The default value is 100.
3656</p>
3657</dd>
3658<dt>
Junio C Hamano24bc09a2008-02-28 00:27:443659url.&lt;base&gt;.insteadOf
3660</dt>
3661<dd>
3662<p>
3663 Any URL that starts with this value will be rewritten to
3664 start, instead, with &lt;base&gt;. In cases where some site serves a
3665 large number of repositories, and serves them with multiple
3666 access methods, and some users need to use different access
3667 methods, this feature allows people to specify any of the
3668 equivalent URLs and have git automatically rewrite the URL to
3669 the best alternative for the particular user, even for a
3670 never-before-seen repository on the site. When more than one
3671 insteadOf strings match a given URL, the longest match is used.
3672</p>
3673</dd>
3674<dt>
Junio C Hamano7df6dcf2009-09-13 09:51:173675url.&lt;base&gt;.pushInsteadOf
3676</dt>
3677<dd>
3678<p>
3679 Any URL that starts with this value will not be pushed to;
3680 instead, it will be rewritten to start with &lt;base&gt;, and the
3681 resulting URL will be pushed to. In cases where some site serves
3682 a large number of repositories, and serves them with multiple
3683 access methods, some of which do not allow push, this feature
3684 allows people to specify a pull-only URL and have git
3685 automatically use an appropriate URL to push, even for a
3686 never-before-seen repository on the site. When more than one
3687 pushInsteadOf strings match a given URL, the longest match is
3688 used. If a remote has an explicit pushurl, git will ignore this
3689 setting for that remote.
3690</p>
3691</dd>
3692<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483693user.email
3694</dt>
3695<dd>
3696<p>
3697 Your email address to be recorded in any newly created commits.
Junio C Hamano469d60e2007-04-29 18:30:343698 Can be overridden by the <em>GIT_AUTHOR_EMAIL</em>, <em>GIT_COMMITTER_EMAIL</em>, and
3699 <em>EMAIL</em> environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:483700</p>
3701</dd>
3702<dt>
3703user.name
3704</dt>
3705<dd>
3706<p>
3707 Your full name to be recorded in any newly created commits.
3708 Can be overridden by the <em>GIT_AUTHOR_NAME</em> and <em>GIT_COMMITTER_NAME</em>
3709 environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
3710</p>
3711</dd>
3712<dt>
3713user.signingkey
3714</dt>
3715<dd>
3716<p>
3717 If <a href="git-tag.html">git-tag(1)</a> is not selecting the key you want it to
3718 automatically when creating a signed tag, you can override the
3719 default selection with this variable. This option is passed
3720 unchanged to gpg's --local-user parameter, so you may specify a key
3721 using any method that gpg supports.
3722</p>
3723</dd>
3724<dt>
Junio C Hamano4e272312008-01-08 09:13:213725web.browser
3726</dt>
3727<dd>
3728<p>
3729 Specify a web browser that may be used by some commands.
3730 Currently only <a href="git-instaweb.html">git-instaweb(1)</a> and <a href="git-help.html">git-help(1)</a>
3731 may use it.
3732</p>
3733</dd>
Junio C Hamanoba4b9282008-07-06 05:20:313734</dl></div>
Junio C Hamano7ad22dc2007-01-29 02:55:483735</div>
Junio C Hamanoba4b9282008-07-06 05:20:313736<h2 id="_author">Author</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:483737<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:313738<div class="para"><p>Written by Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:483739</div>
Junio C Hamanoba4b9282008-07-06 05:20:313740<h2 id="_documentation">Documentation</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:483741<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:313742<div class="para"><p>Documentation by Johannes Schindelin, Petr Baudis and the git-list &lt;git@vger.kernel.org&gt;.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:483743</div>
Junio C Hamanoba4b9282008-07-06 05:20:313744<h2 id="_git">GIT</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:483745<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:313746<div class="para"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:483747</div>
3748<div id="footer">
3749<div id="footer-text">
Junio C Hamanocaa712a2010-03-11 01:17:353750Last updated 2010-03-11 01:17:14 UTC
Junio C Hamano7ad22dc2007-01-29 02:55:483751</div>
3752</div>
3753</body>
3754</html>