blob: 9eb706a52d5cdd6dc74ec7efd7ea7ffba7f66398 [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
Junio C Hamano619596a2010-08-18 22:15:35927 merge to avoid overwriting local changes.
Junio C Hamano5706e0b2009-11-24 10:54:16928 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 Hamanobb88cf42010-06-21 15:23:551038core.eol
Junio C Hamanod9e0e5d2007-04-14 16:22:041039</dt>
1040<dd>
1041<p>
Junio C Hamanobb88cf42010-06-21 15:23:551042 Sets the line ending type to use in the working directory for
1043 files that have the <tt>text</tt> property set. Alternatives are
1044 <em>lf</em>, <em>crlf</em> and <em>native</em>, which uses the platform's native
1045 line ending. The default value is <tt>native</tt>. See
1046 <a href="gitattributes.html">gitattributes(5)</a> for more information on end-of-line
1047 conversion.
Junio C Hamanod9e0e5d2007-04-14 16:22:041048</p>
1049</dd>
1050<dt>
Junio C Hamano26e590a2008-02-17 03:53:511051core.safecrlf
1052</dt>
1053<dd>
1054<p>
Junio C Hamanobb88cf42010-06-21 15:23:551055 If true, makes git check if converting <tt>CRLF</tt> is reversible when
1056 end-of-line conversion is active. Git will verify if a command
Junio C Hamano26e590a2008-02-17 03:53:511057 modifies a file in the work tree either directly or indirectly.
1058 For example, committing a file followed by checking out the
1059 same file should yield the original file in the work tree. If
1060 this is not the case for the current setting of
1061 <tt>core.autocrlf</tt>, git will reject the file. The variable can
1062 be set to "warn", in which case git will only warn about an
1063 irreversible conversion but continue the operation.
1064</p>
Junio C Hamanoba4b9282008-07-06 05:20:311065<div class="para"><p>CRLF conversion bears a slight chance of corrupting data.
Junio C Hamanobb88cf42010-06-21 15:23:551066When it is enabled, git will convert CRLF to LF during commit and LF to
Junio C Hamano26e590a2008-02-17 03:53:511067CRLF during checkout. A file that contains a mixture of LF and
1068CRLF before the commit cannot be recreated by git. For text
1069files this is the right thing to do: it corrects line endings
1070such that we have only LF line endings in the repository.
1071But for binary files that are accidentally classified as text the
Junio C Hamanoba4b9282008-07-06 05:20:311072conversion can corrupt data.</p></div>
1073<div class="para"><p>If you recognize such corruption early you can easily fix it by
Junio C Hamano26e590a2008-02-17 03:53:511074setting the conversion type explicitly in .gitattributes. Right
1075after committing you still have the original file in your work
1076tree and this file is not yet corrupted. You can explicitly tell
1077git that this file is binary and git will handle the file
Junio C Hamanoba4b9282008-07-06 05:20:311078appropriately.</p></div>
1079<div class="para"><p>Unfortunately, the desired effect of cleaning up text files with
Junio C Hamano26e590a2008-02-17 03:53:511080mixed line endings and the undesired effect of corrupting binary
1081files cannot be distinguished. In both cases CRLFs are removed
1082in an irreversible way. For text files this is the right thing
1083to do because CRLFs are line endings, while for binary files
Junio C Hamanoba4b9282008-07-06 05:20:311084converting CRLFs corrupts data.</p></div>
1085<div class="para"><p>Note, this safety check does not mean that a checkout will generate a
Junio C Hamano26e590a2008-02-17 03:53:511086file identical to the original file for a different setting of
Junio C Hamanobb88cf42010-06-21 15:23:551087<tt>core.eol</tt> and <tt>core.autocrlf</tt>, but only for the current one. For
1088example, a text file with <tt>LF</tt> would be accepted with <tt>core.eol=lf</tt>
1089and could later be checked out with <tt>core.eol=crlf</tt>, in which case the
Junio C Hamano26e590a2008-02-17 03:53:511090resulting file would contain <tt>CRLF</tt>, although the original file
1091contained <tt>LF</tt>. However, in both work trees the line endings would be
1092consistent, that is either all <tt>LF</tt> or all <tt>CRLF</tt>, but never mixed. A
1093file with mixed line endings would be reported by the <tt>core.safecrlf</tt>
Junio C Hamanoba4b9282008-07-06 05:20:311094mechanism.</p></div>
Junio C Hamano26e590a2008-02-17 03:53:511095</dd>
1096<dt>
Junio C Hamanobb88cf42010-06-21 15:23:551097core.autocrlf
1098</dt>
1099<dd>
1100<p>
1101 Setting this variable to "true" is almost the same as setting
1102 the <tt>text</tt> attribute to "auto" on all files except that text
1103 files are not guaranteed to be normalized: files that contain
1104 <tt>CRLF</tt> in the repository will not be touched. Use this
1105 setting if you want to have <tt>CRLF</tt> line endings in your
1106 working directory even though the repository does not have
1107 normalized line endings. This variable can be set to <em>input</em>,
1108 in which case no output conversion is performed.
1109</p>
1110</dd>
1111<dt>
Junio C Hamanoaa83a7d2007-03-05 02:37:291112core.symlinks
1113</dt>
1114<dd>
1115<p>
1116 If false, symbolic links are checked out as small plain files that
1117 contain the link text. <a href="git-update-index.html">git-update-index(1)</a> and
1118 <a href="git-add.html">git-add(1)</a> will not change the recorded type to regular
1119 file. Useful on filesystems like FAT that do not support
Junio C Hamano9df0c662009-11-23 11:09:271120 symbolic links.
Junio C Hamanoaa83a7d2007-03-05 02:37:291121</p>
Junio C Hamano9df0c662009-11-23 11:09:271122<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>
1123will probe and set core.symlinks false if appropriate when the repository
1124is created.</p></div>
Junio C Hamanoaa83a7d2007-03-05 02:37:291125</dd>
1126<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481127core.gitProxy
1128</dt>
1129<dd>
1130<p>
1131 A "proxy command" to execute (as <em>command host port</em>) instead
1132 of establishing direct connection to the remote server when
1133 using the git protocol for fetching. If the variable value is
1134 in the "COMMAND for DOMAIN" format, the command is applied only
1135 on hostnames ending with the specified domain string. This variable
1136 may be set multiple times and is matched in the given order;
1137 the first match wins.
1138</p>
Junio C Hamanoba4b9282008-07-06 05:20:311139<div class="para"><p>Can be overridden by the <em>GIT_PROXY_COMMAND</em> environment variable
Junio C Hamano7ad22dc2007-01-29 02:55:481140(which always applies universally, without the special "for"
Junio C Hamanoba4b9282008-07-06 05:20:311141handling).</p></div>
Junio C Hamanoea82cff2009-03-18 01:54:481142<div class="para"><p>The special string <tt>none</tt> can be used as the proxy command to
1143specify that no proxy be used for a given domain pattern.
1144This is useful for excluding servers inside a firewall from
1145proxy use, while defaulting to a common proxy for external domains.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481146</dd>
1147<dt>
1148core.ignoreStat
1149</dt>
1150<dd>
1151<p>
Junio C Hamano054ea082008-06-01 08:26:341152 If true, commands which modify both the working tree and the index
1153 will mark the updated paths with the "assume unchanged" bit in the
1154 index. These marked files are then assumed to stay unchanged in the
1155 working copy, until you mark them otherwise manually - Git will not
1156 detect the file changes by lstat() calls. This is useful on systems
1157 where those are very slow, such as Microsoft Windows.
1158 See <a href="git-update-index.html">git-update-index(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:481159 False by default.
1160</p>
1161</dd>
1162<dt>
1163core.preferSymlinkRefs
1164</dt>
1165<dd>
1166<p>
1167 Instead of the default "symref" format for HEAD
1168 and other symbolic reference files, use symbolic links.
1169 This is sometimes needed to work with old scripts that
1170 expect HEAD to be a symbolic link.
1171</p>
1172</dd>
1173<dt>
Junio C Hamano1025e752007-02-23 07:21:261174core.bare
1175</dt>
1176<dd>
1177<p>
1178 If true this repository is assumed to be <em>bare</em> and has no
1179 working directory associated with it. If this is the case a
1180 number of commands that require a working directory will be
1181 disabled, such as <a href="git-add.html">git-add(1)</a> or <a href="git-merge.html">git-merge(1)</a>.
1182</p>
Junio C Hamanoba4b9282008-07-06 05:20:311183<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:261184<a href="git-init.html">git-init(1)</a> when the repository was created. By default a
1185repository that ends in "/.git" is assumed to be not bare (bare =
1186false), while all other repositories are assumed to be bare (bare
Junio C Hamanoba4b9282008-07-06 05:20:311187= true).</p></div>
Junio C Hamano1025e752007-02-23 07:21:261188</dd>
1189<dt>
Junio C Hamanod526ba92007-07-02 00:17:421190core.worktree
1191</dt>
1192<dd>
1193<p>
Junio C Hamanodab291e2009-12-30 09:45:381194 Set the path to the root of the work tree.
Junio C Hamano764a6672007-10-23 01:23:311195 This can be overridden by the GIT_WORK_TREE environment
Junio C Hamano7d575a52008-04-30 08:45:271196 variable and the <em>--work-tree</em> command line option. It can be
Junio C Hamanodab291e2009-12-30 09:45:381197 an absolute path or a relative path to the .git directory,
1198 either specified by --git-dir or GIT_DIR, or automatically
1199 discovered.
1200 If --git-dir or GIT_DIR are specified but none of
Junio C Hamano7d575a52008-04-30 08:45:271201 --work-tree, GIT_WORK_TREE and core.worktree is specified,
Junio C Hamanodab291e2009-12-30 09:45:381202 the current working directory is regarded as the root of the
1203 work tree.
Junio C Hamanod526ba92007-07-02 00:17:421204</p>
Junio C Hamanodab291e2009-12-30 09:45:381205<div class="para"><p>Note that this variable is honored even when set in a configuration
1206file in a ".git" subdirectory of a directory, and its value differs
1207from the latter directory (e.g. "/path/to/.git/config" has
1208core.worktree set to "/different/path"), which is most likely a
1209misconfiguration. Running git commands in "/path/to" directory will
1210still use "/different/path" as the root of the work tree and can cause
1211great confusion to the users.</p></div>
Junio C Hamanod526ba92007-07-02 00:17:421212</dd>
1213<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481214core.logAllRefUpdates
1215</dt>
1216<dd>
1217<p>
Junio C Hamanocae86272007-08-21 02:20:491218 Enable the reflog. Updates to a ref &lt;ref&gt; is logged to the file
Junio C Hamano7ad22dc2007-01-29 02:55:481219 "$GIT_DIR/logs/&lt;ref&gt;", by appending the new and old
1220 SHA1, the date/time and the reason of the update, but
1221 only when the file exists. If this configuration
1222 variable is set to true, missing "$GIT_DIR/logs/&lt;ref&gt;"
1223 file is automatically created for branch heads.
1224</p>
Junio C Hamanoba4b9282008-07-06 05:20:311225<div class="para"><p>This information can be used to determine what commit
1226was the tip of a branch "2 days ago".</p></div>
1227<div class="para"><p>This value is true by default in a repository that has
Junio C Hamano7ad22dc2007-01-29 02:55:481228a working directory associated with it, and false by
Junio C Hamanoba4b9282008-07-06 05:20:311229default in a bare repository.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481230</dd>
1231<dt>
1232core.repositoryFormatVersion
1233</dt>
1234<dd>
1235<p>
1236 Internal variable identifying the repository format and layout
1237 version.
1238</p>
1239</dd>
1240<dt>
1241core.sharedRepository
1242</dt>
1243<dd>
1244<p>
1245 When <em>group</em> (or <em>true</em>), the repository is made shareable between
1246 several users in a group (making sure all the files and objects are
1247 group-writable). When <em>all</em> (or <em>world</em> or <em>everybody</em>), the
1248 repository will be readable by all users, additionally to being
1249 group-shareable. When <em>umask</em> (or <em>false</em>), git will use permissions
Junio C Hamano2f102bb2008-04-26 02:23:371250 reported by umask(2). When <em>0xxx</em>, where <em>0xxx</em> is an octal number,
1251 files in the repository will have this mode value. <em>0xxx</em> will override
Junio C Hamano83eded12009-04-20 08:18:001252 user's umask value (whereas the other options will only override
1253 requested parts of the user's umask value). Examples: <em>0660</em> will make
1254 the repo read/write-able for the owner and group, but inaccessible to
1255 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:371256 repository that is group-readable but not group-writable.
1257 See <a href="git-init.html">git-init(1)</a>. False by default.
Junio C Hamano7ad22dc2007-01-29 02:55:481258</p>
1259</dd>
1260<dt>
1261core.warnAmbiguousRefs
1262</dt>
1263<dd>
1264<p>
1265 If true, git will warn you if the ref name you passed it is ambiguous
1266 and might match multiple refs in the .git/refs/ tree. True by default.
1267</p>
1268</dd>
1269<dt>
1270core.compression
1271</dt>
1272<dd>
1273<p>
Junio C Hamanof2ce2972007-05-20 19:12:091274 An integer -1..9, indicating a default compression level.
1275 -1 is the zlib default. 0 means no compression,
1276 and 1..9 are various speed/size tradeoffs, 9 being slowest.
Junio C Hamano2e72a942007-11-21 08:54:421277 If set, this provides a default to other compression variables,
1278 such as <em>core.loosecompression</em> and <em>pack.compression</em>.
Junio C Hamano7ad22dc2007-01-29 02:55:481279</p>
1280</dd>
1281<dt>
Junio C Hamanof2ce2972007-05-20 19:12:091282core.loosecompression
Junio C Hamano7ad22dc2007-01-29 02:55:481283</dt>
1284<dd>
1285<p>
Junio C Hamanof2ce2972007-05-20 19:12:091286 An integer -1..9, indicating the compression level for objects that
1287 are not in a pack file. -1 is the zlib default. 0 means no
1288 compression, and 1..9 are various speed/size tradeoffs, 9 being
1289 slowest. If not set, defaults to core.compression. If that is
Junio C Hamano2e72a942007-11-21 08:54:421290 not set, defaults to 1 (best speed).
Junio C Hamano7ad22dc2007-01-29 02:55:481291</p>
1292</dd>
1293<dt>
1294core.packedGitWindowSize
1295</dt>
1296<dd>
1297<p>
1298 Number of bytes of a pack file to map into memory in a
1299 single mapping operation. Larger window sizes may allow
1300 your system to process a smaller number of large pack files
1301 more quickly. Smaller window sizes will negatively affect
1302 performance due to increased calls to the operating system's
1303 memory manager, but may improve performance when accessing
1304 a large number of large pack files.
1305</p>
Junio C Hamanoba4b9282008-07-06 05:20:311306<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:481307MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should
1308be reasonable for all users/operating systems. You probably do
Junio C Hamanoba4b9282008-07-06 05:20:311309not need to adjust this value.</p></div>
1310<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:481311</dd>
1312<dt>
1313core.packedGitLimit
1314</dt>
1315<dd>
1316<p>
1317 Maximum number of bytes to map simultaneously into memory
1318 from pack files. If Git needs to access more than this many
1319 bytes at once to complete an operation it will unmap existing
1320 regions to reclaim virtual address space within the process.
1321</p>
Junio C Hamanoba4b9282008-07-06 05:20:311322<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:481323This should be reasonable for all users/operating systems, except on
Junio C Hamanoba4b9282008-07-06 05:20:311324the largest projects. You probably do not need to adjust this value.</p></div>
1325<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:481326</dd>
1327<dt>
Junio C Hamanob8c51282007-03-19 10:43:301328core.deltaBaseCacheLimit
1329</dt>
1330<dd>
1331<p>
1332 Maximum number of bytes to reserve for caching base objects
Junio C Hamano619596a2010-08-18 22:15:351333 that may be referenced by multiple deltified objects. By storing the
Junio C Hamanob8c51282007-03-19 10:43:301334 entire decompressed base objects in a cache Git is able
1335 to avoid unpacking and decompressing frequently used base
1336 objects multiple times.
1337</p>
Junio C Hamanoba4b9282008-07-06 05:20:311338<div class="para"><p>Default is 16 MiB on all platforms. This should be reasonable
Junio C Hamanob8c51282007-03-19 10:43:301339for all users/operating systems, except on the largest projects.
Junio C Hamanoba4b9282008-07-06 05:20:311340You probably do not need to adjust this value.</p></div>
1341<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:301342</dd>
1343<dt>
Junio C Hamano5c246f22010-02-03 07:34:531344core.bigFileThreshold
1345</dt>
1346<dd>
1347<p>
1348 Files larger than this size are stored deflated, without
1349 attempting delta compression. Storing large files without
1350 delta compression avoids excessive memory usage, at the
1351 slight expense of increased disk usage.
1352</p>
1353<div class="para"><p>Default is 512 MiB on all platforms. This should be reasonable
1354for most projects as source code and other text files can still
1355be delta compressed, but larger binary media files won't be.</p></div>
1356<div class="para"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
1357<div class="para"><p>Currently only <a href="git-fast-import.html">git-fast-import(1)</a> honors this setting.</p></div>
1358</dd>
1359<dt>
Junio C Hamano1d90cb02007-07-03 07:05:311360core.excludesfile
Junio C Hamano5e284b42007-05-22 07:23:371361</dt>
1362<dd>
1363<p>
1364 In addition to <em>.gitignore</em> (per-directory) and
1365 <em>.git/info/exclude</em>, git looks into this file for patterns
Junio C Hamanobf984de2009-11-23 06:11:191366 of files which are not meant to be tracked. "&#126;/" is expanded
1367 to the value of <tt>$HOME</tt> and "&#126;user/" to the specified user's
1368 home directory. See <a href="gitignore.html">gitignore(5)</a>.
Junio C Hamano5e284b42007-05-22 07:23:371369</p>
1370</dd>
1371<dt>
Junio C Hamano3fd7b262010-09-08 22:44:201372core.askpass
1373</dt>
1374<dd>
1375<p>
1376 Some commands (e.g. svn and http interfaces) that interactively
1377 ask for a password can be told to use an external program given
1378 via the value of this variable. Can be overridden by the <em>GIT_ASKPASS</em>
1379 environment variable. If not set, fall back to the value of the
1380 <em>SSH_ASKPASS</em> environment variable or, failing that, a simple password
1381 prompt. The external program shall be given a suitable prompt as
1382 command line argument and write the password on its STDOUT.
1383</p>
1384</dd>
1385<dt>
Junio C Hamano3b4609d2010-09-30 00:04:341386core.attributesfile
1387</dt>
1388<dd>
1389<p>
1390 In addition to <em>.gitattributes</em> (per-directory) and
1391 <em>.git/info/attributes</em>, git looks into this file for attributes
1392 (see <a href="gitattributes.html">gitattributes(5)</a>). Path expansions are made the same
1393 way as for <tt>core.excludesfile</tt>.
1394</p>
1395</dd>
1396<dt>
Junio C Hamanof6002a92007-07-20 10:28:221397core.editor
1398</dt>
1399<dd>
1400<p>
1401 Commands such as <tt>commit</tt> and <tt>tag</tt> that lets you edit
Junio C Hamanoa6387422007-08-25 03:54:271402 messages by launching an editor uses the value of this
Junio C Hamanof6002a92007-07-20 10:28:221403 variable when it is set, and the environment variable
Junio C Hamano3b70d3c2009-11-21 17:37:371404 <tt>GIT_EDITOR</tt> is not set. See <a href="git-var.html">git-var(1)</a>.
Junio C Hamanof6002a92007-07-20 10:28:221405</p>
1406</dd>
1407<dt>
Junio C Hamano28d8ede2007-07-05 05:51:381408core.pager
1409</dt>
1410<dd>
1411<p>
Junio C Hamano0551f6a2008-08-25 00:33:331412 The command that git will use to paginate output. Can
1413 be overridden with the <tt>GIT_PAGER</tt> environment
1414 variable. Note that git sets the <tt>LESS</tt> environment
1415 variable to <tt>FRSX</tt> if it is unset when it runs the
1416 pager. One can change these settings by setting the
Junio C Hamanoa476efa2008-10-10 15:31:421417 <tt>LESS</tt> variable to some other value. Alternately,
1418 these settings can be overridden on a project or
1419 global basis by setting the <tt>core.pager</tt> option.
1420 Setting <tt>core.pager</tt> has no affect on the <tt>LESS</tt>
1421 environment variable behaviour above, so if you want
1422 to override git's default settings this way, you need
1423 to be explicit. For example, to disable the S option
1424 in a backward compatible manner, set <tt>core.pager</tt>
Junio C Hamanoea82cff2009-03-18 01:54:481425 to <tt>less -+$LESS -FRX</tt>. This will be passed to the
Junio C Hamanoa476efa2008-10-10 15:31:421426 shell by git, which will translate the final command to
Junio C Hamanoea82cff2009-03-18 01:54:481427 <tt>LESS=FRSX less -+FRSX -FRX</tt>.
Junio C Hamano28d8ede2007-07-05 05:51:381428</p>
1429</dd>
1430<dt>
Junio C Hamano942b35e2007-12-09 10:19:331431core.whitespace
1432</dt>
1433<dd>
1434<p>
1435 A comma separated list of common whitespace problems to
Junio C Hamano1aa40d22010-01-21 17:46:431436 notice. <em>git diff</em> will use <tt>color.diff.whitespace</tt> to
1437 highlight them, and <em>git apply --whitespace=error</em> will
Junio C Hamano3db8b412008-07-26 06:45:591438 consider them as errors. You can prefix <tt>-</tt> to disable
1439 any of them (e.g. <tt>-trailing-space</tt>):
Junio C Hamano942b35e2007-12-09 10:19:331440</p>
Junio C Hamanoba4b9282008-07-06 05:20:311441<div class="ilist"><ul>
Junio C Hamano942b35e2007-12-09 10:19:331442<li>
1443<p>
Junio C Hamanob71a22d2009-10-17 08:23:471444<tt>blank-at-eol</tt> treats trailing whitespaces at the end of the line
Junio C Hamano942b35e2007-12-09 10:19:331445 as an error (enabled by default).
1446</p>
1447</li>
1448<li>
1449<p>
1450<tt>space-before-tab</tt> treats a space character that appears immediately
1451 before a tab character in the initial indent part of the line as an
1452 error (enabled by default).
1453</p>
1454</li>
1455<li>
1456<p>
1457<tt>indent-with-non-tab</tt> treats a line that is indented with 8 or more
Junio C Hamano42a2e2d2007-12-16 22:13:421458 space characters as an error (not enabled by default).
Junio C Hamano942b35e2007-12-09 10:19:331459</p>
1460</li>
Junio C Hamano601f3e52008-02-25 08:40:421461<li>
1462<p>
Junio C Hamanocb39aea2010-05-09 07:24:481463<tt>tab-in-indent</tt> treats a tab character in the initial indent part of
1464 the line as an error (not enabled by default).
1465</p>
1466</li>
1467<li>
1468<p>
Junio C Hamanob71a22d2009-10-17 08:23:471469<tt>blank-at-eof</tt> treats blank lines added at the end of file as an error
1470 (enabled by default).
1471</p>
1472</li>
1473<li>
1474<p>
1475<tt>trailing-space</tt> is a short-hand to cover both <tt>blank-at-eol</tt> and
1476 <tt>blank-at-eof</tt>.
1477</p>
1478</li>
1479<li>
1480<p>
Junio C Hamano601f3e52008-02-25 08:40:421481<tt>cr-at-eol</tt> treats a carriage-return at the end of line as
1482 part of the line terminator, i.e. with it, <tt>trailing-space</tt>
1483 does not trigger if the character before such a carriage-return
1484 is not a whitespace (not enabled by default).
1485</p>
1486</li>
Junio C Hamanoba4b9282008-07-06 05:20:311487</ul></div>
Junio C Hamano942b35e2007-12-09 10:19:331488</dd>
1489<dt>
Junio C Hamano9eb57532008-06-26 06:33:461490core.fsyncobjectfiles
1491</dt>
1492<dd>
1493<p>
1494 This boolean will enable <em>fsync()</em> when writing object files.
1495</p>
Junio C Hamanoba4b9282008-07-06 05:20:311496<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:461497data writes properly, but can be useful for filesystems that do not use
1498journalling (traditional UNIX filesystems) or that only journal metadata
Junio C Hamanoba4b9282008-07-06 05:20:311499and not file contents (OS X's HFS+, or Linux ext3 with "data=writeback").</p></div>
Junio C Hamano9eb57532008-06-26 06:33:461500</dd>
1501<dt>
Junio C Hamano610d1762008-11-28 06:27:131502core.preloadindex
1503</dt>
1504<dd>
1505<p>
1506 Enable parallel index preload for operations like <em>git diff</em>
1507</p>
1508<div class="para"><p>This can speed up operations like <em>git diff</em> and <em>git status</em> especially
1509on filesystems like NFS that have weak caching semantics and thus
1510relatively high IO latencies. With this set to <em>true</em>, git will do the
1511index comparison to the filesystem data in parallel, allowing
1512overlapping IO's.</p></div>
1513</dd>
1514<dt>
Junio C Hamanoa9499de2009-04-30 03:38:481515core.createObject
Junio C Hamanoe91ea772009-04-26 01:41:411516</dt>
1517<dd>
1518<p>
Junio C Hamanoa9499de2009-04-30 03:38:481519 You can set this to <em>link</em>, in which case a hardlink followed by
1520 a delete of the source are used to make sure that object creation
1521 will not overwrite existing objects.
Junio C Hamanoe91ea772009-04-26 01:41:411522</p>
Junio C Hamanoa9499de2009-04-30 03:38:481523<div class="para"><p>On some file system/operating system combinations, this is unreliable.
1524Set this config setting to <em>rename</em> there; However, This will remove the
1525check that makes sure that existing object files will not get overwritten.</p></div>
Junio C Hamanoe91ea772009-04-26 01:41:411526</dd>
1527<dt>
Junio C Hamano3b70d3c2009-11-21 17:37:371528core.notesRef
1529</dt>
1530<dd>
1531<p>
1532 When showing commit messages, also show notes which are stored in
Junio C Hamanoa574a092010-06-13 19:57:101533 the given ref. The ref must be fully qualified. If the given
1534 ref does not exist, it is not an error but means that no
1535 notes should be printed.
Junio C Hamano3b70d3c2009-11-21 17:37:371536</p>
Junio C Hamanoa574a092010-06-13 19:57:101537<div class="para"><p>This setting defaults to "refs/notes/commits", and it can be overridden by
1538the <em>GIT_NOTES_REF</em> environment variable. See <a href="git-notes.html">git-notes(1)</a>.</p></div>
Junio C Hamano3b70d3c2009-11-21 17:37:371539</dd>
1540<dt>
Junio C Hamano3c8d6702010-01-13 23:09:031541core.sparseCheckout
1542</dt>
1543<dd>
1544<p>
1545 Enable "sparse checkout" feature. See section "Sparse checkout" in
1546 <a href="git-read-tree.html">git-read-tree(1)</a> for more information.
1547</p>
1548</dd>
1549<dt>
Junio C Hamano3d141512009-06-01 01:22:401550add.ignore-errors
1551</dt>
1552<dd>
1553<p>
Junio C Hamano1aa40d22010-01-21 17:46:431554 Tells <em>git add</em> to continue adding files when some files cannot be
Junio C Hamano3d141512009-06-01 01:22:401555 added due to indexing errors. Equivalent to the <em>--ignore-errors</em>
1556 option of <a href="git-add.html">git-add(1)</a>.
1557</p>
1558</dd>
1559<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481560alias.*
1561</dt>
1562<dd>
1563<p>
1564 Command aliases for the <a href="git.html">git(1)</a> command wrapper - e.g.
1565 after defining "alias.last = cat-file commit HEAD", the invocation
1566 "git last" is equivalent to "git cat-file commit HEAD". To avoid
1567 confusion and troubles with script usage, aliases that
1568 hide existing git commands are ignored. Arguments are split by
1569 spaces, the usual shell quoting and escaping is supported.
1570 quote pair and a backslash can be used to quote them.
1571</p>
Junio C Hamanoba4b9282008-07-06 05:20:311572<div class="para"><p>If the alias expansion is prefixed with an exclamation point,
Junio C Hamano9cb74f22007-02-12 04:15:051573it will be treated as a shell command. For example, defining
1574"alias.new = !gitk --all --not ORIG_HEAD", the invocation
1575"git new" is equivalent to running the shell command
Junio C Hamano48bc1ce2009-07-09 16:49:191576"gitk --all --not ORIG_HEAD". Note that shell commands will be
1577executed from the top-level directory of a repository, which may
1578not necessarily be the current directory.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481579</dd>
1580<dt>
Junio C Hamanocaa712a2010-03-11 01:17:351581am.keepcr
1582</dt>
1583<dd>
1584<p>
1585 If true, git-am will call git-mailsplit for patches in mbox format
1586 with parameter <em>--keep-cr</em>. In this case git-mailsplit will
Junio C Hamano619596a2010-08-18 22:15:351587 not remove <tt>\r</tt> from lines ending with <tt>\r\n</tt>. Can be overridden
Junio C Hamanocaa712a2010-03-11 01:17:351588 by giving <em>--no-keep-cr</em> from the command line.
1589 See <a href="git-am.html">git-am(1)</a>, <a href="git-mailsplit.html">git-mailsplit(1)</a>.
1590</p>
1591</dd>
1592<dt>
Junio C Hamanofe24db02009-08-22 05:10:471593apply.ignorewhitespace
1594</dt>
1595<dd>
1596<p>
Junio C Hamano1aa40d22010-01-21 17:46:431597 When set to <em>change</em>, tells <em>git apply</em> to ignore changes in
Junio C Hamanofe24db02009-08-22 05:10:471598 whitespace, in the same way as the <em>--ignore-space-change</em>
1599 option.
Junio C Hamano1aa40d22010-01-21 17:46:431600 When set to one of: no, none, never, false tells <em>git apply</em> to
Junio C Hamanofe24db02009-08-22 05:10:471601 respect all whitespace differences.
1602 See <a href="git-apply.html">git-apply(1)</a>.
1603</p>
1604</dd>
1605<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481606apply.whitespace
1607</dt>
1608<dd>
1609<p>
Junio C Hamano1aa40d22010-01-21 17:46:431610 Tells <em>git apply</em> how to handle whitespaces, in the same way
Junio C Hamano7ad22dc2007-01-29 02:55:481611 as the <em>--whitespace</em> option. See <a href="git-apply.html">git-apply(1)</a>.
1612</p>
1613</dd>
1614<dt>
Junio C Hamano7fd84172007-05-24 07:00:321615branch.autosetupmerge
1616</dt>
1617<dd>
1618<p>
Junio C Hamano1aa40d22010-01-21 17:46:431619 Tells <em>git branch</em> and <em>git checkout</em> to set up new branches
Junio C Hamano24bc09a2008-02-28 00:27:441620 so that <a href="git-pull.html">git-pull(1)</a> will appropriately merge from the
1621 starting point branch. Note that even if this option is not set,
Junio C Hamano7fd84172007-05-24 07:00:321622 this behavior can be chosen per-branch using the <tt>--track</tt>
Junio C Hamano24bc09a2008-02-28 00:27:441623 and <tt>--no-track</tt> options. The valid settings are: <tt>false</tt> &#8212; no
1624 automatic setup is done; <tt>true</tt> &#8212; automatic setup is done when the
1625 starting point is a remote branch; <tt>always</tt> &#8212; automatic setup is
1626 done when the starting point is either a local branch or remote
1627 branch. This option defaults to true.
Junio C Hamano7fd84172007-05-24 07:00:321628</p>
1629</dd>
1630<dt>
Junio C Hamano869bb802008-05-12 00:29:471631branch.autosetuprebase
1632</dt>
1633<dd>
1634<p>
Junio C Hamano1aa40d22010-01-21 17:46:431635 When a new branch is created with <em>git branch</em> or <em>git checkout</em>
Junio C Hamano869bb802008-05-12 00:29:471636 that tracks another branch, this variable tells git to set
1637 up pull to rebase instead of merge (see "branch.&lt;name&gt;.rebase").
1638 When <tt>never</tt>, rebase is never automatically set to true.
1639 When <tt>local</tt>, rebase is set to true for tracked branches of
1640 other local branches.
1641 When <tt>remote</tt>, rebase is set to true for tracked branches of
1642 remote branches.
1643 When <tt>always</tt>, rebase will be set to true for all tracking
1644 branches.
1645 See "branch.autosetupmerge" for details on how to set up a
1646 branch to track another branch.
1647 This option defaults to never.
1648</p>
1649</dd>
1650<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481651branch.&lt;name&gt;.remote
1652</dt>
1653<dd>
1654<p>
Junio C Hamano1aa40d22010-01-21 17:46:431655 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:191656 remote to fetch from/push to. It defaults to <tt>origin</tt> if no remote is
1657 configured. <tt>origin</tt> is also used if you are not on any branch.
Junio C Hamano7ad22dc2007-01-29 02:55:481658</p>
1659</dd>
1660<dt>
1661branch.&lt;name&gt;.merge
1662</dt>
1663<dd>
1664<p>
Junio C Hamano0706c802009-03-30 22:34:191665 Defines, together with branch.&lt;name&gt;.remote, the upstream branch
Junio C Hamano1aa40d22010-01-21 17:46:431666 for the given branch. It tells <em>git fetch</em>/<em>git pull</em> which
1667 branch to merge and can also affect <em>git push</em> (see push.default).
1668 When in branch &lt;name&gt;, it tells <em>git fetch</em> the default
Junio C Hamanoc2b47092007-10-25 06:50:311669 refspec to be marked for merging in FETCH_HEAD. The value is
1670 handled like the remote part of a refspec, and must match a
1671 ref which is fetched from the remote given by
1672 "branch.&lt;name&gt;.remote".
Junio C Hamano1aa40d22010-01-21 17:46:431673 The merge information is used by <em>git pull</em> (which at first calls
1674 <em>git fetch</em>) to lookup the default branch for merging. Without
1675 this option, <em>git pull</em> defaults to merge the first refspec fetched.
Junio C Hamano7ad22dc2007-01-29 02:55:481676 Specify multiple values to get an octopus merge.
Junio C Hamano1aa40d22010-01-21 17:46:431677 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:071678 another branch in the local repository, you can point
1679 branch.&lt;name&gt;.merge to the desired branch, and use the special setting
1680 <tt>.</tt> (a period) for branch.&lt;name&gt;.remote.
Junio C Hamano7ad22dc2007-01-29 02:55:481681</p>
1682</dd>
1683<dt>
Junio C Hamano1b50ce92007-10-03 12:05:531684branch.&lt;name&gt;.mergeoptions
1685</dt>
1686<dd>
1687<p>
1688 Sets default options for merging into branch &lt;name&gt;. The syntax and
Junio C Hamanoc0e55e72009-10-10 00:56:291689 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:531690 option values containing whitespace characters are currently not
1691 supported.
1692</p>
1693</dd>
1694<dt>
Junio C Hamano0c999702007-12-03 09:57:551695branch.&lt;name&gt;.rebase
1696</dt>
1697<dd>
1698<p>
1699 When true, rebase the branch &lt;name&gt; on top of the fetched branch,
Junio C Hamano6d76d612008-05-09 05:46:081700 instead of merging the default branch from the default remote when
1701 "git pull" is run.
Junio C Hamano0c999702007-12-03 09:57:551702 <strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use
1703 it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a>
1704 for details).
1705</p>
1706</dd>
1707<dt>
Junio C Hamano8760ea62008-03-14 08:58:451708browser.&lt;tool&gt;.cmd
1709</dt>
1710<dd>
1711<p>
1712 Specify the command to invoke the specified browser. The
1713 specified command is evaluated in shell with the URLs passed
1714 as arguments. (See <a href="git-web--browse.html">git-web--browse(1)</a>.)
1715</p>
1716</dd>
1717<dt>
Junio C Hamanoe35a6fc2008-01-29 09:46:271718browser.&lt;tool&gt;.path
1719</dt>
1720<dd>
1721<p>
1722 Override the path for the given tool that may be used to
1723 browse HTML help (see <em>-w</em> option in <a href="git-help.html">git-help(1)</a>) or a
1724 working repository in gitweb (see <a href="git-instaweb.html">git-instaweb(1)</a>).
1725</p>
1726</dd>
1727<dt>
Junio C Hamano47b9acd2007-04-24 07:34:341728clean.requireForce
1729</dt>
1730<dd>
1731<p>
Junio C Hamano422cfec2007-11-08 08:07:451732 A boolean to make git-clean do nothing unless given -f
1733 or -n. Defaults to true.
Junio C Hamano47b9acd2007-04-24 07:34:341734</p>
1735</dd>
1736<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481737color.branch
1738</dt>
1739<dd>
1740<p>
1741 A boolean to enable/disable color in the output of
Junio C Hamano0fc8cd92007-12-06 03:26:211742 <a href="git-branch.html">git-branch(1)</a>. May be set to <tt>always</tt>,
1743 <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:481744 only when the output is to a terminal. Defaults to false.
1745</p>
1746</dd>
1747<dt>
1748color.branch.&lt;slot&gt;
1749</dt>
1750<dd>
1751<p>
1752 Use customized color for branch coloration. <tt>&lt;slot&gt;</tt> is one of
1753 <tt>current</tt> (the current branch), <tt>local</tt> (a local branch),
1754 <tt>remote</tt> (a tracking branch in refs/remotes/), <tt>plain</tt> (other
1755 refs).
1756</p>
Junio C Hamanoba4b9282008-07-06 05:20:311757<div class="para"><p>The value for these configuration variables is a list of colors (at most
Junio C Hamano7ad22dc2007-01-29 02:55:481758two) and attributes (at most one), separated by spaces. The colors
1759accepted are <tt>normal</tt>, <tt>black</tt>, <tt>red</tt>, <tt>green</tt>, <tt>yellow</tt>, <tt>blue</tt>,
1760<tt>magenta</tt>, <tt>cyan</tt> and <tt>white</tt>; the attributes are <tt>bold</tt>, <tt>dim</tt>, <tt>ul</tt>,
1761<tt>blink</tt> and <tt>reverse</tt>. The first color given is the foreground; the
1762second is the background. The position of the attribute, if any,
Junio C Hamanoba4b9282008-07-06 05:20:311763doesn't matter.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481764</dd>
1765<dt>
1766color.diff
1767</dt>
1768<dd>
1769<p>
Junio C Hamano0fc8cd92007-12-06 03:26:211770 When set to <tt>always</tt>, always use colors in patch.
1771 When false (or <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use
1772 colors only when the output is to the terminal. Defaults to false.
Junio C Hamano7ad22dc2007-01-29 02:55:481773</p>
1774</dd>
1775<dt>
1776color.diff.&lt;slot&gt;
1777</dt>
1778<dd>
1779<p>
1780 Use customized color for diff colorization. <tt>&lt;slot&gt;</tt> specifies
1781 which part of the patch to use the specified color, and is one
1782 of <tt>plain</tt> (context text), <tt>meta</tt> (metainformation), <tt>frag</tt>
Junio C Hamano2bd8a742009-12-01 21:16:591783 (hunk header), <em>func</em> (function in hunk header), <tt>old</tt> (removed lines),
1784 <tt>new</tt> (added lines), <tt>commit</tt> (commit headers), or <tt>whitespace</tt>
1785 (highlighting whitespace errors). The values of these variables may be
1786 specified as in color.branch.&lt;slot&gt;.
Junio C Hamano7ad22dc2007-01-29 02:55:481787</p>
1788</dd>
1789<dt>
Junio C Hamano7d449522010-07-01 00:08:511790color.decorate.&lt;slot&gt;
1791</dt>
1792<dd>
1793<p>
1794 Use customized color for <em>git log --decorate</em> output. <tt>&lt;slot&gt;</tt> is one
1795 of <tt>branch</tt>, <tt>remoteBranch</tt>, <tt>tag</tt>, <tt>stash</tt> or <tt>HEAD</tt> for local
1796 branches, remote tracking branches, tags, stash and HEAD, respectively.
1797</p>
1798</dd>
1799<dt>
Junio C Hamanod257cff2009-03-18 05:27:161800color.grep
1801</dt>
1802<dd>
1803<p>
1804 When set to <tt>always</tt>, always highlight matches. When <tt>false</tt> (or
1805 <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use color only
1806 when the output is written to the terminal. Defaults to <tt>false</tt>.
1807</p>
1808</dd>
1809<dt>
Junio C Hamano0299d922010-03-20 20:59:311810color.grep.&lt;slot&gt;
Junio C Hamanod257cff2009-03-18 05:27:161811</dt>
1812<dd>
1813<p>
Junio C Hamano0299d922010-03-20 20:59:311814 Use customized color for grep colorization. <tt>&lt;slot&gt;</tt> specifies which
1815 part of the line to use the specified color, and is one of
Junio C Hamanod257cff2009-03-18 05:27:161816</p>
Junio C Hamano0299d922010-03-20 20:59:311817<div class="vlist"><dl>
1818<dt>
1819<tt>context</tt>
1820</dt>
1821<dd>
1822<p>
1823 non-matching text in context lines (when using <tt>-A</tt>, <tt>-B</tt>, or <tt>-C</tt>)
1824</p>
1825</dd>
1826<dt>
1827<tt>filename</tt>
1828</dt>
1829<dd>
1830<p>
1831 filename prefix (when not using <tt>-h</tt>)
1832</p>
1833</dd>
1834<dt>
1835<tt>function</tt>
1836</dt>
1837<dd>
1838<p>
1839 function name lines (when using <tt>-p</tt>)
1840</p>
1841</dd>
1842<dt>
1843<tt>linenumber</tt>
1844</dt>
1845<dd>
1846<p>
1847 line number prefix (when using <tt>-n</tt>)
1848</p>
1849</dd>
1850<dt>
1851<tt>match</tt>
1852</dt>
1853<dd>
1854<p>
1855 matching text
1856</p>
1857</dd>
1858<dt>
1859<tt>selected</tt>
1860</dt>
1861<dd>
1862<p>
1863 non-matching text in selected lines
1864</p>
1865</dd>
1866<dt>
1867<tt>separator</tt>
1868</dt>
1869<dd>
1870<p>
1871 separators between fields on a line (<tt>:</tt>, <tt>-</tt>, and <tt>=</tt>)
1872 and between hunks (<tt>--</tt>)
1873</p>
1874</dd>
1875</dl></div>
1876<div class="para"><p>The values of these variables may be specified as in color.branch.&lt;slot&gt;.</p></div>
Junio C Hamanod257cff2009-03-18 05:27:161877</dd>
1878<dt>
Junio C Hamano00b8b632007-12-07 09:50:491879color.interactive
1880</dt>
1881<dd>
1882<p>
Junio C Hamano35738e82008-01-07 07:55:461883 When set to <tt>always</tt>, always use colors for interactive prompts
Junio C Hamanoba4b9282008-07-06 05:20:311884 and displays (such as those used by "git-add --interactive").
Junio C Hamano00b8b632007-12-07 09:50:491885 When false (or <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use
1886 colors only when the output is to the terminal. Defaults to false.
1887</p>
1888</dd>
1889<dt>
1890color.interactive.&lt;slot&gt;
1891</dt>
1892<dd>
1893<p>
Junio C Hamano1aa40d22010-01-21 17:46:431894 Use customized color for <em>git add --interactive</em>
Junio C Hamanoe5bf6c12009-02-07 21:43:101895 output. <tt>&lt;slot&gt;</tt> may be <tt>prompt</tt>, <tt>header</tt>, <tt>help</tt> or <tt>error</tt>, for
1896 four distinct types of normal output from interactive
Junio C Hamano27a128b2009-08-13 01:23:001897 commands. The values of these variables may be specified as
Junio C Hamano00b8b632007-12-07 09:50:491898 in color.branch.&lt;slot&gt;.
1899</p>
1900</dd>
1901<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481902color.pager
1903</dt>
1904<dd>
1905<p>
1906 A boolean to enable/disable colored output when the pager is in
1907 use (default is true).
1908</p>
1909</dd>
1910<dt>
Junio C Hamano52ba2952009-05-18 17:43:021911color.showbranch
1912</dt>
1913<dd>
1914<p>
1915 A boolean to enable/disable color in the output of
1916 <a href="git-show-branch.html">git-show-branch(1)</a>. May be set to <tt>always</tt>,
1917 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used
1918 only when the output is to a terminal. Defaults to false.
1919</p>
1920</dd>
1921<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481922color.status
1923</dt>
1924<dd>
1925<p>
1926 A boolean to enable/disable color in the output of
Junio C Hamano0fc8cd92007-12-06 03:26:211927 <a href="git-status.html">git-status(1)</a>. May be set to <tt>always</tt>,
1928 <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:481929 only when the output is to a terminal. Defaults to false.
1930</p>
1931</dd>
1932<dt>
1933color.status.&lt;slot&gt;
1934</dt>
1935<dd>
1936<p>
1937 Use customized color for status colorization. <tt>&lt;slot&gt;</tt> is
1938 one of <tt>header</tt> (the header text of the status message),
1939 <tt>added</tt> or <tt>updated</tt> (files which are added but not committed),
1940 <tt>changed</tt> (files which are changed but not added in the index),
Junio C Hamanob713ff12008-05-24 01:12:301941 <tt>untracked</tt> (files which are not tracked by git), or
1942 <tt>nobranch</tt> (the color the <em>no branch</em> warning is shown in, defaulting
1943 to red). The values of these variables may be specified as in
1944 color.branch.&lt;slot&gt;.
Junio C Hamano7ad22dc2007-01-29 02:55:481945</p>
1946</dd>
1947<dt>
Junio C Hamano83d46a22008-02-21 02:29:421948color.ui
1949</dt>
1950<dd>
1951<p>
1952 When set to <tt>always</tt>, always use colors in all git commands which
1953 are capable of colored output. When false (or <tt>never</tt>), never. When
1954 set to <tt>true</tt> or <tt>auto</tt>, use colors only when the output is to the
1955 terminal. When more specific variables of color.* are set, they always
1956 take precedence over this setting. Defaults to false.
1957</p>
1958</dd>
Junio C Hamanod0d892c2010-01-24 20:06:291959<dt>
1960commit.status
1961</dt>
1962<dd>
1963<p>
Junio C Hamano6ce6b6c2010-01-18 01:25:501964 A boolean to enable/disable inclusion of status information in the
1965 commit message template when using an editor to prepare the commit
Junio C Hamanod0d892c2010-01-24 20:06:291966 message. Defaults to true.
1967</p>
1968</dd>
Junio C Hamano83d46a22008-02-21 02:29:421969<dt>
Junio C Hamano4653c6f2008-11-26 22:50:201970commit.template
1971</dt>
1972<dd>
1973<p>
1974 Specify a file to use as the template for new commit messages.
Junio C Hamanobf984de2009-11-23 06:11:191975 "&#126;/" is expanded to the value of <tt>$HOME</tt> and "&#126;user/" to the
1976 specified user's home directory.
Junio C Hamano4653c6f2008-11-26 22:50:201977</p>
1978</dd>
1979<dt>
Junio C Hamanodbb64592007-09-01 11:17:391980diff.autorefreshindex
1981</dt>
1982<dd>
1983<p>
Junio C Hamano1aa40d22010-01-21 17:46:431984 When using <em>git diff</em> to compare with work tree
Junio C Hamanodbb64592007-09-01 11:17:391985 files, do not consider stat-only change as changed.
1986 Instead, silently run <tt>git update-index --refresh</tt> to
1987 update the cached stat information for paths whose
1988 contents in the work tree match the contents in the
1989 index. This option defaults to true. Note that this
Junio C Hamano1aa40d22010-01-21 17:46:431990 affects only <em>git diff</em> Porcelain, and not lower level
1991 <em>diff</em> commands such as <em>git diff-files</em>.
Junio C Hamanodbb64592007-09-01 11:17:391992</p>
1993</dd>
1994<dt>
Junio C Hamano1fbbbc12007-12-18 07:01:271995diff.external
1996</dt>
1997<dd>
1998<p>
1999 If this config variable is set, diff generation is not
2000 performed using the internal diff machinery, but using the
Junio C Hamano85c71572008-07-28 00:03:312001 given command. Can be overridden with the `GIT_EXTERNAL_DIFF'
2002 environment variable. The command is called with parameters
2003 as described under "git Diffs" in <a href="git.html">git(1)</a>. Note: if
2004 you want to use an external diff program only on a subset of
2005 your files, you might want to use <a href="gitattributes.html">gitattributes(5)</a> instead.
Junio C Hamano1fbbbc12007-12-18 07:01:272006</p>
2007</dd>
2008<dt>
Junio C Hamano5e4d8de2008-09-19 06:27:022009diff.mnemonicprefix
2010</dt>
2011<dd>
2012<p>
Junio C Hamano1aa40d22010-01-21 17:46:432013 If set, <em>git diff</em> uses a prefix pair that is different from the
Junio C Hamano5e4d8de2008-09-19 06:27:022014 standard "a/" and "b/" depending on what is being compared. When
2015 this configuration is in effect, reverse diff output also swaps
2016 the order of the prefixes:
2017</p>
2018<div class="vlist"><dl>
2019<dt>
Junio C Hamano1aa40d22010-01-21 17:46:432020<tt>git diff</tt>
Junio C Hamano5e4d8de2008-09-19 06:27:022021</dt>
2022<dd>
2023<p>
2024 compares the (i)ndex and the (w)ork tree;
2025</p>
2026</dd>
2027<dt>
Junio C Hamano1aa40d22010-01-21 17:46:432028<tt>git diff HEAD</tt>
Junio C Hamano5e4d8de2008-09-19 06:27:022029</dt>
2030<dd>
2031<p>
2032 compares a (c)ommit and the (w)ork tree;
2033</p>
2034</dd>
2035<dt>
Junio C Hamano1aa40d22010-01-21 17:46:432036<tt>git diff --cached</tt>
Junio C Hamano5e4d8de2008-09-19 06:27:022037</dt>
2038<dd>
2039<p>
2040 compares a (c)ommit and the (i)ndex;
2041</p>
2042</dd>
2043<dt>
Junio C Hamano1aa40d22010-01-21 17:46:432044<tt>git diff HEAD:file1 file2</tt>
Junio C Hamano5e4d8de2008-09-19 06:27:022045</dt>
2046<dd>
2047<p>
2048 compares an (o)bject and a (w)ork tree entity;
2049</p>
2050</dd>
2051<dt>
Junio C Hamano1aa40d22010-01-21 17:46:432052<tt>git diff --no-index a b</tt>
Junio C Hamano5e4d8de2008-09-19 06:27:022053</dt>
2054<dd>
2055<p>
2056 compares two non-git things (1) and (2).
2057</p>
2058</dd>
2059</dl></div>
2060</dd>
2061<dt>
Junio C Hamano21c2d142010-09-10 18:09:272062diff.noprefix
2063</dt>
2064<dd>
2065<p>
2066 If set, <em>git diff</em> does not show any source or destination prefix.
2067</p>
2068</dd>
2069<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482070diff.renameLimit
2071</dt>
2072<dd>
2073<p>
2074 The number of files to consider when performing the copy/rename
Junio C Hamano1aa40d22010-01-21 17:46:432075 detection; equivalent to the <em>git diff</em> option <em>-l</em>.
Junio C Hamano7ad22dc2007-01-29 02:55:482076</p>
2077</dd>
2078<dt>
2079diff.renames
2080</dt>
2081<dd>
2082<p>
2083 Tells git to detect renames. If set to any boolean value, it
2084 will enable basic rename detection. If set to "copies" or
2085 "copy", it will detect copies, as well.
2086</p>
2087</dd>
2088<dt>
Junio C Hamano619596a2010-08-18 22:15:352089diff.ignoreSubmodules
2090</dt>
2091<dd>
2092<p>
2093 Sets the default value of --ignore-submodules. Note that this
2094 affects only <em>git diff</em> Porcelain, and not lower level <em>diff</em>
Junio C Hamanof0f41ba2010-09-04 16:23:062095 commands such as <em>git diff-files</em>. <em>git checkout</em> also honors
2096 this setting when reporting uncommitted changes.
Junio C Hamano619596a2010-08-18 22:15:352097</p>
2098</dd>
2099<dt>
Junio C Hamanobc4852e2009-01-21 10:51:142100diff.suppressBlankEmpty
Junio C Hamanof1231492008-12-22 08:27:212101</dt>
2102<dd>
2103<p>
2104 A boolean to inhibit the standard behavior of printing a space
2105 before each empty output line. Defaults to false.
2106</p>
2107</dd>
2108<dt>
Junio C Hamano3bd66e92009-04-18 06:17:562109diff.tool
2110</dt>
2111<dd>
2112<p>
2113 Controls which diff tool is used. <tt>diff.tool</tt> overrides
2114 <tt>merge.tool</tt> when used by <a href="git-difftool.html">git-difftool(1)</a> and has
2115 the same valid values as <tt>merge.tool</tt> minus "tortoisemerge"
2116 and plus "kompare".
2117</p>
2118</dd>
2119<dt>
2120difftool.&lt;tool&gt;.path
2121</dt>
2122<dd>
2123<p>
2124 Override the path for the given tool. This is useful in case
2125 your tool is not in the PATH.
2126</p>
2127</dd>
2128<dt>
2129difftool.&lt;tool&gt;.cmd
2130</dt>
2131<dd>
2132<p>
2133 Specify the command to invoke the specified diff tool.
2134 The specified command is evaluated in shell with the following
2135 variables available: <em>LOCAL</em> is set to the name of the temporary
2136 file containing the contents of the diff pre-image and <em>REMOTE</em>
2137 is set to the name of the temporary file containing the contents
2138 of the diff post-image.
2139</p>
2140</dd>
2141<dt>
2142difftool.prompt
2143</dt>
2144<dd>
2145<p>
2146 Prompt before each invocation of the diff tool.
2147</p>
2148</dd>
2149<dt>
Junio C Hamano20d47e32009-01-26 06:36:022150diff.wordRegex
2151</dt>
2152<dd>
2153<p>
2154 A POSIX Extended Regular Expression used to determine what is a "word"
2155 when performing word-by-word difference calculations. Character
2156 sequences that match the regular expression are "words", all other
2157 characters are <strong>ignorable</strong> whitespace.
2158</p>
2159</dd>
2160<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482161fetch.unpackLimit
2162</dt>
2163<dd>
2164<p>
2165 If the number of objects fetched over the git native
2166 transfer is below this
2167 limit, then the objects will be unpacked into loose object
2168 files. However if the number of received objects equals or
2169 exceeds this limit then the received pack will be stored as
2170 a pack, after adding any missing delta bases. Storing the
2171 pack from a push can make the push operation complete faster,
Junio C Hamanoe77b0152008-01-12 06:44:172172 especially on slow filesystems. If not set, the value of
2173 <tt>transfer.unpackLimit</tt> is used instead.
Junio C Hamano7ad22dc2007-01-29 02:55:482174</p>
2175</dd>
2176<dt>
Junio C Hamanof4581102009-04-25 08:29:592177format.attach
2178</dt>
2179<dd>
2180<p>
2181 Enable multipart/mixed attachments as the default for
2182 <em>format-patch</em>. The value can also be a double quoted string
2183 which will enable attachments as the default and set the
2184 value as the boundary. See the --attach option in
2185 <a href="git-format-patch.html">git-format-patch(1)</a>.
2186</p>
2187</dd>
2188<dt>
Junio C Hamano8c5802d2007-11-15 00:13:362189format.numbered
2190</dt>
2191<dd>
2192<p>
Junio C Hamano7d06a8a2008-10-20 05:42:332193 A boolean which can enable or disable sequence numbers in patch
2194 subjects. It defaults to "auto" which enables it only if there
2195 is more than one patch. It can be enabled or disabled for all
2196 messages by setting it to "true" or "false". See --numbered
2197 option in <a href="git-format-patch.html">git-format-patch(1)</a>.
Junio C Hamano8c5802d2007-11-15 00:13:362198</p>
2199</dd>
2200<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482201format.headers
2202</dt>
2203<dd>
2204<p>
2205 Additional email headers to include in a patch to be submitted
2206 by mail. See <a href="git-format-patch.html">git-format-patch(1)</a>.
2207</p>
2208</dd>
2209<dt>
Junio C Hamano70664a02010-07-13 22:48:052210format.to
2211</dt>
2212<dt>
Junio C Hamanof4581102009-04-25 08:29:592213format.cc
2214</dt>
2215<dd>
2216<p>
Junio C Hamano70664a02010-07-13 22:48:052217 Additional recipients to include in a patch to be submitted
2218 by mail. See the --to and --cc options in
2219 <a href="git-format-patch.html">git-format-patch(1)</a>.
Junio C Hamanof4581102009-04-25 08:29:592220</p>
2221</dd>
2222<dt>
2223format.subjectprefix
2224</dt>
2225<dd>
2226<p>
2227 The default for format-patch is to output files with the <em>[PATCH]</em>
2228 subject prefix. Use this variable to change that prefix.
2229</p>
2230</dd>
2231<dt>
Junio C Hamano89a57342010-06-22 23:22:552232format.signature
2233</dt>
2234<dd>
2235<p>
2236 The default for format-patch is to output a signature containing
2237 the git version number. Use this variable to change that default.
2238 Set this variable to the empty string ("") to suppress
2239 signature generation.
2240</p>
2241</dd>
2242<dt>
Junio C Hamanod4c8e112007-03-04 10:32:382243format.suffix
2244</dt>
2245<dd>
2246<p>
2247 The default for format-patch is to output files with the suffix
2248 <tt>.patch</tt>. Use this variable to change that suffix (make sure to
2249 include the dot if you want it).
2250</p>
2251</dd>
2252<dt>
Junio C Hamano86bcccc2008-03-08 09:33:552253format.pretty
2254</dt>
2255<dd>
2256<p>
2257 The default pretty format for log/show/whatchanged command,
2258 See <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>,
2259 <a href="git-whatchanged.html">git-whatchanged(1)</a>.
2260</p>
2261</dd>
2262<dt>
Junio C Hamanoea6a7642009-03-11 23:56:192263format.thread
2264</dt>
2265<dd>
2266<p>
Junio C Hamano1aa40d22010-01-21 17:46:432267 The default threading style for <em>git format-patch</em>. Can be
Junio C Hamanob141a922010-01-10 19:55:142268 a boolean value, or <tt>shallow</tt> or <tt>deep</tt>. <tt>shallow</tt> threading
2269 makes every mail a reply to the head of the series,
Junio C Hamanoea6a7642009-03-11 23:56:192270 where the head is chosen from the cover letter, the
2271 <tt>--in-reply-to</tt>, and the first patch mail, in this order.
Junio C Hamanof4581102009-04-25 08:29:592272 <tt>deep</tt> threading makes every mail a reply to the previous one.
Junio C Hamanoea6a7642009-03-11 23:56:192273 A true boolean value is the same as <tt>shallow</tt>, and a false
2274 value disables threading.
2275</p>
2276</dd>
2277<dt>
Junio C Hamano5f9a6f02009-04-06 08:26:562278format.signoff
2279</dt>
2280<dd>
2281<p>
2282 A boolean value which lets you enable the <tt>-s/--signoff</tt> option of
2283 format-patch by default. <strong>Note:</strong> Adding the Signed-off-by: line to a
2284 patch should be a conscious act and means that you certify you have
2285 the rights to submit this work under the same open source license.
2286 Please see the <em>SubmittingPatches</em> document for further discussion.
2287</p>
2288</dd>
2289<dt>
Junio C Hamanof2ce2972007-05-20 19:12:092290gc.aggressiveWindow
2291</dt>
2292<dd>
2293<p>
2294 The window size parameter used in the delta compression
Junio C Hamano1aa40d22010-01-21 17:46:432295 algorithm used by <em>git gc --aggressive</em>. This defaults
Junio C Hamanob04bb3f2010-04-14 14:07:362296 to 250.
Junio C Hamanof2ce2972007-05-20 19:12:092297</p>
2298</dd>
2299<dt>
Junio C Hamano1b50ce92007-10-03 12:05:532300gc.auto
2301</dt>
2302<dd>
2303<p>
2304 When there are approximately more than this many loose
2305 objects in the repository, <tt>git gc --auto</tt> will pack them.
2306 Some Porcelain commands use this command to perform a
Junio C Hamanoe77b0152008-01-12 06:44:172307 light-weight garbage collection from time to time. The
2308 default value is 6700. Setting this to 0 disables it.
Junio C Hamano1b50ce92007-10-03 12:05:532309</p>
2310</dd>
2311<dt>
2312gc.autopacklimit
2313</dt>
2314<dd>
2315<p>
2316 When there are more than this many packs that are not
2317 marked with <tt>*.keep</tt> file in the repository, <tt>git gc
Junio C Hamanoe77b0152008-01-12 06:44:172318 --auto</tt> consolidates them into one larger pack. The
Junio C Hamano25c0b702008-03-23 09:41:372319 default value is 50. Setting this to 0 disables it.
Junio C Hamano1b50ce92007-10-03 12:05:532320</p>
2321</dd>
2322<dt>
Junio C Hamano9d52e572007-02-13 23:48:202323gc.packrefs
2324</dt>
2325<dd>
2326<p>
Junio C Hamanob141a922010-01-10 19:55:142327 Running <tt>git pack-refs</tt> in a repository renders it
2328 unclonable by Git versions prior to 1.5.1.2 over dumb
2329 transports such as HTTP. This variable determines whether
Junio C Hamano1aa40d22010-01-21 17:46:432330 <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:142331 to enable it within all non-bare repos or it can be set to a
2332 boolean value. The default is <tt>true</tt>.
Junio C Hamano9d52e572007-02-13 23:48:202333</p>
2334</dd>
2335<dt>
Junio C Hamano09a926d2008-03-13 07:55:292336gc.pruneexpire
2337</dt>
2338<dd>
2339<p>
Junio C Hamano1aa40d22010-01-21 17:46:432340 When <em>git gc</em> is run, it will call <em>prune --expire 2.weeks.ago</em>.
Junio C Hamanoa3148f52009-01-14 08:49:572341 Override the grace period with this config variable. The value
2342 "now" may be used to disable this grace period and always prune
2343 unreachable objects immediately.
Junio C Hamano09a926d2008-03-13 07:55:292344</p>
2345</dd>
2346<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482347gc.reflogexpire
2348</dt>
Junio C Hamanocc7636a2010-05-21 14:57:532349<dt>
2350gc.&lt;pattern&gt;.reflogexpire
2351</dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482352<dd>
2353<p>
Junio C Hamano1aa40d22010-01-21 17:46:432354 <em>git reflog expire</em> removes reflog entries older than
Junio C Hamanocc7636a2010-05-21 14:57:532355 this time; defaults to 90 days. With "&lt;pattern&gt;" (e.g.
2356 "refs/stash") in the middle the setting applies only to
2357 the refs that match the &lt;pattern&gt;.
Junio C Hamano7ad22dc2007-01-29 02:55:482358</p>
2359</dd>
2360<dt>
2361gc.reflogexpireunreachable
2362</dt>
Junio C Hamanocc7636a2010-05-21 14:57:532363<dt>
2364gc.&lt;ref&gt;.reflogexpireunreachable
2365</dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482366<dd>
2367<p>
Junio C Hamano1aa40d22010-01-21 17:46:432368 <em>git reflog expire</em> removes reflog entries older than
Junio C Hamano7ad22dc2007-01-29 02:55:482369 this time and are not reachable from the current tip;
Junio C Hamanocc7636a2010-05-21 14:57:532370 defaults to 30 days. With "&lt;pattern&gt;" (e.g. "refs/stash")
2371 in the middle, the setting applies only to the refs that
2372 match the &lt;pattern&gt;.
Junio C Hamano7ad22dc2007-01-29 02:55:482373</p>
2374</dd>
2375<dt>
2376gc.rerereresolved
2377</dt>
2378<dd>
2379<p>
2380 Records of conflicted merge you resolved earlier are
Junio C Hamano1aa40d22010-01-21 17:46:432381 kept for this many days when <em>git rerere gc</em> is run.
Junio C Hamano7ad22dc2007-01-29 02:55:482382 The default is 60 days. See <a href="git-rerere.html">git-rerere(1)</a>.
2383</p>
2384</dd>
2385<dt>
2386gc.rerereunresolved
2387</dt>
2388<dd>
2389<p>
2390 Records of conflicted merge you have not resolved are
Junio C Hamano1aa40d22010-01-21 17:46:432391 kept for this many days when <em>git rerere gc</em> is run.
Junio C Hamano7ad22dc2007-01-29 02:55:482392 The default is 15 days. See <a href="git-rerere.html">git-rerere(1)</a>.
2393</p>
2394</dd>
2395<dt>
Junio C Hamanoa3148f52009-01-14 08:49:572396gitcvs.commitmsgannotation
2397</dt>
2398<dd>
2399<p>
2400 Append this string to each commit message. Set to empty string
2401 to disable this feature. Defaults to "via git-CVS emulator".
2402</p>
2403</dd>
2404<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482405gitcvs.enabled
2406</dt>
2407<dd>
2408<p>
Junio C Hamanoa6387422007-08-25 03:54:272409 Whether the CVS server interface is enabled for this repository.
Junio C Hamano7ad22dc2007-01-29 02:55:482410 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2411</p>
2412</dd>
2413<dt>
2414gitcvs.logfile
2415</dt>
2416<dd>
2417<p>
Junio C Hamanoa6387422007-08-25 03:54:272418 Path to a log file where the CVS server interface well&#8230; logs
Junio C Hamano7ad22dc2007-01-29 02:55:482419 various stuff. See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2420</p>
2421</dd>
Junio C Hamano17bd2272008-09-01 06:11:172422<dt>
2423gitcvs.usecrlfattr
2424</dt>
2425<dd>
2426<p>
Junio C Hamanobb88cf42010-06-21 15:23:552427 If true, the server will look up the end-of-line conversion
2428 attributes for files to determine the <em>-k</em> modes to use. If
2429 the attributes force git to treat a file as text,
Junio C Hamano619596a2010-08-18 22:15:352430 the <em>-k</em> mode will be left blank so CVS clients will
Junio C Hamanobb88cf42010-06-21 15:23:552431 treat it as text. If they suppress text conversion, the file
Junio C Hamanocb1c44f2008-08-06 06:19:332432 will be set with <em>-kb</em> mode, which suppresses any newline munging
Junio C Hamanobb88cf42010-06-21 15:23:552433 the client might otherwise do. If the attributes do not allow
2434 the file type to be determined, then <em>gitcvs.allbinary</em> is
2435 used. See <a href="gitattributes.html">gitattributes(5)</a>.
Junio C Hamano17bd2272008-09-01 06:11:172436</p>
2437</dd>
Junio C Hamano7ad22dc2007-01-29 02:55:482438<dt>
Junio C Hamanod9e0e5d2007-04-14 16:22:042439gitcvs.allbinary
2440</dt>
2441<dd>
2442<p>
Junio C Hamanodfccbb02008-05-26 01:16:142443 This is used if <em>gitcvs.usecrlfattr</em> does not resolve
2444 the correct <em>-kb</em> mode to use. If true, all
2445 unresolved files are sent to the client in
2446 mode <em>-kb</em>. This causes the client to treat them
2447 as binary files, which suppresses any newline munging it
2448 otherwise might do. Alternatively, if it is set to "guess",
2449 then the contents of the file are examined to decide if
2450 it is binary, similar to <em>core.autocrlf</em>.
Junio C Hamanoa2ad99e2007-04-18 09:57:042451</p>
2452</dd>
2453<dt>
2454gitcvs.dbname
2455</dt>
2456<dd>
2457<p>
2458 Database used by git-cvsserver to cache revision information
2459 derived from the git repository. The exact meaning depends on the
2460 used database driver, for SQLite (which is the default driver) this
2461 is a filename. Supports variable substitution (see
2462 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). May not contain semicolons (<tt>;</tt>).
2463 Default: <em>%Ggitcvs.%m.sqlite</em>
2464</p>
2465</dd>
2466<dt>
2467gitcvs.dbdriver
2468</dt>
2469<dd>
2470<p>
2471 Used Perl DBI driver. You can specify any available driver
2472 for this here, but it might not work. git-cvsserver is tested
2473 with <em>DBD::SQLite</em>, reported to work with <em>DBD::Pg</em>, and
2474 reported <strong>not</strong> to work with <em>DBD::mysql</em>. Experimental feature.
2475 May not contain double colons (<tt>:</tt>). Default: <em>SQLite</em>.
Junio C Hamanod9e0e5d2007-04-14 16:22:042476 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2477</p>
2478</dd>
2479<dt>
Junio C Hamanoa2ad99e2007-04-18 09:57:042480gitcvs.dbuser, gitcvs.dbpass
2481</dt>
2482<dd>
2483<p>
2484 Database user and password. Only useful if setting <em>gitcvs.dbdriver</em>,
2485 since SQLite has no concept of database users and/or passwords.
2486 <em>gitcvs.dbuser</em> supports variable substitution (see
2487 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details).
2488</p>
2489</dd>
Junio C Hamanoa74efce2008-04-02 08:39:082490<dt>
2491gitcvs.dbTableNamePrefix
2492</dt>
2493<dd>
2494<p>
2495 Database table name prefix. Prepended to the names of any
2496 database tables used, allowing a single database to be used
2497 for several repositories. Supports variable substitution (see
2498 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). Any non-alphabetic
2499 characters will be replaced with underscores.
2500</p>
2501</dd>
Junio C Hamanoba4b9282008-07-06 05:20:312502</dl></div>
2503<div class="para"><p>All gitcvs variables except for <em>gitcvs.usecrlfattr</em> and
Junio C Hamanodfccbb02008-05-26 01:16:142504<em>gitcvs.allbinary</em> can also be specified as
2505<em>gitcvs.&lt;access_method&gt;.&lt;varname&gt;</em> (where <em>access_method</em>
Junio C Hamanoa6387422007-08-25 03:54:272506is one of "ext" and "pserver") to make them apply only for the given
Junio C Hamanoba4b9282008-07-06 05:20:312507access method.</p></div>
2508<div class="vlist"><dl>
Junio C Hamanoa2ad99e2007-04-18 09:57:042509<dt>
Junio C Hamano6d76d612008-05-09 05:46:082510gui.commitmsgwidth
2511</dt>
2512<dd>
2513<p>
2514 Defines how wide the commit message window is in the
2515 <a href="git-gui.html">git-gui(1)</a>. "75" is the default.
2516</p>
2517</dd>
2518<dt>
2519gui.diffcontext
2520</dt>
2521<dd>
2522<p>
2523 Specifies how many context lines should be used in calls to diff
2524 made by the <a href="git-gui.html">git-gui(1)</a>. The default is "5".
2525</p>
2526</dd>
2527<dt>
Junio C Hamanod3452a02008-11-15 08:07:552528gui.encoding
2529</dt>
2530<dd>
2531<p>
2532 Specifies the default encoding to use for displaying of
2533 file contents in <a href="git-gui.html">git-gui(1)</a> and <a href="gitk.html">gitk(1)</a>.
2534 It can be overridden by setting the <em>encoding</em> attribute
2535 for relevant files (see <a href="gitattributes.html">gitattributes(5)</a>).
2536 If this option is not set, the tools default to the
2537 locale encoding.
2538</p>
2539</dd>
2540<dt>
Junio C Hamano6d76d612008-05-09 05:46:082541gui.matchtrackingbranch
2542</dt>
2543<dd>
2544<p>
2545 Determines if new branches created with <a href="git-gui.html">git-gui(1)</a> should
2546 default to tracking remote branches with matching names or
2547 not. Default: "false".
2548</p>
2549</dd>
2550<dt>
2551gui.newbranchtemplate
2552</dt>
2553<dd>
2554<p>
2555 Is used as suggested name when creating new branches using the
2556 <a href="git-gui.html">git-gui(1)</a>.
2557</p>
2558</dd>
2559<dt>
2560gui.pruneduringfetch
2561</dt>
2562<dd>
2563<p>
2564 "true" if <a href="git-gui.html">git-gui(1)</a> should prune tracking branches when
2565 performing a fetch. The default value is "false".
2566</p>
2567</dd>
2568<dt>
2569gui.trustmtime
2570</dt>
2571<dd>
2572<p>
2573 Determines if <a href="git-gui.html">git-gui(1)</a> should trust the file modification
2574 timestamp or not. By default the timestamps are not trusted.
2575</p>
2576</dd>
2577<dt>
2578gui.spellingdictionary
2579</dt>
2580<dd>
2581<p>
2582 Specifies the dictionary used for spell checking commit messages in
2583 the <a href="git-gui.html">git-gui(1)</a>. When set to "none" spell checking is turned
2584 off.
2585</p>
2586</dd>
2587<dt>
Junio C Hamanod3452a02008-11-15 08:07:552588gui.fastcopyblame
2589</dt>
2590<dd>
2591<p>
Junio C Hamano1aa40d22010-01-21 17:46:432592 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:552593 location detection. It makes blame significantly faster on huge
2594 repositories at the expense of less thorough copy detection.
2595</p>
2596</dd>
2597<dt>
2598gui.copyblamethreshold
2599</dt>
2600<dd>
2601<p>
Junio C Hamano610d1762008-11-28 06:27:132602 Specifies the threshold to use in <em>git gui blame</em> original location
Junio C Hamanod3452a02008-11-15 08:07:552603 detection, measured in alphanumeric characters. See the
2604 <a href="git-blame.html">git-blame(1)</a> manual for more information on copy detection.
2605</p>
2606</dd>
2607<dt>
2608gui.blamehistoryctx
2609</dt>
2610<dd>
2611<p>
2612 Specifies the radius of history context in days to show in
2613 <a href="gitk.html">gitk(1)</a> for the selected commit, when the <tt>Show History
2614 Context</tt> menu item is invoked from <em>git gui blame</em>. If this
2615 variable is set to zero, the whole history is shown.
2616</p>
2617</dd>
2618<dt>
Junio C Hamano92d312a2008-12-15 07:22:202619guitool.&lt;name&gt;.cmd
2620</dt>
2621<dd>
2622<p>
2623 Specifies the shell command line to execute when the corresponding item
2624 of the <a href="git-gui.html">git-gui(1)</a> <tt>Tools</tt> menu is invoked. This option is
2625 mandatory for every tool. The command is executed from the root of
2626 the working directory, and in the environment it receives the name of
2627 the tool as <em>GIT_GUITOOL</em>, the name of the currently selected file as
2628 <em>FILENAME</em>, and the name of the current branch as <em>CUR_BRANCH</em> (if
2629 the head is detached, <em>CUR_BRANCH</em> is empty).
2630</p>
2631</dd>
2632<dt>
2633guitool.&lt;name&gt;.needsfile
2634</dt>
2635<dd>
2636<p>
2637 Run the tool only if a diff is selected in the GUI. It guarantees
2638 that <em>FILENAME</em> is not empty.
2639</p>
2640</dd>
2641<dt>
2642guitool.&lt;name&gt;.noconsole
2643</dt>
2644<dd>
2645<p>
2646 Run the command silently, without creating a window to display its
2647 output.
2648</p>
2649</dd>
2650<dt>
2651guitool.&lt;name&gt;.norescan
2652</dt>
2653<dd>
2654<p>
2655 Don't rescan the working directory for changes after the tool
2656 finishes execution.
2657</p>
2658</dd>
2659<dt>
2660guitool.&lt;name&gt;.confirm
2661</dt>
2662<dd>
2663<p>
2664 Show a confirmation dialog before actually running the tool.
2665</p>
2666</dd>
2667<dt>
2668guitool.&lt;name&gt;.argprompt
2669</dt>
2670<dd>
2671<p>
2672 Request a string argument from the user, and pass it to the tool
2673 through the <em>ARGS</em> environment variable. Since requesting an
2674 argument implies confirmation, the <em>confirm</em> option has no effect
2675 if this is enabled. If the option is set to <em>true</em>, <em>yes</em>, or <em>1</em>,
2676 the dialog uses a built-in generic prompt; otherwise the exact
2677 value of the variable is used.
2678</p>
2679</dd>
2680<dt>
2681guitool.&lt;name&gt;.revprompt
2682</dt>
2683<dd>
2684<p>
2685 Request a single valid revision from the user, and set the
2686 <em>REVISION</em> environment variable. In other aspects this option
2687 is similar to <em>argprompt</em>, and can be used together with it.
2688</p>
2689</dd>
2690<dt>
2691guitool.&lt;name&gt;.revunmerged
2692</dt>
2693<dd>
2694<p>
2695 Show only unmerged branches in the <em>revprompt</em> subdialog.
2696 This is useful for tools similar to merge or rebase, but not
2697 for things like checkout or reset.
2698</p>
2699</dd>
2700<dt>
2701guitool.&lt;name&gt;.title
2702</dt>
2703<dd>
2704<p>
2705 Specifies the title to use for the prompt dialog. The default
2706 is the tool name.
2707</p>
2708</dd>
2709<dt>
2710guitool.&lt;name&gt;.prompt
2711</dt>
2712<dd>
2713<p>
2714 Specifies the general prompt string to display at the top of
2715 the dialog, before subsections for <em>argprompt</em> and <em>revprompt</em>.
2716 The default value includes the actual command.
2717</p>
2718</dd>
2719<dt>
Junio C Hamano4e272312008-01-08 09:13:212720help.browser
2721</dt>
2722<dd>
2723<p>
2724 Specify the browser that will be used to display help in the
2725 <em>web</em> format. See <a href="git-help.html">git-help(1)</a>.
2726</p>
2727</dd>
2728<dt>
2729help.format
2730</dt>
2731<dd>
2732<p>
2733 Override the default help format used by <a href="git-help.html">git-help(1)</a>.
2734 Values <em>man</em>, <em>info</em>, <em>web</em> and <em>html</em> are supported. <em>man</em> is
2735 the default. <em>web</em> and <em>html</em> are the same.
2736</p>
2737</dd>
2738<dt>
Junio C Hamanof24b8062008-09-09 01:34:392739help.autocorrect
2740</dt>
2741<dd>
2742<p>
2743 Automatically correct and execute mistyped commands after
2744 waiting for the given number of deciseconds (0.1 sec). If more
2745 than one command can be deduced from the entered text, nothing
2746 will be executed. If the value of this option is negative,
2747 the corrected command will be executed immediately. If the
2748 value is 0 - the command will be just shown but not executed.
2749 This is the default.
2750</p>
2751</dd>
2752<dt>
Junio C Hamano58256872007-12-04 08:31:132753http.proxy
2754</dt>
2755<dd>
2756<p>
2757 Override the HTTP proxy, normally configured using the <em>http_proxy</em>
2758 environment variable (see <a href="curl.html">curl(1)</a>). This can be overridden
2759 on a per-remote basis; see remote.&lt;name&gt;.proxy
2760</p>
2761</dd>
2762<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482763http.sslVerify
2764</dt>
2765<dd>
2766<p>
2767 Whether to verify the SSL certificate when fetching or pushing
2768 over HTTPS. Can be overridden by the <em>GIT_SSL_NO_VERIFY</em> environment
2769 variable.
2770</p>
2771</dd>
2772<dt>
2773http.sslCert
2774</dt>
2775<dd>
2776<p>
2777 File containing the SSL certificate when fetching or pushing
2778 over HTTPS. Can be overridden by the <em>GIT_SSL_CERT</em> environment
2779 variable.
2780</p>
2781</dd>
2782<dt>
2783http.sslKey
2784</dt>
2785<dd>
2786<p>
2787 File containing the SSL private key when fetching or pushing
2788 over HTTPS. Can be overridden by the <em>GIT_SSL_KEY</em> environment
2789 variable.
2790</p>
2791</dd>
2792<dt>
Junio C Hamano48bc1ce2009-07-09 16:49:192793http.sslCertPasswordProtected
2794</dt>
2795<dd>
2796<p>
2797 Enable git's password prompt for the SSL certificate. Otherwise
2798 OpenSSL will prompt the user, possibly many times, if the
2799 certificate or private key is encrypted. Can be overridden by the
2800 <em>GIT_SSL_CERT_PASSWORD_PROTECTED</em> environment variable.
2801</p>
2802</dd>
2803<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482804http.sslCAInfo
2805</dt>
2806<dd>
2807<p>
2808 File containing the certificates to verify the peer with when
2809 fetching or pushing over HTTPS. Can be overridden by the
2810 <em>GIT_SSL_CAINFO</em> environment variable.
2811</p>
2812</dd>
2813<dt>
2814http.sslCAPath
2815</dt>
2816<dd>
2817<p>
2818 Path containing files with the CA certificates to verify the peer
2819 with when fetching or pushing over HTTPS. Can be overridden
2820 by the <em>GIT_SSL_CAPATH</em> environment variable.
2821</p>
2822</dd>
2823<dt>
2824http.maxRequests
2825</dt>
2826<dd>
2827<p>
2828 How many HTTP requests to launch in parallel. Can be overridden
2829 by the <em>GIT_HTTP_MAX_REQUESTS</em> environment variable. Default is 5.
2830</p>
2831</dd>
2832<dt>
Junio C Hamanob141a922010-01-10 19:55:142833http.minSessions
2834</dt>
2835<dd>
2836<p>
2837 The number of curl sessions (counted across slots) to be kept across
2838 requests. They will not be ended with curl_easy_cleanup() until
2839 http_cleanup() is invoked. If USE_CURL_MULTI is not defined, this
2840 value will be capped at 1. Defaults to 1.
2841</p>
2842</dd>
2843<dt>
Junio C Hamano3b70d3c2009-11-21 17:37:372844http.postBuffer
2845</dt>
2846<dd>
2847<p>
2848 Maximum size in bytes of the buffer used by smart HTTP
2849 transports when POSTing data to the remote system.
2850 For requests larger than this buffer size, HTTP/1.1 and
2851 Transfer-Encoding: chunked is used to avoid creating a
2852 massive pack file locally. Default is 1 MiB, which is
2853 sufficient for most requests.
2854</p>
2855</dd>
2856<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482857http.lowSpeedLimit, http.lowSpeedTime
2858</dt>
2859<dd>
2860<p>
2861 If the HTTP transfer speed is less than <em>http.lowSpeedLimit</em>
2862 for longer than <em>http.lowSpeedTime</em> seconds, the transfer is aborted.
2863 Can be overridden by the <em>GIT_HTTP_LOW_SPEED_LIMIT</em> and
2864 <em>GIT_HTTP_LOW_SPEED_TIME</em> environment variables.
2865</p>
2866</dd>
2867<dt>
2868http.noEPSV
2869</dt>
2870<dd>
2871<p>
2872 A boolean which disables using of EPSV ftp command by curl.
Junio C Hamanod9e0e5d2007-04-14 16:22:042873 This can helpful with some "poor" ftp servers which don't
Junio C Hamano7ad22dc2007-01-29 02:55:482874 support EPSV mode. Can be overridden by the <em>GIT_CURL_FTP_NO_EPSV</em>
2875 environment variable. Default is false (curl will use EPSV).
2876</p>
2877</dd>
2878<dt>
Junio C Hamano53ba6d02010-08-22 07:25:122879http.useragent
2880</dt>
2881<dd>
2882<p>
2883 The HTTP USER_AGENT string presented to an HTTP server. The default
2884 value represents the version of the client git such as git/1.7.1.
2885 This option allows you to override this value to a more common value
2886 such as Mozilla/4.0. This may be necessary, for instance, if
2887 connecting through a firewall that restricts HTTP connections to a set
2888 of common USER_AGENT strings (but not including those like git/1.7.1).
2889 Can be overridden by the <em>GIT_HTTP_USER_AGENT</em> environment variable.
2890</p>
2891</dd>
2892<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482893i18n.commitEncoding
2894</dt>
2895<dd>
2896<p>
2897 Character encoding the commit messages are stored in; git itself
2898 does not care per se, but this information is necessary e.g. when
2899 importing commits from emails or in the gitk graphical history
2900 browser (and possibly at other places in the future or in other
2901 porcelains). See e.g. <a href="git-mailinfo.html">git-mailinfo(1)</a>. Defaults to <em>utf-8</em>.
2902</p>
2903</dd>
2904<dt>
2905i18n.logOutputEncoding
2906</dt>
2907<dd>
2908<p>
2909 Character encoding the commit messages are converted to when
Junio C Hamano1aa40d22010-01-21 17:46:432910 running <em>git log</em> and friends.
Junio C Hamano7ad22dc2007-01-29 02:55:482911</p>
2912</dd>
2913<dt>
Junio C Hamano4653c6f2008-11-26 22:50:202914imap
2915</dt>
2916<dd>
2917<p>
2918 The configuration variables in the <em>imap</em> section are described
2919 in <a href="git-imap-send.html">git-imap-send(1)</a>.
2920</p>
2921</dd>
2922<dt>
Junio C Hamanocaa712a2010-03-11 01:17:352923init.templatedir
2924</dt>
2925<dd>
2926<p>
2927 Specify the directory from which templates will be copied.
2928 (See the "TEMPLATE DIRECTORY" section of <a href="git-init.html">git-init(1)</a>.)
2929</p>
2930</dd>
2931<dt>
Junio C Hamano4e272312008-01-08 09:13:212932instaweb.browser
2933</dt>
2934<dd>
2935<p>
2936 Specify the program that will be used to browse your working
2937 repository in gitweb. See <a href="git-instaweb.html">git-instaweb(1)</a>.
2938</p>
2939</dd>
2940<dt>
2941instaweb.httpd
2942</dt>
2943<dd>
2944<p>
2945 The HTTP daemon command-line to start gitweb on your working
2946 repository. See <a href="git-instaweb.html">git-instaweb(1)</a>.
2947</p>
2948</dd>
2949<dt>
2950instaweb.local
2951</dt>
2952<dd>
2953<p>
2954 If true the web server started by <a href="git-instaweb.html">git-instaweb(1)</a> will
2955 be bound to the local IP (127.0.0.1).
2956</p>
2957</dd>
2958<dt>
2959instaweb.modulepath
2960</dt>
2961<dd>
2962<p>
Junio C Hamano619596a2010-08-18 22:15:352963 The default module path for <a href="git-instaweb.html">git-instaweb(1)</a> to use
2964 instead of /usr/lib/apache2/modules. Only used if httpd
2965 is Apache.
Junio C Hamano4e272312008-01-08 09:13:212966</p>
2967</dd>
2968<dt>
2969instaweb.port
2970</dt>
2971<dd>
2972<p>
2973 The port number to bind the gitweb httpd to. See
2974 <a href="git-instaweb.html">git-instaweb(1)</a>.
2975</p>
2976</dd>
2977<dt>
Junio C Hamanoe5bf6c12009-02-07 21:43:102978interactive.singlekey
2979</dt>
2980<dd>
2981<p>
Junio C Hamano27a128b2009-08-13 01:23:002982 In interactive commands, allow the user to provide one-letter
Junio C Hamanoe5bf6c12009-02-07 21:43:102983 input with a single key (i.e., without hitting enter).
2984 Currently this is used only by the <tt>--patch</tt> mode of
2985 <a href="git-add.html">git-add(1)</a>. Note that this setting is silently
2986 ignored if portable keystroke input is not available.
2987</p>
2988</dd>
2989<dt>
Junio C Hamanob713ff12008-05-24 01:12:302990log.date
2991</dt>
2992<dd>
2993<p>
Junio C Hamano2db3e752010-09-03 21:33:062994 Set the default date-time mode for the <em>log</em> command.
2995 Setting a value for log.date is similar to using <em>git log</em>'s
2996 <tt>--date</tt> option. Possible values are <tt>relative</tt>, <tt>local</tt>,
2997 <tt>default</tt>, <tt>iso</tt>, <tt>rfc</tt>, and <tt>short</tt>; see <a href="git-log.html">git-log(1)</a>
2998 for details.
Junio C Hamanob713ff12008-05-24 01:12:302999</p>
3000</dd>
3001<dt>
Junio C Hamanocb39aea2010-05-09 07:24:483002log.decorate
3003</dt>
3004<dd>
3005<p>
3006 Print out the ref names of any commits that are shown by the log
3007 command. If <em>short</em> is specified, the ref name prefixes <em>refs/heads/</em>,
3008 <em>refs/tags/</em> and <em>refs/remotes/</em> will not be printed. If <em>full</em> is
3009 specified, the full ref name (including prefix) will be printed.
3010 This is the same as the log commands <em>--decorate</em> option.
3011</p>
3012</dd>
3013<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483014log.showroot
3015</dt>
3016<dd>
3017<p>
3018 If true, the initial commit will be shown as a big creation event.
3019 This is equivalent to a diff against an empty tree.
3020 Tools like <a href="git-log.html">git-log(1)</a> or <a href="git-whatchanged.html">git-whatchanged(1)</a>, which
3021 normally hide the root commit will now show it. True by default.
3022</p>
3023</dd>
3024<dt>
Junio C Hamano8bc410e2009-02-15 10:38:193025mailmap.file
3026</dt>
3027<dd>
3028<p>
3029 The location of an augmenting mailmap file. The default
3030 mailmap, located in the root of the repository, is loaded
3031 first, then the mailmap file pointed to by this variable.
3032 The location of the mailmap file may be in a repository
3033 subdirectory, or somewhere outside of the repository itself.
3034 See <a href="git-shortlog.html">git-shortlog(1)</a> and <a href="git-blame.html">git-blame(1)</a>.
3035</p>
3036</dd>
3037<dt>
Junio C Hamano8b588d52008-03-15 09:48:373038man.viewer
3039</dt>
3040<dd>
3041<p>
3042 Specify the programs that may be used to display help in the
3043 <em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
3044</p>
3045</dd>
3046<dt>
Junio C Hamano4653c6f2008-11-26 22:50:203047man.&lt;tool&gt;.cmd
Junio C Hamano6d76d612008-05-09 05:46:083048</dt>
3049<dd>
3050<p>
Junio C Hamano4653c6f2008-11-26 22:50:203051 Specify the command to invoke the specified man viewer. The
3052 specified command is evaluated in shell with the man page
3053 passed as argument. (See <a href="git-help.html">git-help(1)</a>.)
3054</p>
3055</dd>
3056<dt>
3057man.&lt;tool&gt;.path
3058</dt>
3059<dd>
3060<p>
3061 Override the path for the given tool that may be used to
3062 display help in the <em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
3063</p>
3064</dd>
3065<dt>
3066merge.conflictstyle
3067</dt>
3068<dd>
3069<p>
3070 Specify the style in which conflicted hunks are written out to
3071 working tree files upon merge. The default is "merge", which
Junio C Hamanoec87f522008-12-10 08:35:253072 shows a <tt>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</tt> conflict marker, changes made by one side,
3073 a <tt>=======</tt> marker, changes made by the other side, and then
3074 a <tt>&gt;&gt;&gt;&gt;&gt;&gt;&gt;</tt> marker. An alternate style, "diff3", adds a <tt>|||||||</tt>
3075 marker and the original text before the <tt>=======</tt> marker.
Junio C Hamano6d76d612008-05-09 05:46:083076</p>
3077</dd>
3078<dt>
3079merge.log
Junio C Hamano7ad22dc2007-01-29 02:55:483080</dt>
3081<dd>
3082<p>
Junio C Hamano3b4609d2010-09-30 00:04:343083 In addition to branch names, populate the log message with at
3084 most the specified number of one-line descriptions from the
3085 actual commits that are being merged. Defaults to false, and
3086 true is a synoym for 20.
Junio C Hamano7ad22dc2007-01-29 02:55:483087</p>
3088</dd>
3089<dt>
Junio C Hamano2fbcd212008-05-14 22:26:073090merge.renameLimit
3091</dt>
3092<dd>
3093<p>
3094 The number of files to consider when performing rename detection
3095 during a merge; if not specified, defaults to the value of
3096 diff.renameLimit.
3097</p>
3098</dd>
3099<dt>
Junio C Hamano2db3e752010-09-03 21:33:063100merge.renormalize
3101</dt>
3102<dd>
3103<p>
3104 Tell git that canonical representation of files in the
3105 repository has changed over time (e.g. earlier commits record
3106 text files with CRLF line endings, but recent ones use LF line
3107 endings). In such a repository, git can convert the data
3108 recorded in commits to a canonical form before performing a
3109 merge to reduce unnecessary conflicts. For more information,
3110 see section "Merging branches with differing checkin/checkout
3111 attributes" in <a href="gitattributes.html">gitattributes(5)</a>.
3112</p>
3113</dd>
3114<dt>
Junio C Hamano4653c6f2008-11-26 22:50:203115merge.stat
3116</dt>
3117<dd>
3118<p>
3119 Whether to print the diffstat between ORIG_HEAD and the merge result
3120 at the end of the merge. True by default.
3121</p>
3122</dd>
3123<dt>
Junio C Hamano103ad7f2007-03-14 11:19:263124merge.tool
3125</dt>
3126<dd>
3127<p>
3128 Controls which merge resolution program is used by
Junio C Hamano86bcccc2008-03-08 09:33:553129 <a href="git-mergetool.html">git-mergetool(1)</a>. Valid built-in values are: "kdiff3",
Junio C Hamano3bd66e92009-04-18 06:17:563130 "tkdiff", "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff",
Junio C Hamano3f680f32009-11-16 02:10:543131 "diffuse", "ecmerge", "tortoisemerge", "p4merge", "araxis" and
Junio C Hamano86bcccc2008-03-08 09:33:553132 "opendiff". Any other value is treated is custom merge tool
Junio C Hamanocb1c44f2008-08-06 06:19:333133 and there must be a corresponding mergetool.&lt;tool&gt;.cmd option.
Junio C Hamano103ad7f2007-03-14 11:19:263134</p>
3135</dd>
3136<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483137merge.verbosity
3138</dt>
3139<dd>
3140<p>
3141 Controls the amount of output shown by the recursive merge
3142 strategy. Level 0 outputs nothing except a final error
3143 message if conflicts were detected. Level 1 outputs only
3144 conflicts, 2 outputs conflicts and file changes. Level 5 and
3145 above outputs debugging information. The default is level 2.
Junio C Hamanoec87f522008-12-10 08:35:253146 Can be overridden by the <em>GIT_MERGE_VERBOSITY</em> environment variable.
Junio C Hamano7ad22dc2007-01-29 02:55:483147</p>
3148</dd>
3149<dt>
Junio C Hamanoe90436a2007-04-22 07:22:133150merge.&lt;driver&gt;.name
3151</dt>
3152<dd>
3153<p>
Junio C Hamanoec87f522008-12-10 08:35:253154 Defines a human-readable name for a custom low-level
Junio C Hamanoe90436a2007-04-22 07:22:133155 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
3156</p>
3157</dd>
3158<dt>
3159merge.&lt;driver&gt;.driver
3160</dt>
3161<dd>
3162<p>
3163 Defines the command that implements a custom low-level
3164 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
3165</p>
3166</dd>
3167<dt>
3168merge.&lt;driver&gt;.recursive
3169</dt>
3170<dd>
3171<p>
3172 Names a low-level merge driver to be used when
3173 performing an internal merge between common ancestors.
3174 See <a href="gitattributes.html">gitattributes(5)</a> for details.
3175</p>
3176</dd>
3177<dt>
Junio C Hamano1fbbbc12007-12-18 07:01:273178mergetool.&lt;tool&gt;.path
3179</dt>
3180<dd>
3181<p>
3182 Override the path for the given tool. This is useful in case
3183 your tool is not in the PATH.
3184</p>
3185</dd>
3186<dt>
Junio C Hamano86bcccc2008-03-08 09:33:553187mergetool.&lt;tool&gt;.cmd
3188</dt>
3189<dd>
3190<p>
3191 Specify the command to invoke the specified merge tool. The
3192 specified command is evaluated in shell with the following
3193 variables available: <em>BASE</em> is the name of a temporary file
3194 containing the common base of the files to be merged, if available;
3195 <em>LOCAL</em> is the name of a temporary file containing the contents of
3196 the file on the current branch; <em>REMOTE</em> is the name of a temporary
3197 file containing the contents of the file from the branch being
3198 merged; <em>MERGED</em> contains the name of the file to which the merge
3199 tool should write the results of a successful merge.
3200</p>
3201</dd>
3202<dt>
3203mergetool.&lt;tool&gt;.trustExitCode
3204</dt>
3205<dd>
3206<p>
3207 For a custom merge command, specify whether the exit code of
3208 the merge command can be used to determine whether the merge was
3209 successful. If this is not set to true then the merge target file
3210 timestamp is checked and the merge assumed to have been successful
3211 if the file has been updated, otherwise the user is prompted to
3212 indicate the success of the merge.
3213</p>
3214</dd>
3215<dt>
3216mergetool.keepBackup
3217</dt>
3218<dd>
3219<p>
3220 After performing a merge, the original file with conflict markers
3221 can be saved as a file with a <tt>.orig</tt> extension. If this variable
3222 is set to <tt>false</tt> then this file is not preserved. Defaults to
3223 <tt>true</tt> (i.e. keep the backup files).
3224</p>
3225</dd>
3226<dt>
Junio C Hamano10b7a342009-01-01 22:05:173227mergetool.keepTemporaries
3228</dt>
3229<dd>
3230<p>
3231 When invoking a custom merge tool, git uses a set of temporary
3232 files to pass to the tool. If the tool returns an error and this
3233 variable is set to <tt>true</tt>, then these temporary files will be
3234 preserved, otherwise they will be removed after the tool has
3235 exited. Defaults to <tt>false</tt>.
3236</p>
3237</dd>
3238<dt>
3239mergetool.prompt
3240</dt>
3241<dd>
3242<p>
3243 Prompt before each invocation of the merge resolution program.
3244</p>
3245</dd>
3246<dt>
Junio C Hamano31667362010-03-25 00:38:533247notes.displayRef
3248</dt>
3249<dd>
3250<p>
3251 The (fully qualified) refname from which to show notes when
3252 showing commit messages. The value of this variable can be set
3253 to a glob, in which case notes from all matching refs will be
3254 shown. You may also specify this configuration variable
3255 several times. A warning will be issued for refs that do not
3256 exist, but a glob that does not match any refs is silently
3257 ignored.
3258</p>
3259<div class="para"><p>This setting can be overridden with the <tt>GIT_NOTES_DISPLAY_REF</tt>
3260environment variable, which must be a colon separated list of refs or
3261globs.</p></div>
3262<div class="para"><p>The effective value of "core.notesRef" (possibly overridden by
3263GIT_NOTES_REF) is also implicitly added to the list of refs to be
3264displayed.</p></div>
3265</dd>
3266<dt>
3267notes.rewrite.&lt;command&gt;
3268</dt>
3269<dd>
3270<p>
3271 When rewriting commits with &lt;command&gt; (currently <tt>amend</tt> or
3272 <tt>rebase</tt>) and this variable is set to <tt>true</tt>, git
3273 automatically copies your notes from the original to the
3274 rewritten commit. Defaults to <tt>true</tt>, but see
3275 "notes.rewriteRef" below.
3276</p>
Junio C Hamano31667362010-03-25 00:38:533277</dd>
3278<dt>
3279notes.rewriteMode
3280</dt>
3281<dd>
3282<p>
3283 When copying notes during a rewrite (see the
3284 "notes.rewrite.&lt;command&gt;" option), determines what to do if
3285 the target commit already has a note. Must be one of
3286 <tt>overwrite</tt>, <tt>concatenate</tt>, or <tt>ignore</tt>. Defaults to
3287 <tt>concatenate</tt>.
3288</p>
3289<div class="para"><p>This setting can be overridden with the <tt>GIT_NOTES_REWRITE_MODE</tt>
3290environment variable.</p></div>
3291</dd>
3292<dt>
3293notes.rewriteRef
3294</dt>
3295<dd>
3296<p>
3297 When copying notes during a rewrite, specifies the (fully
3298 qualified) ref whose notes should be copied. The ref may be a
3299 glob, in which case notes in all matching refs will be copied.
3300 You may also specify this configuration several times.
3301</p>
3302<div class="para"><p>Does not have a default value; you must configure this variable to
3303enable note rewriting.</p></div>
Junio C Hamano2b3ee5d2010-05-08 05:41:183304<div class="para"><p>This setting can be overridden with the <tt>GIT_NOTES_REWRITE_REF</tt>
3305environment variable, which must be a colon separated list of refs or
3306globs.</p></div>
Junio C Hamano31667362010-03-25 00:38:533307</dd>
3308<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483309pack.window
3310</dt>
3311<dd>
3312<p>
3313 The size of the window used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
3314 window size is given on the command line. Defaults to 10.
3315</p>
3316</dd>
3317<dt>
Junio C Hamano91d44c52007-05-09 07:16:073318pack.depth
3319</dt>
3320<dd>
3321<p>
3322 The maximum delta depth used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
3323 maximum depth is given on the command line. Defaults to 50.
3324</p>
3325</dd>
3326<dt>
Junio C Hamano235d53f2007-07-13 00:25:153327pack.windowMemory
3328</dt>
3329<dd>
3330<p>
3331 The window memory size limit used by <a href="git-pack-objects.html">git-pack-objects(1)</a>
3332 when no limit is given on the command line. The value can be
3333 suffixed with "k", "m", or "g". Defaults to 0, meaning no
3334 limit.
3335</p>
3336</dd>
3337<dt>
Junio C Hamanof2ce2972007-05-20 19:12:093338pack.compression
3339</dt>
3340<dd>
3341<p>
3342 An integer -1..9, indicating the compression level for objects
3343 in a pack file. -1 is the zlib default. 0 means no
3344 compression, and 1..9 are various speed/size tradeoffs, 9 being
3345 slowest. If not set, defaults to core.compression. If that is
Junio C Hamano2e72a942007-11-21 08:54:423346 not set, defaults to -1, the zlib default, which is "a default
3347 compromise between speed and compression (currently equivalent
3348 to level 6)."
Junio C Hamanof2ce2972007-05-20 19:12:093349</p>
3350</dd>
3351<dt>
Junio C Hamano679d22d2007-06-02 21:13:443352pack.deltaCacheSize
3353</dt>
3354<dd>
3355<p>
Junio C Hamanoa6387422007-08-25 03:54:273356 The maximum memory in bytes used for caching deltas in
Junio C Hamano9f883862009-08-11 06:23:523357 <a href="git-pack-objects.html">git-pack-objects(1)</a> before writing them out to a pack.
3358 This cache is used to speed up the writing object phase by not
3359 having to recompute the final delta result once the best match
3360 for all objects is found. Repacking large repositories on machines
3361 which are tight with memory might be badly impacted by this though,
3362 especially if this cache pushes the system into swapping.
3363 A value of 0 means no limit. The smallest size of 1 byte may be
3364 used to virtually disable this cache. Defaults to 256 MiB.
Junio C Hamano679d22d2007-06-02 21:13:443365</p>
3366</dd>
3367<dt>
3368pack.deltaCacheLimit
3369</dt>
3370<dd>
3371<p>
Junio C Hamano58155b42007-09-15 07:46:143372 The maximum size of a delta, that is cached in
Junio C Hamano9f883862009-08-11 06:23:523373 <a href="git-pack-objects.html">git-pack-objects(1)</a>. This cache is used to speed up the
3374 writing object phase by not having to recompute the final delta
3375 result once the best match for all objects is found. Defaults to 1000.
Junio C Hamano679d22d2007-06-02 21:13:443376</p>
3377</dd>
3378<dt>
Junio C Hamano58155b42007-09-15 07:46:143379pack.threads
3380</dt>
3381<dd>
3382<p>
3383 Specifies the number of threads to spawn when searching for best
3384 delta matches. This requires that <a href="git-pack-objects.html">git-pack-objects(1)</a>
3385 be compiled with pthreads otherwise this option is ignored with a
3386 warning. This is meant to reduce packing time on multiprocessor
3387 machines. The required amount of memory for the delta search window
3388 is however multiplied by the number of threads.
Junio C Hamano24bc09a2008-02-28 00:27:443389 Specifying 0 will cause git to auto-detect the number of CPU's
3390 and set the number of threads accordingly.
Junio C Hamano58155b42007-09-15 07:46:143391</p>
3392</dd>
3393<dt>
Junio C Hamanod814b6d2007-11-04 11:13:493394pack.indexVersion
3395</dt>
3396<dd>
3397<p>
3398 Specify the default pack index version. Valid values are 1 for
3399 legacy pack index used by Git versions prior to 1.5.2, and 2 for
3400 the new pack index with capabilities for packs larger than 4 GB
3401 as well as proper protection against the repacking of corrupted
Junio C Hamanofce7c7e2008-07-02 03:06:383402 packs. Version 2 is the default. Note that version 2 is enforced
3403 and this config option ignored whenever the corresponding pack is
3404 larger than 2 GB.
Junio C Hamanod814b6d2007-11-04 11:13:493405</p>
Junio C Hamanoba4b9282008-07-06 05:20:313406<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:383407cloning or fetching over a non native protocol (e.g. "http" and "rsync")
3408that will copy both <tt>&#42;.pack</tt> file and corresponding <tt>&#42;.idx</tt> file from the
3409other side may give you a repository that cannot be accessed with your
3410older version of git. If the <tt>&#42;.pack</tt> file is smaller than 2 GB, however,
3411you 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:313412the <tt>&#42;.idx</tt> file.</p></div>
Junio C Hamanod814b6d2007-11-04 11:13:493413</dd>
Junio C Hamano09a926d2008-03-13 07:55:293414<dt>
3415pack.packSizeLimit
3416</dt>
3417<dd>
3418<p>
Junio C Hamano4d979582010-02-04 06:27:293419 The maximum size of a pack. This setting only affects
3420 packing to a file when repacking, i.e. the git:// protocol
3421 is unaffected. It can be overridden by the <tt>--max-pack-size</tt>
3422 option of <a href="git-repack.html">git-repack(1)</a>. The minimum size allowed is
3423 limited to 1 MiB. The default is unlimited.
3424 Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are
3425 supported.
Junio C Hamano09a926d2008-03-13 07:55:293426</p>
3427</dd>
Junio C Hamanod814b6d2007-11-04 11:13:493428<dt>
Junio C Hamano9e96a1a2008-08-16 10:23:183429pager.&lt;cmd&gt;
3430</dt>
3431<dd>
3432<p>
Junio C Hamano0551f6a2008-08-25 00:33:333433 Allows turning on or off pagination of the output of a
3434 particular git subcommand when writing to a tty. If
3435 <tt>--paginate</tt> or <tt>--no-pager</tt> is specified on the command line,
3436 it takes precedence over this option. To disable pagination for
Junio C Hamanoea82cff2009-03-18 01:54:483437 all commands, set <tt>core.pager</tt> or <tt>GIT_PAGER</tt> to <tt>cat</tt>.
Junio C Hamano9e96a1a2008-08-16 10:23:183438</p>
3439</dd>
3440<dt>
Junio C Hamanoa574a092010-06-13 19:57:103441pretty.&lt;name&gt;
3442</dt>
3443<dd>
3444<p>
3445 Alias for a --pretty= format string, as specified in
3446 <a href="git-log.html">git-log(1)</a>. Any aliases defined here can be used just
3447 as the built-in pretty formats could. For example,
3448 running <tt>git config pretty.changelog "format:&#42; %H %s"</tt>
3449 would cause the invocation <tt>git log --pretty=changelog</tt>
3450 to be equivalent to running <tt>git log "--pretty=format:&#42; %H %s"</tt>.
3451 Note that an alias with the same name as a built-in format
3452 will be silently ignored.
3453</p>
3454</dd>
3455<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483456pull.octopus
3457</dt>
3458<dd>
3459<p>
3460 The default merge strategy to use when pulling multiple branches
3461 at once.
3462</p>
3463</dd>
3464<dt>
3465pull.twohead
3466</dt>
3467<dd>
3468<p>
3469 The default merge strategy to use when pulling a single branch.
3470</p>
3471</dd>
3472<dt>
Junio C Hamano1de75722009-03-26 08:39:383473push.default
3474</dt>
3475<dd>
3476<p>
3477 Defines the action git push should take if no refspec is given
3478 on the command line, no refspec is configured in the remote, and
3479 no refspec is implied by any of the options given on the command
Junio C Hamano0706c802009-03-30 22:34:193480 line. Possible values are:
Junio C Hamano1de75722009-03-26 08:39:383481</p>
Junio C Hamano1de75722009-03-26 08:39:383482<div class="ilist"><ul>
3483<li>
3484<p>
3485<tt>nothing</tt> do not push anything.
3486</p>
3487</li>
3488<li>
3489<p>
Junio C Hamano0706c802009-03-30 22:34:193490<tt>matching</tt> push all matching branches.
Junio C Hamano1de75722009-03-26 08:39:383491 All branches having the same name in both ends are considered to be
Junio C Hamano0706c802009-03-30 22:34:193492 matching. This is the default.
Junio C Hamano1de75722009-03-26 08:39:383493</p>
3494</li>
3495<li>
3496<p>
Junio C Hamano98e32c32009-04-13 02:39:533497<tt>tracking</tt> push the current branch to its upstream branch.
Junio C Hamano1de75722009-03-26 08:39:383498</p>
3499</li>
3500<li>
3501<p>
Junio C Hamano0706c802009-03-30 22:34:193502<tt>current</tt> push the current branch to a branch of the same name.
Junio C Hamano1de75722009-03-26 08:39:383503</p>
3504</li>
3505</ul></div>
3506</dd>
3507<dt>
Junio C Hamanoea6a7642009-03-11 23:56:193508rebase.stat
3509</dt>
3510<dd>
3511<p>
3512 Whether to show a diffstat of what changed upstream since the last
3513 rebase. False by default.
3514</p>
3515</dd>
3516<dt>
Junio C Hamano075ae872010-09-01 18:43:073517rebase.autosquash
3518</dt>
3519<dd>
3520<p>
3521 If set to true enable <em>--autosquash</em> option by default.
3522</p>
3523</dd>
3524<dt>
Junio C Hamano621e1232009-10-26 05:16:473525receive.autogc
3526</dt>
3527<dd>
3528<p>
3529 By default, git-receive-pack will run "git-gc --auto" after
3530 receiving data from git-push and updating refs. You can stop
3531 it by setting this variable to false.
3532</p>
3533</dd>
3534<dt>
Junio C Hamano4653c6f2008-11-26 22:50:203535receive.fsckObjects
3536</dt>
3537<dd>
3538<p>
3539 If it is set to true, git-receive-pack will check all received
3540 objects. It will abort in the case of a malformed object or a
3541 broken link. The result of an abort are only dangling objects.
3542 Defaults to false.
3543</p>
3544</dd>
3545<dt>
3546receive.unpackLimit
3547</dt>
3548<dd>
3549<p>
3550 If the number of objects received in a push is below this
3551 limit then the objects will be unpacked into loose object
3552 files. However if the number of received objects equals or
3553 exceeds this limit then the received pack will be stored as
3554 a pack, after adding any missing delta bases. Storing the
3555 pack from a push can make the push operation complete faster,
3556 especially on slow filesystems. If not set, the value of
3557 <tt>transfer.unpackLimit</tt> is used instead.
3558</p>
3559</dd>
3560<dt>
3561receive.denyDeletes
3562</dt>
3563<dd>
3564<p>
3565 If set to true, git-receive-pack will deny a ref update that deletes
3566 the ref. Use this to prevent such a ref deletion via a push.
3567</p>
3568</dd>
3569<dt>
Junio C Hamanob4448a82010-07-26 09:02:323570receive.denyDeleteCurrent
3571</dt>
3572<dd>
3573<p>
3574 If set to true, git-receive-pack will deny a ref update that
3575 deletes the currently checked out branch of a non-bare repository.
3576</p>
3577</dd>
3578<dt>
Junio C Hamano4653c6f2008-11-26 22:50:203579receive.denyCurrentBranch
3580</dt>
3581<dd>
3582<p>
Junio C Hamanoe97d5772010-05-19 08:13:583583 If set to true or "refuse", git-receive-pack will deny a ref update
Junio C Hamano4653c6f2008-11-26 22:50:203584 to the currently checked out branch of a non-bare repository.
3585 Such a push is potentially dangerous because it brings the HEAD
3586 out of sync with the index and working tree. If set to "warn",
3587 print a warning of such a push to stderr, but allow the push to
3588 proceed. If set to false or "ignore", allow such pushes with no
Junio C Hamanoafb395b2010-03-17 22:16:153589 message. Defaults to "refuse".
Junio C Hamano4653c6f2008-11-26 22:50:203590</p>
3591</dd>
3592<dt>
3593receive.denyNonFastForwards
3594</dt>
3595<dd>
3596<p>
3597 If set to true, git-receive-pack will deny a ref update which is
Junio C Hamano3f680f32009-11-16 02:10:543598 not a fast-forward. Use this to prevent such an update via a push,
Junio C Hamano4653c6f2008-11-26 22:50:203599 even if that push is forced. This configuration variable is
3600 set when initializing a shared repository.
3601</p>
3602</dd>
3603<dt>
Junio C Hamano621e1232009-10-26 05:16:473604receive.updateserverinfo
3605</dt>
3606<dd>
3607<p>
3608 If set to true, git-receive-pack will run git-update-server-info
3609 after receiving data from git-push and updating refs.
3610</p>
3611</dd>
3612<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483613remote.&lt;name&gt;.url
3614</dt>
3615<dd>
3616<p>
3617 The URL of a remote repository. See <a href="git-fetch.html">git-fetch(1)</a> or
3618 <a href="git-push.html">git-push(1)</a>.
3619</p>
3620</dd>
3621<dt>
Junio C Hamano0e88f3e2009-06-21 08:03:253622remote.&lt;name&gt;.pushurl
3623</dt>
3624<dd>
3625<p>
3626 The push URL of a remote repository. See <a href="git-push.html">git-push(1)</a>.
3627</p>
3628</dd>
3629<dt>
Junio C Hamano58256872007-12-04 08:31:133630remote.&lt;name&gt;.proxy
3631</dt>
3632<dd>
3633<p>
3634 For remotes that require curl (http, https and ftp), the URL to
3635 the proxy to use for that remote. Set to the empty string to
3636 disable proxying for that remote.
3637</p>
3638</dd>
3639<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483640remote.&lt;name&gt;.fetch
3641</dt>
3642<dd>
3643<p>
3644 The default set of "refspec" for <a href="git-fetch.html">git-fetch(1)</a>. See
3645 <a href="git-fetch.html">git-fetch(1)</a>.
3646</p>
3647</dd>
3648<dt>
3649remote.&lt;name&gt;.push
3650</dt>
3651<dd>
3652<p>
3653 The default set of "refspec" for <a href="git-push.html">git-push(1)</a>. See
3654 <a href="git-push.html">git-push(1)</a>.
3655</p>
3656</dd>
3657<dt>
Junio C Hamano47d68a52008-05-06 06:35:403658remote.&lt;name&gt;.mirror
3659</dt>
3660<dd>
3661<p>
3662 If true, pushing to this remote will automatically behave
3663 as if the <tt>--mirror</tt> option was given on the command line.
3664</p>
3665</dd>
3666<dt>
Junio C Hamano118d2772007-02-21 20:24:103667remote.&lt;name&gt;.skipDefaultUpdate
3668</dt>
3669<dd>
3670<p>
3671 If true, this remote will be skipped by default when updating
Junio C Hamano9df0c662009-11-23 11:09:273672 using <a href="git-fetch.html">git-fetch(1)</a> or the <tt>update</tt> subcommand of
3673 <a href="git-remote.html">git-remote(1)</a>.
3674</p>
3675</dd>
3676<dt>
3677remote.&lt;name&gt;.skipFetchAll
3678</dt>
3679<dd>
3680<p>
3681 If true, this remote will be skipped by default when updating
3682 using <a href="git-fetch.html">git-fetch(1)</a> or the <tt>update</tt> subcommand of
3683 <a href="git-remote.html">git-remote(1)</a>.
Junio C Hamano118d2772007-02-21 20:24:103684</p>
3685</dd>
3686<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483687remote.&lt;name&gt;.receivepack
3688</dt>
3689<dd>
3690<p>
3691 The default program to execute on the remote side when pushing. See
Junio C Hamano86bcccc2008-03-08 09:33:553692 option --receive-pack of <a href="git-push.html">git-push(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:483693</p>
3694</dd>
3695<dt>
3696remote.&lt;name&gt;.uploadpack
3697</dt>
3698<dd>
3699<p>
3700 The default program to execute on the remote side when fetching. See
Junio C Hamano86bcccc2008-03-08 09:33:553701 option --upload-pack of <a href="git-fetch-pack.html">git-fetch-pack(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:483702</p>
3703</dd>
3704<dt>
Junio C Hamano17dde0e2007-02-26 09:50:213705remote.&lt;name&gt;.tagopt
3706</dt>
3707<dd>
3708<p>
Junio C Hamano86bcccc2008-03-08 09:33:553709 Setting this value to --no-tags disables automatic tag following when
Junio C Hamanocc7636a2010-05-21 14:57:533710 fetching from remote &lt;name&gt;. Setting it to --tags will fetch every
3711 tag from remote &lt;name&gt;, even if they are not reachable from remote
Junio C Hamano075ae872010-09-01 18:43:073712 branch heads. Passing these flags directly to <a href="git-fetch.html">git-fetch(1)</a> can
3713 override this setting. See options --tags and --no-tags of
3714 <a href="git-fetch.html">git-fetch(1)</a>.
Junio C Hamano17dde0e2007-02-26 09:50:213715</p>
3716</dd>
3717<dt>
Junio C Hamano096dde22009-12-26 23:14:113718remote.&lt;name&gt;.vcs
3719</dt>
3720<dd>
3721<p>
3722 Setting this to a value &lt;vcs&gt; will cause git to interact with
3723 the remote with the git-remote-&lt;vcs&gt; helper.
3724</p>
3725</dd>
3726<dt>
Junio C Hamano118d2772007-02-21 20:24:103727remotes.&lt;group&gt;
3728</dt>
3729<dd>
3730<p>
3731 The list of remotes which are fetched by "git remote update
3732 &lt;group&gt;". See <a href="git-remote.html">git-remote(1)</a>.
3733</p>
3734</dd>
3735<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483736repack.usedeltabaseoffset
3737</dt>
3738<dd>
3739<p>
Junio C Hamanofce7c7e2008-07-02 03:06:383740 By default, <a href="git-repack.html">git-repack(1)</a> creates packs that use
3741 delta-base offset. If you need to share your repository with
3742 git older than version 1.4.4, either directly or via a dumb
3743 protocol such as http, then you need to set this option to
3744 "false" and repack. Access from old git versions over the
3745 native protocol are unaffected by this option.
Junio C Hamano7ad22dc2007-01-29 02:55:483746</p>
3747</dd>
3748<dt>
Junio C Hamano4653c6f2008-11-26 22:50:203749rerere.autoupdate
3750</dt>
3751<dd>
3752<p>
3753 When set to true, <tt>git-rerere</tt> updates the index with the
3754 resulting contents after it cleanly resolves conflicts using
3755 previously recorded resolution. Defaults to false.
3756</p>
3757</dd>
3758<dt>
3759rerere.enabled
3760</dt>
3761<dd>
3762<p>
3763 Activate recording of resolved conflicts, so that identical
3764 conflict hunks can be resolved automatically, should they
3765 be encountered again. <a href="git-rerere.html">git-rerere(1)</a> command is by
3766 default enabled if you create <tt>rr-cache</tt> directory under
3767 <tt>$GIT_DIR</tt>, but can be disabled by setting this option to false.
3768</p>
3769</dd>
3770<dt>
Junio C Hamano1bbd0f42009-07-23 06:20:293771sendemail.identity
3772</dt>
3773<dd>
3774<p>
3775 A configuration identity. When given, causes values in the
3776 <em>sendemail.&lt;identity&gt;</em> subsection to take precedence over
3777 values in the <em>sendemail</em> section. The default identity is
3778 the value of <em>sendemail.identity</em>.
3779</p>
3780</dd>
3781<dt>
3782sendemail.smtpencryption
3783</dt>
3784<dd>
3785<p>
3786 See <a href="git-send-email.html">git-send-email(1)</a> for description. Note that this
3787 setting is not subject to the <em>identity</em> mechanism.
3788</p>
3789</dd>
3790<dt>
3791sendemail.smtpssl
3792</dt>
3793<dd>
3794<p>
3795 Deprecated alias for <em>sendemail.smtpencryption = ssl</em>.
3796</p>
3797</dd>
3798<dt>
3799sendemail.&lt;identity&gt;.*
3800</dt>
3801<dd>
3802<p>
3803 Identity-specific versions of the <em>sendemail.*</em> parameters
3804 found below, taking precedence over those when the this
3805 identity is selected, through command-line or
3806 <em>sendemail.identity</em>.
3807</p>
3808</dd>
3809<dt>
3810sendemail.aliasesfile
3811</dt>
3812<dt>
3813sendemail.aliasfiletype
3814</dt>
3815<dt>
3816sendemail.bcc
3817</dt>
3818<dt>
3819sendemail.cc
3820</dt>
3821<dt>
3822sendemail.cccmd
3823</dt>
3824<dt>
3825sendemail.chainreplyto
3826</dt>
3827<dt>
3828sendemail.confirm
3829</dt>
3830<dt>
3831sendemail.envelopesender
3832</dt>
3833<dt>
3834sendemail.from
3835</dt>
3836<dt>
3837sendemail.multiedit
3838</dt>
3839<dt>
3840sendemail.signedoffbycc
3841</dt>
3842<dt>
3843sendemail.smtppass
3844</dt>
3845<dt>
3846sendemail.suppresscc
3847</dt>
3848<dt>
3849sendemail.suppressfrom
3850</dt>
3851<dt>
3852sendemail.to
3853</dt>
3854<dt>
Junio C Hamanocb39aea2010-05-09 07:24:483855sendemail.smtpdomain
3856</dt>
3857<dt>
Junio C Hamano1bbd0f42009-07-23 06:20:293858sendemail.smtpserver
3859</dt>
3860<dt>
3861sendemail.smtpserverport
3862</dt>
3863<dt>
3864sendemail.smtpuser
3865</dt>
3866<dt>
3867sendemail.thread
3868</dt>
3869<dt>
3870sendemail.validate
3871</dt>
3872<dd>
3873<p>
3874 See <a href="git-send-email.html">git-send-email(1)</a> for description.
3875</p>
3876</dd>
3877<dt>
3878sendemail.signedoffcc
3879</dt>
3880<dd>
3881<p>
3882 Deprecated alias for <em>sendemail.signedoffbycc</em>.
3883</p>
3884</dd>
3885<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483886showbranch.default
3887</dt>
3888<dd>
3889<p>
3890 The default set of branches for <a href="git-show-branch.html">git-show-branch(1)</a>.
3891 See <a href="git-show-branch.html">git-show-branch(1)</a>.
3892</p>
3893</dd>
3894<dt>
Junio C Hamano942b35e2007-12-09 10:19:333895status.relativePaths
3896</dt>
3897<dd>
3898<p>
3899 By default, <a href="git-status.html">git-status(1)</a> shows paths relative to the
3900 current directory. Setting this variable to <tt>false</tt> shows paths
3901 relative to the repository root (this was the default for git
3902 prior to v1.5.4).
3903</p>
3904</dd>
3905<dt>
Junio C Hamano4224f992008-06-23 07:14:083906status.showUntrackedFiles
3907</dt>
3908<dd>
3909<p>
3910 By default, <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a> show
3911 files which are not currently tracked by Git. Directories which
3912 contain only untracked files, are shown with the directory name
3913 only. Showing untracked files means that Git needs to lstat() all
3914 all the files in the whole repository, which might be slow on some
3915 systems. So, this variable controls how the commands displays
3916 the untracked files. Possible values are:
3917</p>
Junio C Hamanoba4b9282008-07-06 05:20:313918<div class="ilist"><ul>
Junio C Hamano4224f992008-06-23 07:14:083919<li>
3920<p>
3921<em>no</em> - Show no untracked files
3922</p>
3923</li>
3924<li>
3925<p>
3926<em>normal</em> - Shows untracked files and directories
3927</p>
3928</li>
3929<li>
3930<p>
3931<em>all</em> - Shows also individual files in untracked directories.
3932</p>
3933</li>
Junio C Hamanoba4b9282008-07-06 05:20:313934</ul></div>
3935<div class="para"><p>If this variable is not specified, it defaults to <em>normal</em>.
Junio C Hamano4224f992008-06-23 07:14:083936This variable can be overridden with the -u|--untracked-files option
Junio C Hamanoba4b9282008-07-06 05:20:313937of <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:083938</dd>
3939<dt>
Junio C Hamanob671fb52010-06-01 05:06:143940status.submodulesummary
3941</dt>
3942<dd>
3943<p>
3944 Defaults to false.
3945 If this is set to a non zero number or true (identical to -1 or an
3946 unlimited number), the submodule summary will be enabled and a
3947 summary of commits for modified submodules will be shown (see
3948 --summary-limit option of <a href="git-submodule.html">git-submodule(1)</a>).
3949</p>
3950</dd>
3951<dt>
Junio C Hamano78e3a782010-07-15 22:24:453952submodule.&lt;name&gt;.path
3953</dt>
3954<dt>
3955submodule.&lt;name&gt;.url
3956</dt>
3957<dt>
3958submodule.&lt;name&gt;.update
3959</dt>
3960<dd>
3961<p>
3962 The path within this project, URL, and the updating strategy
3963 for a submodule. These variables are initially populated
3964 by <em>git submodule init</em>; edit them to override the
3965 URL and other values found in the <tt>.gitmodules</tt> file. See
3966 <a href="git-submodule.html">git-submodule(1)</a> and <a href="gitmodules.html">gitmodules(5)</a> for details.
3967</p>
3968</dd>
3969<dt>
Junio C Hamano619596a2010-08-18 22:15:353970submodule.&lt;name&gt;.ignore
3971</dt>
3972<dd>
3973<p>
3974 Defines under what circumstances "git status" and the diff family show
3975 a submodule as modified. When set to "all", it will never be considered
3976 modified, "dirty" will ignore all changes to the submodules work tree and
3977 takes only differences between the HEAD of the submodule and the commit
3978 recorded in the superproject into account. "untracked" will additionally
3979 let submodules with modified tracked files in their work tree show up.
3980 Using "none" (the default when this option is not set) also shows
3981 submodules that have untracked files in their work tree as changed.
3982 This setting overrides any setting made in .gitmodules for this submodule,
Junio C Hamanode9745c2010-08-23 17:10:183983 both settings can be overridden on the command line by using the
Junio C Hamano619596a2010-08-18 22:15:353984 "--ignore-submodules" option.
3985</p>
3986</dd>
3987<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483988tar.umask
3989</dt>
3990<dd>
3991<p>
Junio C Hamanobdebabb2007-08-23 00:25:093992 This variable can be used to restrict the permission bits of
3993 tar archive entries. The default is 0002, which turns off the
3994 world write bit. The special value "user" indicates that the
3995 archiving user's umask will be used instead. See umask(2) and
3996 <a href="git-archive.html">git-archive(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:483997</p>
3998</dd>
3999<dt>
Junio C Hamano4653c6f2008-11-26 22:50:204000transfer.unpackLimit
4001</dt>
4002<dd>
4003<p>
4004 When <tt>fetch.unpackLimit</tt> or <tt>receive.unpackLimit</tt> are
4005 not set, the value of this variable is used instead.
4006 The default value is 100.
4007</p>
4008</dd>
4009<dt>
Junio C Hamano24bc09a2008-02-28 00:27:444010url.&lt;base&gt;.insteadOf
4011</dt>
4012<dd>
4013<p>
4014 Any URL that starts with this value will be rewritten to
4015 start, instead, with &lt;base&gt;. In cases where some site serves a
4016 large number of repositories, and serves them with multiple
4017 access methods, and some users need to use different access
4018 methods, this feature allows people to specify any of the
4019 equivalent URLs and have git automatically rewrite the URL to
4020 the best alternative for the particular user, even for a
4021 never-before-seen repository on the site. When more than one
4022 insteadOf strings match a given URL, the longest match is used.
4023</p>
4024</dd>
4025<dt>
Junio C Hamano7df6dcf2009-09-13 09:51:174026url.&lt;base&gt;.pushInsteadOf
4027</dt>
4028<dd>
4029<p>
4030 Any URL that starts with this value will not be pushed to;
4031 instead, it will be rewritten to start with &lt;base&gt;, and the
4032 resulting URL will be pushed to. In cases where some site serves
4033 a large number of repositories, and serves them with multiple
4034 access methods, some of which do not allow push, this feature
4035 allows people to specify a pull-only URL and have git
4036 automatically use an appropriate URL to push, even for a
4037 never-before-seen repository on the site. When more than one
4038 pushInsteadOf strings match a given URL, the longest match is
4039 used. If a remote has an explicit pushurl, git will ignore this
4040 setting for that remote.
4041</p>
4042</dd>
4043<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:484044user.email
4045</dt>
4046<dd>
4047<p>
4048 Your email address to be recorded in any newly created commits.
Junio C Hamano469d60e2007-04-29 18:30:344049 Can be overridden by the <em>GIT_AUTHOR_EMAIL</em>, <em>GIT_COMMITTER_EMAIL</em>, and
4050 <em>EMAIL</em> environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:484051</p>
4052</dd>
4053<dt>
4054user.name
4055</dt>
4056<dd>
4057<p>
4058 Your full name to be recorded in any newly created commits.
4059 Can be overridden by the <em>GIT_AUTHOR_NAME</em> and <em>GIT_COMMITTER_NAME</em>
4060 environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
4061</p>
4062</dd>
4063<dt>
4064user.signingkey
4065</dt>
4066<dd>
4067<p>
4068 If <a href="git-tag.html">git-tag(1)</a> is not selecting the key you want it to
4069 automatically when creating a signed tag, you can override the
4070 default selection with this variable. This option is passed
4071 unchanged to gpg's --local-user parameter, so you may specify a key
4072 using any method that gpg supports.
4073</p>
4074</dd>
4075<dt>
Junio C Hamano4e272312008-01-08 09:13:214076web.browser
4077</dt>
4078<dd>
4079<p>
4080 Specify a web browser that may be used by some commands.
4081 Currently only <a href="git-instaweb.html">git-instaweb(1)</a> and <a href="git-help.html">git-help(1)</a>
4082 may use it.
4083</p>
4084</dd>
Junio C Hamanoba4b9282008-07-06 05:20:314085</dl></div>
Junio C Hamano7ad22dc2007-01-29 02:55:484086</div>
Junio C Hamanoba4b9282008-07-06 05:20:314087<h2 id="_author">Author</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:484088<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:314089<div class="para"><p>Written by Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:484090</div>
Junio C Hamanoba4b9282008-07-06 05:20:314091<h2 id="_documentation">Documentation</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:484092<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:314093<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:484094</div>
Junio C Hamanoba4b9282008-07-06 05:20:314095<h2 id="_git">GIT</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:484096<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:314097<div class="para"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:484098</div>
4099<div id="footer">
4100<div id="footer-text">
Junio C Hamano3b4609d2010-09-30 00:04:344101Last updated 2010-09-30 00:02:53 UTC
Junio C Hamano7ad22dc2007-01-29 02:55:484102</div>
4103</div>
4104</body>
4105</html>