blob: 5b338e4eb7023d33cde37b89542d62d0a6ca7171 [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>
350<div class="para"><p>The type specifier can be either <em>--int</em> or <em>--bool</em>, which will make
351<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 Hamanod526ba92007-07-02 00:17:42353a "true" or "false" string for bool). If no type specifier is passed,
Junio C Hamanoba4b9282008-07-06 05:20:31354no checks or transformations are performed on the value.</p></div>
355<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:39356which specify where the values will be read from or written to.
357The default is to assume the config file of the current repository,
358.git/config unless defined otherwise with GIT_DIR and GIT_CONFIG
Junio C Hamanoba4b9282008-07-06 05:20:31359(see <a href="#FILES">[FILES]</a>).</p></div>
360<div class="para"><p>This command will fail if:</p></div>
361<div class="olist"><ol>
Junio C Hamano7ad22dc2007-01-29 02:55:48362<li>
363<p>
Junio C Hamano0ddc94d2007-08-01 08:42:39364The config file is invalid,
Junio C Hamano7ad22dc2007-01-29 02:55:48365</p>
366</li>
367<li>
368<p>
Junio C Hamano0ddc94d2007-08-01 08:42:39369Can not write to the config file,
Junio C Hamano7ad22dc2007-01-29 02:55:48370</p>
371</li>
372<li>
373<p>
374no section was provided,
375</p>
376</li>
377<li>
378<p>
379the section or key is invalid,
380</p>
381</li>
382<li>
383<p>
384you try to unset an option which does not exist,
385</p>
386</li>
387<li>
388<p>
389you try to unset/set an option for which multiple lines match, or
390</p>
391</li>
392<li>
393<p>
Junio C Hamano6fddfe52007-05-31 07:38:19394you use <em>--global</em> option without $HOME being properly set.
Junio C Hamano7ad22dc2007-01-29 02:55:48395</p>
396</li>
Junio C Hamanoba4b9282008-07-06 05:20:31397</ol></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48398</div>
Junio C Hamanoba4b9282008-07-06 05:20:31399<h2 id="_options">OPTIONS</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48400<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31401<div class="vlist"><dl>
Junio C Hamano7ad22dc2007-01-29 02:55:48402<dt>
403--replace-all
404</dt>
405<dd>
406<p>
407 Default behavior is to replace at most one line. This replaces
408 all lines matching the key (and optionally the value_regex).
409</p>
410</dd>
411<dt>
412--add
413</dt>
414<dd>
415<p>
416 Adds a new line to the option without altering any existing
417 values. This is the same as providing <em>^$</em> as the value_regex.
418</p>
419</dd>
420<dt>
421--get
422</dt>
423<dd>
424<p>
425 Get the value for a given key (optionally filtered by a regex
426 matching the value). Returns error code 1 if the key was not
427 found and error code 2 if multiple key values were found.
428</p>
429</dd>
430<dt>
431--get-all
432</dt>
433<dd>
434<p>
435 Like get, but does not fail if the number of values for the key
436 is not exactly one.
437</p>
438</dd>
439<dt>
440--get-regexp
441</dt>
442<dd>
443<p>
444 Like --get-all, but interprets the name as a regular expression.
Junio C Hamanoddc5ad42007-06-27 07:14:52445 Also outputs the key names.
Junio C Hamano7ad22dc2007-01-29 02:55:48446</p>
447</dd>
448<dt>
449--global
450</dt>
451<dd>
452<p>
Junio C Hamano6fddfe52007-05-31 07:38:19453 For writing options: write to global ~/.gitconfig file rather than
454 the repository .git/config.
Junio C Hamano7ad22dc2007-01-29 02:55:48455</p>
Junio C Hamanoba4b9282008-07-06 05:20:31456<div class="para"><p>For reading options: read only from global ~/.gitconfig rather than
457from all available files.</p></div>
458<div class="para"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48459</dd>
460<dt>
Junio C Hamano81c711d2007-04-20 07:20:14461--system
462</dt>
463<dd>
464<p>
Junio C Hamano6fddfe52007-05-31 07:38:19465 For writing options: write to system-wide $(prefix)/etc/gitconfig
466 rather than the repository .git/config.
Junio C Hamano81c711d2007-04-20 07:20:14467</p>
Junio C Hamanoba4b9282008-07-06 05:20:31468<div class="para"><p>For reading options: read only from system-wide $(prefix)/etc/gitconfig
469rather than from all available files.</p></div>
470<div class="para"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
Junio C Hamano81c711d2007-04-20 07:20:14471</dd>
472<dt>
Junio C Hamanoeb415992008-06-08 22:49:47473-f config-file
474</dt>
475<dt>
476--file config-file
Junio C Hamano0ddc94d2007-08-01 08:42:39477</dt>
478<dd>
479<p>
480 Use the given config file instead of the one specified by GIT_CONFIG.
481</p>
482</dd>
483<dt>
Junio C Hamanod15328a2007-03-09 09:06:40484--remove-section
485</dt>
486<dd>
487<p>
488 Remove the given section from the configuration file.
489</p>
490</dd>
491<dt>
492--rename-section
493</dt>
494<dd>
495<p>
496 Rename the given section to a new name.
497</p>
498</dd>
499<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:48500--unset
501</dt>
502<dd>
503<p>
504 Remove the line matching the key from config file.
505</p>
506</dd>
507<dt>
508--unset-all
509</dt>
510<dd>
511<p>
Junio C Hamano10557772007-03-15 07:12:30512 Remove all lines matching the key from config file.
Junio C Hamano7ad22dc2007-01-29 02:55:48513</p>
514</dd>
515<dt>
Junio C Hamanoeb415992008-06-08 22:49:47516-l
517</dt>
518<dt>
519--list
Junio C Hamano7ad22dc2007-01-29 02:55:48520</dt>
521<dd>
522<p>
523 List all variables set in config file.
524</p>
525</dd>
526<dt>
527--bool
528</dt>
529<dd>
530<p>
Junio C Hamanoba4b9282008-07-06 05:20:31531 <em>git-config</em> will ensure that the output is "true" or "false"
Junio C Hamano7ad22dc2007-01-29 02:55:48532</p>
533</dd>
534<dt>
535--int
536</dt>
537<dd>
538<p>
Junio C Hamanoba4b9282008-07-06 05:20:31539 <em>git-config</em> will ensure that the output is a simple
Junio C Hamano7ad22dc2007-01-29 02:55:48540 decimal number. An optional value suffix of <em>k</em>, <em>m</em>, or <em>g</em>
541 in the config file will cause the value to be multiplied
542 by 1024, 1048576, or 1073741824 prior to output.
543</p>
544</dd>
Junio C Hamanoddc5ad42007-06-27 07:14:52545<dt>
Junio C Hamano792c5a92009-03-08 08:45:13546--bool-or-int
547</dt>
548<dd>
549<p>
550 <em>git-config</em> will ensure that the output matches the format of
551 either --bool or --int, as described above.
552</p>
553</dd>
554<dt>
Junio C Hamanoeb415992008-06-08 22:49:47555-z
556</dt>
557<dt>
558--null
Junio C Hamanoddc5ad42007-06-27 07:14:52559</dt>
560<dd>
561<p>
562 For all options that output values and/or keys, always
Junio C Hamano1f511962008-01-30 08:28:52563 end values with the null character (instead of a
Junio C Hamanoddc5ad42007-06-27 07:14:52564 newline). Use newline instead as a delimiter between
565 key and value. This allows for secure parsing of the
566 output without getting confused e.g. by values that
567 contain line breaks.
568</p>
569</dd>
Junio C Hamano0c999702007-12-03 09:57:55570<dt>
Junio C Hamano00b8b632007-12-07 09:50:49571--get-colorbool name [stdout-is-tty]
572</dt>
573<dd>
574<p>
575 Find the color setting for <tt>name</tt> (e.g. <tt>color.diff</tt>) and output
576 "true" or "false". <tt>stdout-is-tty</tt> should be either "true" or
577 "false", and is taken into account when configuration says
578 "auto". If <tt>stdout-is-tty</tt> is missing, then checks the standard
579 output of the command itself, and exits with status 0 if color
580 is to be used, or exits with status 1 otherwise.
Junio C Hamanoe3ddb5b2008-04-21 00:48:07581 When the color setting for <tt>name</tt> is undefined, the command uses
582 <tt>color.ui</tt> as fallback.
Junio C Hamano00b8b632007-12-07 09:50:49583</p>
584</dd>
585<dt>
Junio C Hamano0c999702007-12-03 09:57:55586--get-color name default
587</dt>
588<dd>
589<p>
590 Find the color configured for <tt>name</tt> (e.g. <tt>color.diff.new</tt>) and
591 output it as the ANSI color escape sequence to the standard
592 output. The optional <tt>default</tt> parameter is used instead, if
593 there is no color configured for <tt>name</tt>.
594</p>
595</dd>
Junio C Hamano0a235222009-03-06 08:21:09596<dt>
597-e
598</dt>
599<dt>
600--edit
601</dt>
602<dd>
603<p>
604 Opens an editor to modify the specified config file; either
605 <em>--system</em>, <em>--global</em>, or repository (default).
606</p>
607</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31608</dl></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48609</div>
Junio C Hamanoba4b9282008-07-06 05:20:31610<h2 id="FILES">FILES</h2>
Junio C Hamano6fddfe52007-05-31 07:38:19611<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31612<div class="para"><p>If not set explicitly with <em>--file</em>, there are three files where
613<em>git-config</em> will search for configuration options:</p></div>
614<div class="vlist"><dl>
Junio C Hamano6fddfe52007-05-31 07:38:19615<dt>
Junio C Hamano58155b42007-09-15 07:46:14616$GIT_DIR/config
617</dt>
618<dd>
619<p>
620 Repository specific configuration file. (The filename is
621 of course relative to the repository root, not the working
622 directory.)
623</p>
624</dd>
625<dt>
Junio C Hamano6fddfe52007-05-31 07:38:19626~/.gitconfig
627</dt>
628<dd>
629<p>
630 User-specific configuration file. Also called "global"
631 configuration file.
632</p>
633</dd>
634<dt>
635$(prefix)/etc/gitconfig
636</dt>
637<dd>
638<p>
639 System-wide configuration file.
640</p>
641</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31642</dl></div>
643<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:19644files that are available. If the global or the system-wide configuration
645file are not available they will be ignored. If the repository configuration
Junio C Hamanoba4b9282008-07-06 05:20:31646file is not available or readable, <em>git-config</em> will exit with a non-zero
647error code. However, in neither case will an error message be issued.</p></div>
648<div class="para"><p>All writing options will per default write to the repository specific
Junio C Hamano6fddfe52007-05-31 07:38:19649configuration file. Note that this also affects options like <em>--replace-all</em>
Junio C Hamanoba4b9282008-07-06 05:20:31650and <em>--unset</em>. <strong><em>git-config</em> will only ever change one file at a time</strong>.</p></div>
651<div class="para"><p>You can override these rules either by command line options or by environment
Junio C Hamano6fddfe52007-05-31 07:38:19652variables. The <em>--global</em> and the <em>--system</em> options will limit the file used
653to the global or system-wide file respectively. The GIT_CONFIG environment
Junio C Hamanoba4b9282008-07-06 05:20:31654variable has a similar effect, but you can specify any filename you want.</p></div>
Junio C Hamano6fddfe52007-05-31 07:38:19655</div>
Junio C Hamanoba4b9282008-07-06 05:20:31656<h2 id="_environment">ENVIRONMENT</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48657<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31658<div class="vlist"><dl>
Junio C Hamano7ad22dc2007-01-29 02:55:48659<dt>
660GIT_CONFIG
661</dt>
662<dd>
663<p>
664 Take the configuration from the given file instead of .git/config.
Junio C Hamano6fddfe52007-05-31 07:38:19665 Using the "--global" option forces this to ~/.gitconfig. Using the
666 "--system" option forces this to $(prefix)/etc/gitconfig.
Junio C Hamano7ad22dc2007-01-29 02:55:48667</p>
668</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31669</dl></div>
670<div class="para"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48671</div>
Junio C Hamanoba4b9282008-07-06 05:20:31672<h2 id="EXAMPLES">EXAMPLES</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48673<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31674<div class="para"><p>Given a .git/config like this:</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48675<div class="literalblock">
676<div class="content">
677<pre><tt>#
678# This is the config file, and
679# a '#' or ';' character indicates
680# a comment
681#</tt></pre>
682</div></div>
683<div class="literalblock">
684<div class="content">
685<pre><tt>; core variables
686[core]
687 ; Don't trust file modes
688 filemode = false</tt></pre>
689</div></div>
690<div class="literalblock">
691<div class="content">
692<pre><tt>; Our diff algorithm
693[diff]
Junio C Hamano85c71572008-07-28 00:03:31694 external = /usr/local/bin/diff-wrapper
Junio C Hamano7ad22dc2007-01-29 02:55:48695 renames = true</tt></pre>
696</div></div>
697<div class="literalblock">
698<div class="content">
699<pre><tt>; Proxy settings
700[core]
Junio C Hamano7ad22dc2007-01-29 02:55:48701 gitproxy="proxy-command" for kernel.org
Junio C Hamano7ad22dc2007-01-29 02:55:48702 gitproxy=default-proxy ; for all the rest</tt></pre>
703</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31704<div class="para"><p>you can set the filemode to true with</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48705<div class="listingblock">
706<div class="content">
707<pre><tt>% git config core.filemode true</tt></pre>
708</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31709<div class="para"><p>The hypothetical proxy command entries actually have a postfix to discern
Junio C Hamano7ad22dc2007-01-29 02:55:48710what URL they apply to. Here is how to change the entry for kernel.org
Junio C Hamanoba4b9282008-07-06 05:20:31711to "ssh".</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48712<div class="listingblock">
713<div class="content">
714<pre><tt>% git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'</tt></pre>
715</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31716<div class="para"><p>This makes sure that only the key/value pair for kernel.org is replaced.</p></div>
717<div class="para"><p>To delete the entry for renames, do</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48718<div class="listingblock">
719<div class="content">
720<pre><tt>% git config --unset diff.renames</tt></pre>
721</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31722<div class="para"><p>If you want to delete an entry for a multivar (like core.gitproxy above),
723you have to provide a regex matching the value of exactly one line.</p></div>
724<div class="para"><p>To query the value for a given key, do</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48725<div class="listingblock">
726<div class="content">
727<pre><tt>% git config --get core.filemode</tt></pre>
728</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31729<div class="para"><p>or</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48730<div class="listingblock">
731<div class="content">
732<pre><tt>% git config core.filemode</tt></pre>
733</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31734<div class="para"><p>or, to query a multivar:</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48735<div class="listingblock">
736<div class="content">
737<pre><tt>% git config --get core.gitproxy "for kernel.org$"</tt></pre>
738</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31739<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:48740<div class="listingblock">
741<div class="content">
742<pre><tt>% git config --get-all core.gitproxy</tt></pre>
743</div></div>
Junio C Hamanoffb4b682008-12-13 07:35:22744<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:31745new one with</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48746<div class="listingblock">
747<div class="content">
748<pre><tt>% git config --replace-all core.gitproxy ssh</tt></pre>
749</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31750<div class="para"><p>However, if you really only want to replace the line for the default proxy,
751i.e. the one without a "for &#8230;" postfix, do something like this:</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48752<div class="listingblock">
753<div class="content">
754<pre><tt>% git config core.gitproxy ssh '! for '</tt></pre>
755</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31756<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:48757<div class="listingblock">
758<div class="content">
759<pre><tt>% git config section.key value '[!]'</tt></pre>
760</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31761<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:48762<div class="listingblock">
763<div class="content">
Junio C Hamanoc71a8732007-08-04 00:27:26764<pre><tt>% git config core.gitproxy '"proxy-command" for example.com'</tt></pre>
Junio C Hamano7ad22dc2007-01-29 02:55:48765</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31766<div class="para"><p>An example to use customized color from the configuration in your
767script:</p></div>
Junio C Hamano0c999702007-12-03 09:57:55768<div class="listingblock">
769<div class="content">
770<pre><tt>#!/bin/sh
771WS=$(git config --get-color color.diff.whitespace "blue reverse")
772RESET=$(git config --get-color "" "reset")
773echo "${WS}your whitespace color or blue reverse${RESET}"</tt></pre>
774</div></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48775</div>
Junio C Hamanoba4b9282008-07-06 05:20:31776<h2 id="_configuration_file">CONFIGURATION FILE</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48777<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31778<div class="para"><p>The git configuration file contains a number of variables that affect
Junio C Hamano7ad22dc2007-01-29 02:55:48779the git command's behavior. <tt>.git/config</tt> file for each repository
780is used to store the information for that repository, and
781<tt>$HOME/.gitconfig</tt> is used to store per user information to give
Junio C Hamano79556902007-02-24 11:15:54782fallback values for <tt>.git/config</tt> file. The file <tt>/etc/gitconfig</tt>
Junio C Hamanoba4b9282008-07-06 05:20:31783can be used to store system-wide defaults.</p></div>
784<div class="para"><p>They can be used by both the git plumbing
Junio C Hamano7ad22dc2007-01-29 02:55:48785and the porcelains. The variables are divided into sections, where
786in the fully qualified variable name the variable itself is the last
787dot-separated segment and the section name is everything before the last
788dot. The variable names are case-insensitive and only alphanumeric
Junio C Hamanoba4b9282008-07-06 05:20:31789characters are allowed. Some variables may appear multiple times.</p></div>
790<h3 id="_syntax">Syntax</h3><div style="clear:left"></div>
791<div class="para"><p>The syntax is fairly flexible and permissive; whitespaces are mostly
Junio C Hamano7ad22dc2007-01-29 02:55:48792ignored. The <em>#</em> and <em>;</em> characters begin comments to the end of line,
Junio C Hamanoba4b9282008-07-06 05:20:31793blank lines are ignored.</p></div>
794<div class="para"><p>The file consists of sections and variables. A section begins with
Junio C Hamano7ad22dc2007-01-29 02:55:48795the name of the section in square brackets and continues until the next
796section begins. Section names are not case sensitive. Only alphanumeric
Junio C Hamanoea82cff2009-03-18 01:54:48797characters, <tt>-</tt> and <tt>.</tt> are allowed in section names. Each variable
Junio C Hamano7ad22dc2007-01-29 02:55:48798must belong to some section, which means that there must be section
Junio C Hamanoba4b9282008-07-06 05:20:31799header before first setting of a variable.</p></div>
800<div class="para"><p>Sections can be further divided into subsections. To begin a subsection
Junio C Hamano7ad22dc2007-01-29 02:55:48801put its name in double quotes, separated by space from the section name,
Junio C Hamanoba4b9282008-07-06 05:20:31802in the section header, like in example below:</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48803<div class="listingblock">
804<div class="content">
805<pre><tt> [section "subsection"]
806</tt></pre>
807</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31808<div class="para"><p>Subsection names can contain any characters except newline (doublequote
Junio C Hamanoea82cff2009-03-18 01:54:48809<tt>"</tt> and backslash have to be escaped as <tt>\"</tt> and <tt>\\</tt>,
Junio C Hamanoee1e4282007-02-04 08:32:04810respectively) and are case sensitive. Section header cannot span multiple
Junio C Hamano7ad22dc2007-01-29 02:55:48811lines. Variables may belong directly to a section or to a given subsection.
812You can have <tt>[section]</tt> if you have <tt>[section "subsection"]</tt>, but you
Junio C Hamanoba4b9282008-07-06 05:20:31813don't need to.</p></div>
814<div class="para"><p>There is also (case insensitive) alternative <tt>[section.subsection]</tt> syntax.
Junio C Hamano7ad22dc2007-01-29 02:55:48815In this syntax subsection names follow the same restrictions as for section
Junio C Hamanoba4b9282008-07-06 05:20:31816name.</p></div>
817<div class="para"><p>All the other lines are recognized as setting variables, in the form
Junio C Hamano7ad22dc2007-01-29 02:55:48818<em>name = value</em>. If there is no equal sign on the line, the entire line
819is taken as <em>name</em> and the variable is recognized as boolean "true".
820The variable names are case-insensitive and only alphanumeric
Junio C Hamanoea82cff2009-03-18 01:54:48821characters and <tt>-</tt> are allowed. There can be more than one value
Junio C Hamanoba4b9282008-07-06 05:20:31822for a given variable; we say then that variable is multivalued.</p></div>
823<div class="para"><p>Leading and trailing whitespace in a variable value is discarded.
824Internal whitespace within a variable value is retained verbatim.</p></div>
825<div class="para"><p>The values following the equals sign in variable assign are all either
Junio C Hamano7ad22dc2007-01-29 02:55:48826a string, an integer, or a boolean. Boolean values may be given as yes/no,
8270/1 or true/false. Case is not significant in boolean values, when
828converting value to the canonical form using <em>--bool</em> type specifier;
Junio C Hamanoba4b9282008-07-06 05:20:31829<em>git-config</em> will ensure that the output is "true" or "false".</p></div>
830<div class="para"><p>String values may be entirely or partially enclosed in double quotes.
Junio C Hamano7ad22dc2007-01-29 02:55:48831You need to enclose variable value in double quotes if you want to
832preserve leading or trailing whitespace, or if variable value contains
833beginning of comment characters (if it contains <em>#</em> or <em>;</em>).
Junio C Hamanoea82cff2009-03-18 01:54:48834Double quote <tt>"</tt> and backslash <tt>\</tt> characters in variable value must
835be escaped: use <tt>\"</tt> for <tt>"</tt> and <tt>\\</tt> for <tt>\</tt>.</p></div>
836<div class="para"><p>The following escape sequences (beside <tt>\"</tt> and <tt>\\</tt>) are recognized:
837<tt>\n</tt> for newline character (NL), <tt>\t</tt> for horizontal tabulation (HT, TAB)
838and <tt>\b</tt> for backspace (BS). No other char escape sequence, nor octal
Junio C Hamanoba4b9282008-07-06 05:20:31839char sequences are valid.</p></div>
Junio C Hamanoea82cff2009-03-18 01:54:48840<div class="para"><p>Variable value ending in a <tt>\</tt> is continued on the next line in the
Junio C Hamanoba4b9282008-07-06 05:20:31841customary UNIX fashion.</p></div>
842<div class="para"><p>Some variables may require special value format.</p></div>
843<h3 id="_example">Example</h3><div style="clear:left"></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48844<div class="literalblock">
845<div class="content">
846<pre><tt># Core variables
847[core]
848 ; Don't trust file modes
849 filemode = false</tt></pre>
850</div></div>
851<div class="literalblock">
852<div class="content">
853<pre><tt># Our diff algorithm
854[diff]
Junio C Hamano85c71572008-07-28 00:03:31855 external = /usr/local/bin/diff-wrapper
Junio C Hamano7ad22dc2007-01-29 02:55:48856 renames = true</tt></pre>
857</div></div>
858<div class="literalblock">
859<div class="content">
860<pre><tt>[branch "devel"]
861 remote = origin
862 merge = refs/heads/devel</tt></pre>
863</div></div>
864<div class="literalblock">
865<div class="content">
866<pre><tt># Proxy settings
867[core]
Junio C Hamanoc71a8732007-08-04 00:27:26868 gitProxy="ssh" for "kernel.org"
Junio C Hamano7ad22dc2007-01-29 02:55:48869 gitProxy=default-proxy ; for the rest</tt></pre>
870</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31871<h3 id="_variables">Variables</h3><div style="clear:left"></div>
872<div class="para"><p>Note that this list is non-comprehensive and not necessarily complete.
Junio C Hamano7ad22dc2007-01-29 02:55:48873For command-specific variables, you will find a more detailed description
874in the appropriate manual page. You will find a description of non-core
Junio C Hamanoba4b9282008-07-06 05:20:31875porcelain configuration variables in the respective porcelain documentation.</p></div>
876<div class="vlist"><dl>
Junio C Hamano7ad22dc2007-01-29 02:55:48877<dt>
878core.fileMode
879</dt>
880<dd>
881<p>
882 If false, the executable bit differences between the index and
883 the working copy are ignored; useful on broken filesystems like FAT.
884 See <a href="git-update-index.html">git-update-index(1)</a>. True by default.
885</p>
886</dd>
887<dt>
Junio C Hamanoa476efa2008-10-10 15:31:42888core.ignoreCygwinFSTricks
889</dt>
890<dd>
891<p>
892 This option is only used by Cygwin implementation of Git. If false,
893 the Cygwin stat() and lstat() functions are used. This may be useful
894 if your repository consists of a few separate directories joined in
895 one hierarchy using Cygwin mount. If true, Git uses native Win32 API
896 whenever it is possible and falls back to Cygwin functions only to
897 handle symbol links. The native mode is more than twice faster than
Junio C Hamano7d06a8a2008-10-20 05:42:33898 normal Cygwin l/stat() functions. True by default, unless core.filemode
899 is true, in which case ignoreCygwinFSTricks is ignored as Cygwin's
900 POSIX emulation is required to support core.filemode.
Junio C Hamanoa476efa2008-10-10 15:31:42901</p>
902</dd>
903<dt>
Junio C Hamano90ccff32008-07-29 08:17:24904core.trustctime
905</dt>
906<dd>
907<p>
908 If false, the ctime differences between the index and the
909 working copy are ignored; useful when the inode change time
910 is regularly modified by something outside Git (file system
911 crawlers and some backup systems).
912 See <a href="git-update-index.html">git-update-index(1)</a>. True by default.
913</p>
914</dd>
915<dt>
Junio C Hamanod526ba92007-07-02 00:17:42916core.quotepath
917</dt>
918<dd>
919<p>
Junio C Hamanoba4b9282008-07-06 05:20:31920 The commands that output paths (e.g. <em>ls-files</em>,
921 <em>diff</em>), when not given the <tt>-z</tt> option, will quote
Junio C Hamanod526ba92007-07-02 00:17:42922 "unusual" characters in the pathname by enclosing the
923 pathname in a double-quote pair and with backslashes the
924 same way strings in C source code are quoted. If this
925 variable is set to false, the bytes higher than 0x80 are
926 not quoted but output as verbatim. Note that double
927 quote, backslash and control characters are always
928 quoted without <tt>-z</tt> regardless of the setting of this
929 variable.
930</p>
931</dd>
932<dt>
Junio C Hamanod9e0e5d2007-04-14 16:22:04933core.autocrlf
934</dt>
935<dd>
936<p>
937 If true, makes git convert <tt>CRLF</tt> at the end of lines in text files to
938 <tt>LF</tt> when reading from the filesystem, and convert in reverse when
939 writing to the filesystem. The variable can be set to
940 <em>input</em>, in which case the conversion happens only while
941 reading from the filesystem but files are written out with
942 <tt>LF</tt> at the end of lines. Currently, which paths to consider
943 "text" (i.e. be subjected to the autocrlf mechanism) is
944 decided purely based on the contents.
945</p>
946</dd>
947<dt>
Junio C Hamano26e590a2008-02-17 03:53:51948core.safecrlf
949</dt>
950<dd>
951<p>
952 If true, makes git check if converting <tt>CRLF</tt> as controlled by
953 <tt>core.autocrlf</tt> is reversible. Git will verify if a command
954 modifies a file in the work tree either directly or indirectly.
955 For example, committing a file followed by checking out the
956 same file should yield the original file in the work tree. If
957 this is not the case for the current setting of
958 <tt>core.autocrlf</tt>, git will reject the file. The variable can
959 be set to "warn", in which case git will only warn about an
960 irreversible conversion but continue the operation.
961</p>
Junio C Hamanoba4b9282008-07-06 05:20:31962<div class="para"><p>CRLF conversion bears a slight chance of corrupting data.
Junio C Hamano26e590a2008-02-17 03:53:51963autocrlf=true will convert CRLF to LF during commit and LF to
964CRLF during checkout. A file that contains a mixture of LF and
965CRLF before the commit cannot be recreated by git. For text
966files this is the right thing to do: it corrects line endings
967such that we have only LF line endings in the repository.
968But for binary files that are accidentally classified as text the
Junio C Hamanoba4b9282008-07-06 05:20:31969conversion can corrupt data.</p></div>
970<div class="para"><p>If you recognize such corruption early you can easily fix it by
Junio C Hamano26e590a2008-02-17 03:53:51971setting the conversion type explicitly in .gitattributes. Right
972after committing you still have the original file in your work
973tree and this file is not yet corrupted. You can explicitly tell
974git that this file is binary and git will handle the file
Junio C Hamanoba4b9282008-07-06 05:20:31975appropriately.</p></div>
976<div class="para"><p>Unfortunately, the desired effect of cleaning up text files with
Junio C Hamano26e590a2008-02-17 03:53:51977mixed line endings and the undesired effect of corrupting binary
978files cannot be distinguished. In both cases CRLFs are removed
979in an irreversible way. For text files this is the right thing
980to do because CRLFs are line endings, while for binary files
Junio C Hamanoba4b9282008-07-06 05:20:31981converting CRLFs corrupts data.</p></div>
982<div class="para"><p>Note, this safety check does not mean that a checkout will generate a
Junio C Hamano26e590a2008-02-17 03:53:51983file identical to the original file for a different setting of
984<tt>core.autocrlf</tt>, but only for the current one. For example, a text
985file with <tt>LF</tt> would be accepted with <tt>core.autocrlf=input</tt> and could
986later be checked out with <tt>core.autocrlf=true</tt>, in which case the
987resulting file would contain <tt>CRLF</tt>, although the original file
988contained <tt>LF</tt>. However, in both work trees the line endings would be
989consistent, that is either all <tt>LF</tt> or all <tt>CRLF</tt>, but never mixed. A
990file with mixed line endings would be reported by the <tt>core.safecrlf</tt>
Junio C Hamanoba4b9282008-07-06 05:20:31991mechanism.</p></div>
Junio C Hamano26e590a2008-02-17 03:53:51992</dd>
993<dt>
Junio C Hamanoaa83a7d2007-03-05 02:37:29994core.symlinks
995</dt>
996<dd>
997<p>
998 If false, symbolic links are checked out as small plain files that
999 contain the link text. <a href="git-update-index.html">git-update-index(1)</a> and
1000 <a href="git-add.html">git-add(1)</a> will not change the recorded type to regular
1001 file. Useful on filesystems like FAT that do not support
1002 symbolic links. True by default.
1003</p>
1004</dd>
1005<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481006core.gitProxy
1007</dt>
1008<dd>
1009<p>
1010 A "proxy command" to execute (as <em>command host port</em>) instead
1011 of establishing direct connection to the remote server when
1012 using the git protocol for fetching. If the variable value is
1013 in the "COMMAND for DOMAIN" format, the command is applied only
1014 on hostnames ending with the specified domain string. This variable
1015 may be set multiple times and is matched in the given order;
1016 the first match wins.
1017</p>
Junio C Hamanoba4b9282008-07-06 05:20:311018<div class="para"><p>Can be overridden by the <em>GIT_PROXY_COMMAND</em> environment variable
Junio C Hamano7ad22dc2007-01-29 02:55:481019(which always applies universally, without the special "for"
Junio C Hamanoba4b9282008-07-06 05:20:311020handling).</p></div>
Junio C Hamanoea82cff2009-03-18 01:54:481021<div class="para"><p>The special string <tt>none</tt> can be used as the proxy command to
1022specify that no proxy be used for a given domain pattern.
1023This is useful for excluding servers inside a firewall from
1024proxy use, while defaulting to a common proxy for external domains.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481025</dd>
1026<dt>
1027core.ignoreStat
1028</dt>
1029<dd>
1030<p>
Junio C Hamano054ea082008-06-01 08:26:341031 If true, commands which modify both the working tree and the index
1032 will mark the updated paths with the "assume unchanged" bit in the
1033 index. These marked files are then assumed to stay unchanged in the
1034 working copy, until you mark them otherwise manually - Git will not
1035 detect the file changes by lstat() calls. This is useful on systems
1036 where those are very slow, such as Microsoft Windows.
1037 See <a href="git-update-index.html">git-update-index(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:481038 False by default.
1039</p>
1040</dd>
1041<dt>
1042core.preferSymlinkRefs
1043</dt>
1044<dd>
1045<p>
1046 Instead of the default "symref" format for HEAD
1047 and other symbolic reference files, use symbolic links.
1048 This is sometimes needed to work with old scripts that
1049 expect HEAD to be a symbolic link.
1050</p>
1051</dd>
1052<dt>
Junio C Hamano1025e752007-02-23 07:21:261053core.bare
1054</dt>
1055<dd>
1056<p>
1057 If true this repository is assumed to be <em>bare</em> and has no
1058 working directory associated with it. If this is the case a
1059 number of commands that require a working directory will be
1060 disabled, such as <a href="git-add.html">git-add(1)</a> or <a href="git-merge.html">git-merge(1)</a>.
1061</p>
Junio C Hamanoba4b9282008-07-06 05:20:311062<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:261063<a href="git-init.html">git-init(1)</a> when the repository was created. By default a
1064repository that ends in "/.git" is assumed to be not bare (bare =
1065false), while all other repositories are assumed to be bare (bare
Junio C Hamanoba4b9282008-07-06 05:20:311066= true).</p></div>
Junio C Hamano1025e752007-02-23 07:21:261067</dd>
1068<dt>
Junio C Hamanod526ba92007-07-02 00:17:421069core.worktree
1070</dt>
1071<dd>
1072<p>
1073 Set the path to the working tree. The value will not be
1074 used in combination with repositories found automatically in
1075 a .git directory (i.e. $GIT_DIR is not set).
Junio C Hamano764a6672007-10-23 01:23:311076 This can be overridden by the GIT_WORK_TREE environment
Junio C Hamano7d575a52008-04-30 08:45:271077 variable and the <em>--work-tree</em> command line option. It can be
1078 a absolute path or relative path to the directory specified by
1079 --git-dir or GIT_DIR.
1080 Note: If --git-dir or GIT_DIR are specified but none of
1081 --work-tree, GIT_WORK_TREE and core.worktree is specified,
1082 the current working directory is regarded as the top directory
1083 of your working tree.
Junio C Hamanod526ba92007-07-02 00:17:421084</p>
1085</dd>
1086<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481087core.logAllRefUpdates
1088</dt>
1089<dd>
1090<p>
Junio C Hamanocae86272007-08-21 02:20:491091 Enable the reflog. Updates to a ref &lt;ref&gt; is logged to the file
Junio C Hamano7ad22dc2007-01-29 02:55:481092 "$GIT_DIR/logs/&lt;ref&gt;", by appending the new and old
1093 SHA1, the date/time and the reason of the update, but
1094 only when the file exists. If this configuration
1095 variable is set to true, missing "$GIT_DIR/logs/&lt;ref&gt;"
1096 file is automatically created for branch heads.
1097</p>
Junio C Hamanoba4b9282008-07-06 05:20:311098<div class="para"><p>This information can be used to determine what commit
1099was the tip of a branch "2 days ago".</p></div>
1100<div class="para"><p>This value is true by default in a repository that has
Junio C Hamano7ad22dc2007-01-29 02:55:481101a working directory associated with it, and false by
Junio C Hamanoba4b9282008-07-06 05:20:311102default in a bare repository.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481103</dd>
1104<dt>
1105core.repositoryFormatVersion
1106</dt>
1107<dd>
1108<p>
1109 Internal variable identifying the repository format and layout
1110 version.
1111</p>
1112</dd>
1113<dt>
1114core.sharedRepository
1115</dt>
1116<dd>
1117<p>
1118 When <em>group</em> (or <em>true</em>), the repository is made shareable between
1119 several users in a group (making sure all the files and objects are
1120 group-writable). When <em>all</em> (or <em>world</em> or <em>everybody</em>), the
1121 repository will be readable by all users, additionally to being
1122 group-shareable. When <em>umask</em> (or <em>false</em>), git will use permissions
Junio C Hamano2f102bb2008-04-26 02:23:371123 reported by umask(2). When <em>0xxx</em>, where <em>0xxx</em> is an octal number,
1124 files in the repository will have this mode value. <em>0xxx</em> will override
1125 user's umask value, and thus, users with a safe umask (0077) can use
1126 this option. Examples: <em>0660</em> is equivalent to <em>group</em>. <em>0640</em> is a
1127 repository that is group-readable but not group-writable.
1128 See <a href="git-init.html">git-init(1)</a>. False by default.
Junio C Hamano7ad22dc2007-01-29 02:55:481129</p>
1130</dd>
1131<dt>
1132core.warnAmbiguousRefs
1133</dt>
1134<dd>
1135<p>
1136 If true, git will warn you if the ref name you passed it is ambiguous
1137 and might match multiple refs in the .git/refs/ tree. True by default.
1138</p>
1139</dd>
1140<dt>
1141core.compression
1142</dt>
1143<dd>
1144<p>
Junio C Hamanof2ce2972007-05-20 19:12:091145 An integer -1..9, indicating a default compression level.
1146 -1 is the zlib default. 0 means no compression,
1147 and 1..9 are various speed/size tradeoffs, 9 being slowest.
Junio C Hamano2e72a942007-11-21 08:54:421148 If set, this provides a default to other compression variables,
1149 such as <em>core.loosecompression</em> and <em>pack.compression</em>.
Junio C Hamano7ad22dc2007-01-29 02:55:481150</p>
1151</dd>
1152<dt>
Junio C Hamanof2ce2972007-05-20 19:12:091153core.loosecompression
Junio C Hamano7ad22dc2007-01-29 02:55:481154</dt>
1155<dd>
1156<p>
Junio C Hamanof2ce2972007-05-20 19:12:091157 An integer -1..9, indicating the compression level for objects that
1158 are not in a pack file. -1 is the zlib default. 0 means no
1159 compression, and 1..9 are various speed/size tradeoffs, 9 being
1160 slowest. If not set, defaults to core.compression. If that is
Junio C Hamano2e72a942007-11-21 08:54:421161 not set, defaults to 1 (best speed).
Junio C Hamano7ad22dc2007-01-29 02:55:481162</p>
1163</dd>
1164<dt>
1165core.packedGitWindowSize
1166</dt>
1167<dd>
1168<p>
1169 Number of bytes of a pack file to map into memory in a
1170 single mapping operation. Larger window sizes may allow
1171 your system to process a smaller number of large pack files
1172 more quickly. Smaller window sizes will negatively affect
1173 performance due to increased calls to the operating system's
1174 memory manager, but may improve performance when accessing
1175 a large number of large pack files.
1176</p>
Junio C Hamanoba4b9282008-07-06 05:20:311177<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:481178MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should
1179be reasonable for all users/operating systems. You probably do
Junio C Hamanoba4b9282008-07-06 05:20:311180not need to adjust this value.</p></div>
1181<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:481182</dd>
1183<dt>
1184core.packedGitLimit
1185</dt>
1186<dd>
1187<p>
1188 Maximum number of bytes to map simultaneously into memory
1189 from pack files. If Git needs to access more than this many
1190 bytes at once to complete an operation it will unmap existing
1191 regions to reclaim virtual address space within the process.
1192</p>
Junio C Hamanoba4b9282008-07-06 05:20:311193<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:481194This should be reasonable for all users/operating systems, except on
Junio C Hamanoba4b9282008-07-06 05:20:311195the largest projects. You probably do not need to adjust this value.</p></div>
1196<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:481197</dd>
1198<dt>
Junio C Hamanob8c51282007-03-19 10:43:301199core.deltaBaseCacheLimit
1200</dt>
1201<dd>
1202<p>
1203 Maximum number of bytes to reserve for caching base objects
1204 that multiple deltafied objects reference. By storing the
1205 entire decompressed base objects in a cache Git is able
1206 to avoid unpacking and decompressing frequently used base
1207 objects multiple times.
1208</p>
Junio C Hamanoba4b9282008-07-06 05:20:311209<div class="para"><p>Default is 16 MiB on all platforms. This should be reasonable
Junio C Hamanob8c51282007-03-19 10:43:301210for all users/operating systems, except on the largest projects.
Junio C Hamanoba4b9282008-07-06 05:20:311211You probably do not need to adjust this value.</p></div>
1212<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:301213</dd>
1214<dt>
Junio C Hamano1d90cb02007-07-03 07:05:311215core.excludesfile
Junio C Hamano5e284b42007-05-22 07:23:371216</dt>
1217<dd>
1218<p>
1219 In addition to <em>.gitignore</em> (per-directory) and
1220 <em>.git/info/exclude</em>, git looks into this file for patterns
Junio C Hamano679d22d2007-06-02 21:13:441221 of files which are not meant to be tracked. See
1222 <a href="gitignore.html">gitignore(5)</a>.
Junio C Hamano5e284b42007-05-22 07:23:371223</p>
1224</dd>
1225<dt>
Junio C Hamanof6002a92007-07-20 10:28:221226core.editor
1227</dt>
1228<dd>
1229<p>
1230 Commands such as <tt>commit</tt> and <tt>tag</tt> that lets you edit
Junio C Hamanoa6387422007-08-25 03:54:271231 messages by launching an editor uses the value of this
Junio C Hamanof6002a92007-07-20 10:28:221232 variable when it is set, and the environment variable
1233 <tt>GIT_EDITOR</tt> is not set. The order of preference is
Junio C Hamanode9879a2007-07-22 09:33:421234 <tt>GIT_EDITOR</tt> environment, <tt>core.editor</tt>, <tt>VISUAL</tt> and
1235 <tt>EDITOR</tt> environment variables and then finally <tt>vi</tt>.
Junio C Hamanof6002a92007-07-20 10:28:221236</p>
1237</dd>
1238<dt>
Junio C Hamano28d8ede2007-07-05 05:51:381239core.pager
1240</dt>
1241<dd>
1242<p>
Junio C Hamano0551f6a2008-08-25 00:33:331243 The command that git will use to paginate output. Can
1244 be overridden with the <tt>GIT_PAGER</tt> environment
1245 variable. Note that git sets the <tt>LESS</tt> environment
1246 variable to <tt>FRSX</tt> if it is unset when it runs the
1247 pager. One can change these settings by setting the
Junio C Hamanoa476efa2008-10-10 15:31:421248 <tt>LESS</tt> variable to some other value. Alternately,
1249 these settings can be overridden on a project or
1250 global basis by setting the <tt>core.pager</tt> option.
1251 Setting <tt>core.pager</tt> has no affect on the <tt>LESS</tt>
1252 environment variable behaviour above, so if you want
1253 to override git's default settings this way, you need
1254 to be explicit. For example, to disable the S option
1255 in a backward compatible manner, set <tt>core.pager</tt>
Junio C Hamanoea82cff2009-03-18 01:54:481256 to <tt>less -+$LESS -FRX</tt>. This will be passed to the
Junio C Hamanoa476efa2008-10-10 15:31:421257 shell by git, which will translate the final command to
Junio C Hamanoea82cff2009-03-18 01:54:481258 <tt>LESS=FRSX less -+FRSX -FRX</tt>.
Junio C Hamano28d8ede2007-07-05 05:51:381259</p>
1260</dd>
1261<dt>
Junio C Hamano942b35e2007-12-09 10:19:331262core.whitespace
1263</dt>
1264<dd>
1265<p>
1266 A comma separated list of common whitespace problems to
Junio C Hamanoba4b9282008-07-06 05:20:311267 notice. <em>git-diff</em> will use <tt>color.diff.whitespace</tt> to
1268 highlight them, and <em>git-apply --whitespace=error</em> will
Junio C Hamano3db8b412008-07-26 06:45:591269 consider them as errors. You can prefix <tt>-</tt> to disable
1270 any of them (e.g. <tt>-trailing-space</tt>):
Junio C Hamano942b35e2007-12-09 10:19:331271</p>
Junio C Hamanoba4b9282008-07-06 05:20:311272<div class="ilist"><ul>
Junio C Hamano942b35e2007-12-09 10:19:331273<li>
1274<p>
1275<tt>trailing-space</tt> treats trailing whitespaces at the end of the line
1276 as an error (enabled by default).
1277</p>
1278</li>
1279<li>
1280<p>
1281<tt>space-before-tab</tt> treats a space character that appears immediately
1282 before a tab character in the initial indent part of the line as an
1283 error (enabled by default).
1284</p>
1285</li>
1286<li>
1287<p>
1288<tt>indent-with-non-tab</tt> treats a line that is indented with 8 or more
Junio C Hamano42a2e2d2007-12-16 22:13:421289 space characters as an error (not enabled by default).
Junio C Hamano942b35e2007-12-09 10:19:331290</p>
1291</li>
Junio C Hamano601f3e52008-02-25 08:40:421292<li>
1293<p>
1294<tt>cr-at-eol</tt> treats a carriage-return at the end of line as
1295 part of the line terminator, i.e. with it, <tt>trailing-space</tt>
1296 does not trigger if the character before such a carriage-return
1297 is not a whitespace (not enabled by default).
1298</p>
1299</li>
Junio C Hamanoba4b9282008-07-06 05:20:311300</ul></div>
Junio C Hamano942b35e2007-12-09 10:19:331301</dd>
1302<dt>
Junio C Hamano9eb57532008-06-26 06:33:461303core.fsyncobjectfiles
1304</dt>
1305<dd>
1306<p>
1307 This boolean will enable <em>fsync()</em> when writing object files.
1308</p>
Junio C Hamanoba4b9282008-07-06 05:20:311309<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:461310data writes properly, but can be useful for filesystems that do not use
1311journalling (traditional UNIX filesystems) or that only journal metadata
Junio C Hamanoba4b9282008-07-06 05:20:311312and not file contents (OS X's HFS+, or Linux ext3 with "data=writeback").</p></div>
Junio C Hamano9eb57532008-06-26 06:33:461313</dd>
1314<dt>
Junio C Hamano610d1762008-11-28 06:27:131315core.preloadindex
1316</dt>
1317<dd>
1318<p>
1319 Enable parallel index preload for operations like <em>git diff</em>
1320</p>
1321<div class="para"><p>This can speed up operations like <em>git diff</em> and <em>git status</em> especially
1322on filesystems like NFS that have weak caching semantics and thus
1323relatively high IO latencies. With this set to <em>true</em>, git will do the
1324index comparison to the filesystem data in parallel, allowing
1325overlapping IO's.</p></div>
1326</dd>
1327<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481328alias.*
1329</dt>
1330<dd>
1331<p>
1332 Command aliases for the <a href="git.html">git(1)</a> command wrapper - e.g.
1333 after defining "alias.last = cat-file commit HEAD", the invocation
1334 "git last" is equivalent to "git cat-file commit HEAD". To avoid
1335 confusion and troubles with script usage, aliases that
1336 hide existing git commands are ignored. Arguments are split by
1337 spaces, the usual shell quoting and escaping is supported.
1338 quote pair and a backslash can be used to quote them.
1339</p>
Junio C Hamanoba4b9282008-07-06 05:20:311340<div class="para"><p>If the alias expansion is prefixed with an exclamation point,
Junio C Hamano9cb74f22007-02-12 04:15:051341it will be treated as a shell command. For example, defining
1342"alias.new = !gitk --all --not ORIG_HEAD", the invocation
1343"git new" is equivalent to running the shell command
Junio C Hamanoba4b9282008-07-06 05:20:311344"gitk --all --not ORIG_HEAD".</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481345</dd>
1346<dt>
1347apply.whitespace
1348</dt>
1349<dd>
1350<p>
Junio C Hamanoba4b9282008-07-06 05:20:311351 Tells <em>git-apply</em> how to handle whitespaces, in the same way
Junio C Hamano7ad22dc2007-01-29 02:55:481352 as the <em>--whitespace</em> option. See <a href="git-apply.html">git-apply(1)</a>.
1353</p>
1354</dd>
1355<dt>
Junio C Hamano7fd84172007-05-24 07:00:321356branch.autosetupmerge
1357</dt>
1358<dd>
1359<p>
Junio C Hamanoba4b9282008-07-06 05:20:311360 Tells <em>git-branch</em> and <em>git-checkout</em> to setup new branches
Junio C Hamano24bc09a2008-02-28 00:27:441361 so that <a href="git-pull.html">git-pull(1)</a> will appropriately merge from the
1362 starting point branch. Note that even if this option is not set,
Junio C Hamano7fd84172007-05-24 07:00:321363 this behavior can be chosen per-branch using the <tt>--track</tt>
Junio C Hamano24bc09a2008-02-28 00:27:441364 and <tt>--no-track</tt> options. The valid settings are: <tt>false</tt> &#8212; no
1365 automatic setup is done; <tt>true</tt> &#8212; automatic setup is done when the
1366 starting point is a remote branch; <tt>always</tt> &#8212; automatic setup is
1367 done when the starting point is either a local branch or remote
1368 branch. This option defaults to true.
Junio C Hamano7fd84172007-05-24 07:00:321369</p>
1370</dd>
1371<dt>
Junio C Hamano869bb802008-05-12 00:29:471372branch.autosetuprebase
1373</dt>
1374<dd>
1375<p>
Junio C Hamanoba4b9282008-07-06 05:20:311376 When a new branch is created with <em>git-branch</em> or <em>git-checkout</em>
Junio C Hamano869bb802008-05-12 00:29:471377 that tracks another branch, this variable tells git to set
1378 up pull to rebase instead of merge (see "branch.&lt;name&gt;.rebase").
1379 When <tt>never</tt>, rebase is never automatically set to true.
1380 When <tt>local</tt>, rebase is set to true for tracked branches of
1381 other local branches.
1382 When <tt>remote</tt>, rebase is set to true for tracked branches of
1383 remote branches.
1384 When <tt>always</tt>, rebase will be set to true for all tracking
1385 branches.
1386 See "branch.autosetupmerge" for details on how to set up a
1387 branch to track another branch.
1388 This option defaults to never.
1389</p>
1390</dd>
1391<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481392branch.&lt;name&gt;.remote
1393</dt>
1394<dd>
1395<p>
Junio C Hamano0706c802009-03-30 22:34:191396 When in branch &lt;name&gt;, it tells <em>git-fetch</em> and <em>git-push</em> which
1397 remote to fetch from/push to. It defaults to <tt>origin</tt> if no remote is
1398 configured. <tt>origin</tt> is also used if you are not on any branch.
Junio C Hamano7ad22dc2007-01-29 02:55:481399</p>
1400</dd>
1401<dt>
1402branch.&lt;name&gt;.merge
1403</dt>
1404<dd>
1405<p>
Junio C Hamano0706c802009-03-30 22:34:191406 Defines, together with branch.&lt;name&gt;.remote, the upstream branch
1407 for the given branch. It tells <em>git-fetch</em>/<em>git-pull</em> which
Junio C Hamano5f9a6f02009-04-06 08:26:561408 branch to merge and can also affect <em>git-push</em> (see push.default).
Junio C Hamanoba4b9282008-07-06 05:20:311409 When in branch &lt;name&gt;, it tells <em>git-fetch</em> the default
Junio C Hamanoc2b47092007-10-25 06:50:311410 refspec to be marked for merging in FETCH_HEAD. The value is
1411 handled like the remote part of a refspec, and must match a
1412 ref which is fetched from the remote given by
1413 "branch.&lt;name&gt;.remote".
Junio C Hamanoba4b9282008-07-06 05:20:311414 The merge information is used by <em>git-pull</em> (which at first calls
1415 <em>git-fetch</em>) to lookup the default branch for merging. Without
1416 this option, <em>git-pull</em> defaults to merge the first refspec fetched.
Junio C Hamano7ad22dc2007-01-29 02:55:481417 Specify multiple values to get an octopus merge.
Junio C Hamanoba4b9282008-07-06 05:20:311418 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:071419 another branch in the local repository, you can point
1420 branch.&lt;name&gt;.merge to the desired branch, and use the special setting
1421 <tt>.</tt> (a period) for branch.&lt;name&gt;.remote.
Junio C Hamano7ad22dc2007-01-29 02:55:481422</p>
1423</dd>
1424<dt>
Junio C Hamano1b50ce92007-10-03 12:05:531425branch.&lt;name&gt;.mergeoptions
1426</dt>
1427<dd>
1428<p>
1429 Sets default options for merging into branch &lt;name&gt;. The syntax and
1430 supported options are equal to that of <a href="git-merge.html">git-merge(1)</a>, but
1431 option values containing whitespace characters are currently not
1432 supported.
1433</p>
1434</dd>
1435<dt>
Junio C Hamano0c999702007-12-03 09:57:551436branch.&lt;name&gt;.rebase
1437</dt>
1438<dd>
1439<p>
1440 When true, rebase the branch &lt;name&gt; on top of the fetched branch,
Junio C Hamano6d76d612008-05-09 05:46:081441 instead of merging the default branch from the default remote when
1442 "git pull" is run.
Junio C Hamano0c999702007-12-03 09:57:551443 <strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use
1444 it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a>
1445 for details).
1446</p>
1447</dd>
1448<dt>
Junio C Hamano8760ea62008-03-14 08:58:451449browser.&lt;tool&gt;.cmd
1450</dt>
1451<dd>
1452<p>
1453 Specify the command to invoke the specified browser. The
1454 specified command is evaluated in shell with the URLs passed
1455 as arguments. (See <a href="git-web--browse.html">git-web--browse(1)</a>.)
1456</p>
1457</dd>
1458<dt>
Junio C Hamanoe35a6fc2008-01-29 09:46:271459browser.&lt;tool&gt;.path
1460</dt>
1461<dd>
1462<p>
1463 Override the path for the given tool that may be used to
1464 browse HTML help (see <em>-w</em> option in <a href="git-help.html">git-help(1)</a>) or a
1465 working repository in gitweb (see <a href="git-instaweb.html">git-instaweb(1)</a>).
1466</p>
1467</dd>
1468<dt>
Junio C Hamano47b9acd2007-04-24 07:34:341469clean.requireForce
1470</dt>
1471<dd>
1472<p>
Junio C Hamano422cfec2007-11-08 08:07:451473 A boolean to make git-clean do nothing unless given -f
1474 or -n. Defaults to true.
Junio C Hamano47b9acd2007-04-24 07:34:341475</p>
1476</dd>
1477<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481478color.branch
1479</dt>
1480<dd>
1481<p>
1482 A boolean to enable/disable color in the output of
Junio C Hamano0fc8cd92007-12-06 03:26:211483 <a href="git-branch.html">git-branch(1)</a>. May be set to <tt>always</tt>,
1484 <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:481485 only when the output is to a terminal. Defaults to false.
1486</p>
1487</dd>
1488<dt>
1489color.branch.&lt;slot&gt;
1490</dt>
1491<dd>
1492<p>
1493 Use customized color for branch coloration. <tt>&lt;slot&gt;</tt> is one of
1494 <tt>current</tt> (the current branch), <tt>local</tt> (a local branch),
1495 <tt>remote</tt> (a tracking branch in refs/remotes/), <tt>plain</tt> (other
1496 refs).
1497</p>
Junio C Hamanoba4b9282008-07-06 05:20:311498<div class="para"><p>The value for these configuration variables is a list of colors (at most
Junio C Hamano7ad22dc2007-01-29 02:55:481499two) and attributes (at most one), separated by spaces. The colors
1500accepted are <tt>normal</tt>, <tt>black</tt>, <tt>red</tt>, <tt>green</tt>, <tt>yellow</tt>, <tt>blue</tt>,
1501<tt>magenta</tt>, <tt>cyan</tt> and <tt>white</tt>; the attributes are <tt>bold</tt>, <tt>dim</tt>, <tt>ul</tt>,
1502<tt>blink</tt> and <tt>reverse</tt>. The first color given is the foreground; the
1503second is the background. The position of the attribute, if any,
Junio C Hamanoba4b9282008-07-06 05:20:311504doesn't matter.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481505</dd>
1506<dt>
1507color.diff
1508</dt>
1509<dd>
1510<p>
Junio C Hamano0fc8cd92007-12-06 03:26:211511 When set to <tt>always</tt>, always use colors in patch.
1512 When false (or <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use
1513 colors only when the output is to the terminal. Defaults to false.
Junio C Hamano7ad22dc2007-01-29 02:55:481514</p>
1515</dd>
1516<dt>
1517color.diff.&lt;slot&gt;
1518</dt>
1519<dd>
1520<p>
1521 Use customized color for diff colorization. <tt>&lt;slot&gt;</tt> specifies
1522 which part of the patch to use the specified color, and is one
1523 of <tt>plain</tt> (context text), <tt>meta</tt> (metainformation), <tt>frag</tt>
1524 (hunk header), <tt>old</tt> (removed lines), <tt>new</tt> (added lines),
Junio C Hamano942b35e2007-12-09 10:19:331525 <tt>commit</tt> (commit headers), or <tt>whitespace</tt> (highlighting
1526 whitespace errors). The values of these variables may be specified as
Junio C Hamano7ad22dc2007-01-29 02:55:481527 in color.branch.&lt;slot&gt;.
1528</p>
1529</dd>
1530<dt>
Junio C Hamanod257cff2009-03-18 05:27:161531color.grep
1532</dt>
1533<dd>
1534<p>
1535 When set to <tt>always</tt>, always highlight matches. When <tt>false</tt> (or
1536 <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use color only
1537 when the output is written to the terminal. Defaults to <tt>false</tt>.
1538</p>
1539</dd>
1540<dt>
1541color.grep.external
1542</dt>
1543<dd>
1544<p>
1545 The string value of this variable is passed to an external <em>grep</em>
1546 command as a command line option if match highlighting is turned
1547 on. If set to an empty string, no option is passed at all,
1548 turning off coloring for external <em>grep</em> calls; this is the default.
1549 For GNU grep, set it to <tt>--color=always</tt> to highlight matches even
1550 when a pager is used.
1551</p>
1552</dd>
1553<dt>
1554color.grep.match
1555</dt>
1556<dd>
1557<p>
1558 Use customized color for matches. The value of this variable
1559 may be specified as in color.branch.&lt;slot&gt;. It is passed using
1560 the environment variables <em>GREP_COLOR</em> and <em>GREP_COLORS</em> when
1561 calling an external <em>grep</em>.
1562</p>
1563</dd>
1564<dt>
Junio C Hamano00b8b632007-12-07 09:50:491565color.interactive
1566</dt>
1567<dd>
1568<p>
Junio C Hamano35738e82008-01-07 07:55:461569 When set to <tt>always</tt>, always use colors for interactive prompts
Junio C Hamanoba4b9282008-07-06 05:20:311570 and displays (such as those used by "git-add --interactive").
Junio C Hamano00b8b632007-12-07 09:50:491571 When false (or <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use
1572 colors only when the output is to the terminal. Defaults to false.
1573</p>
1574</dd>
1575<dt>
1576color.interactive.&lt;slot&gt;
1577</dt>
1578<dd>
1579<p>
Junio C Hamanoba4b9282008-07-06 05:20:311580 Use customized color for <em>git-add --interactive</em>
Junio C Hamanoe5bf6c12009-02-07 21:43:101581 output. <tt>&lt;slot&gt;</tt> may be <tt>prompt</tt>, <tt>header</tt>, <tt>help</tt> or <tt>error</tt>, for
1582 four distinct types of normal output from interactive
Junio C Hamano00b8b632007-12-07 09:50:491583 programs. The values of these variables may be specified as
1584 in color.branch.&lt;slot&gt;.
1585</p>
1586</dd>
1587<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481588color.pager
1589</dt>
1590<dd>
1591<p>
1592 A boolean to enable/disable colored output when the pager is in
1593 use (default is true).
1594</p>
1595</dd>
1596<dt>
1597color.status
1598</dt>
1599<dd>
1600<p>
1601 A boolean to enable/disable color in the output of
Junio C Hamano0fc8cd92007-12-06 03:26:211602 <a href="git-status.html">git-status(1)</a>. May be set to <tt>always</tt>,
1603 <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:481604 only when the output is to a terminal. Defaults to false.
1605</p>
1606</dd>
1607<dt>
1608color.status.&lt;slot&gt;
1609</dt>
1610<dd>
1611<p>
1612 Use customized color for status colorization. <tt>&lt;slot&gt;</tt> is
1613 one of <tt>header</tt> (the header text of the status message),
1614 <tt>added</tt> or <tt>updated</tt> (files which are added but not committed),
1615 <tt>changed</tt> (files which are changed but not added in the index),
Junio C Hamanob713ff12008-05-24 01:12:301616 <tt>untracked</tt> (files which are not tracked by git), or
1617 <tt>nobranch</tt> (the color the <em>no branch</em> warning is shown in, defaulting
1618 to red). The values of these variables may be specified as in
1619 color.branch.&lt;slot&gt;.
Junio C Hamano7ad22dc2007-01-29 02:55:481620</p>
1621</dd>
1622<dt>
Junio C Hamano83d46a22008-02-21 02:29:421623color.ui
1624</dt>
1625<dd>
1626<p>
1627 When set to <tt>always</tt>, always use colors in all git commands which
1628 are capable of colored output. When false (or <tt>never</tt>), never. When
1629 set to <tt>true</tt> or <tt>auto</tt>, use colors only when the output is to the
1630 terminal. When more specific variables of color.* are set, they always
1631 take precedence over this setting. Defaults to false.
1632</p>
1633</dd>
1634<dt>
Junio C Hamano4653c6f2008-11-26 22:50:201635commit.template
1636</dt>
1637<dd>
1638<p>
1639 Specify a file to use as the template for new commit messages.
1640</p>
1641</dd>
1642<dt>
Junio C Hamanodbb64592007-09-01 11:17:391643diff.autorefreshindex
1644</dt>
1645<dd>
1646<p>
Junio C Hamanoba4b9282008-07-06 05:20:311647 When using <em>git-diff</em> to compare with work tree
Junio C Hamanodbb64592007-09-01 11:17:391648 files, do not consider stat-only change as changed.
1649 Instead, silently run <tt>git update-index --refresh</tt> to
1650 update the cached stat information for paths whose
1651 contents in the work tree match the contents in the
1652 index. This option defaults to true. Note that this
Junio C Hamanoba4b9282008-07-06 05:20:311653 affects only <em>git-diff</em> Porcelain, and not lower level
1654 <em>diff</em> commands, such as <em>git-diff-files</em>.
Junio C Hamanodbb64592007-09-01 11:17:391655</p>
1656</dd>
1657<dt>
Junio C Hamano1fbbbc12007-12-18 07:01:271658diff.external
1659</dt>
1660<dd>
1661<p>
1662 If this config variable is set, diff generation is not
1663 performed using the internal diff machinery, but using the
Junio C Hamano85c71572008-07-28 00:03:311664 given command. Can be overridden with the `GIT_EXTERNAL_DIFF'
1665 environment variable. The command is called with parameters
1666 as described under "git Diffs" in <a href="git.html">git(1)</a>. Note: if
1667 you want to use an external diff program only on a subset of
1668 your files, you might want to use <a href="gitattributes.html">gitattributes(5)</a> instead.
Junio C Hamano1fbbbc12007-12-18 07:01:271669</p>
1670</dd>
1671<dt>
Junio C Hamano5e4d8de2008-09-19 06:27:021672diff.mnemonicprefix
1673</dt>
1674<dd>
1675<p>
1676 If set, <em>git-diff</em> uses a prefix pair that is different from the
1677 standard "a/" and "b/" depending on what is being compared. When
1678 this configuration is in effect, reverse diff output also swaps
1679 the order of the prefixes:
1680</p>
1681<div class="vlist"><dl>
1682<dt>
1683<em>git-diff</em>
1684</dt>
1685<dd>
1686<p>
1687 compares the (i)ndex and the (w)ork tree;
1688</p>
1689</dd>
1690<dt>
1691<em>git-diff HEAD</em>
1692</dt>
1693<dd>
1694<p>
1695 compares a (c)ommit and the (w)ork tree;
1696</p>
1697</dd>
1698<dt>
1699<em>git diff --cached</em>
1700</dt>
1701<dd>
1702<p>
1703 compares a (c)ommit and the (i)ndex;
1704</p>
1705</dd>
1706<dt>
1707<em>git-diff HEAD:file1 file2</em>
1708</dt>
1709<dd>
1710<p>
1711 compares an (o)bject and a (w)ork tree entity;
1712</p>
1713</dd>
1714<dt>
1715<em>git diff --no-index a b</em>
1716</dt>
1717<dd>
1718<p>
1719 compares two non-git things (1) and (2).
1720</p>
1721</dd>
1722</dl></div>
1723</dd>
1724<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481725diff.renameLimit
1726</dt>
1727<dd>
1728<p>
1729 The number of files to consider when performing the copy/rename
Junio C Hamanoba4b9282008-07-06 05:20:311730 detection; equivalent to the <em>git-diff</em> option <em>-l</em>.
Junio C Hamano7ad22dc2007-01-29 02:55:481731</p>
1732</dd>
1733<dt>
1734diff.renames
1735</dt>
1736<dd>
1737<p>
1738 Tells git to detect renames. If set to any boolean value, it
1739 will enable basic rename detection. If set to "copies" or
1740 "copy", it will detect copies, as well.
1741</p>
1742</dd>
1743<dt>
Junio C Hamanobc4852e2009-01-21 10:51:141744diff.suppressBlankEmpty
Junio C Hamanof1231492008-12-22 08:27:211745</dt>
1746<dd>
1747<p>
1748 A boolean to inhibit the standard behavior of printing a space
1749 before each empty output line. Defaults to false.
1750</p>
1751</dd>
1752<dt>
Junio C Hamano3bd66e92009-04-18 06:17:561753diff.tool
1754</dt>
1755<dd>
1756<p>
1757 Controls which diff tool is used. <tt>diff.tool</tt> overrides
1758 <tt>merge.tool</tt> when used by <a href="git-difftool.html">git-difftool(1)</a> and has
1759 the same valid values as <tt>merge.tool</tt> minus "tortoisemerge"
1760 and plus "kompare".
1761</p>
1762</dd>
1763<dt>
1764difftool.&lt;tool&gt;.path
1765</dt>
1766<dd>
1767<p>
1768 Override the path for the given tool. This is useful in case
1769 your tool is not in the PATH.
1770</p>
1771</dd>
1772<dt>
1773difftool.&lt;tool&gt;.cmd
1774</dt>
1775<dd>
1776<p>
1777 Specify the command to invoke the specified diff tool.
1778 The specified command is evaluated in shell with the following
1779 variables available: <em>LOCAL</em> is set to the name of the temporary
1780 file containing the contents of the diff pre-image and <em>REMOTE</em>
1781 is set to the name of the temporary file containing the contents
1782 of the diff post-image.
1783</p>
1784</dd>
1785<dt>
1786difftool.prompt
1787</dt>
1788<dd>
1789<p>
1790 Prompt before each invocation of the diff tool.
1791</p>
1792</dd>
1793<dt>
Junio C Hamano20d47e32009-01-26 06:36:021794diff.wordRegex
1795</dt>
1796<dd>
1797<p>
1798 A POSIX Extended Regular Expression used to determine what is a "word"
1799 when performing word-by-word difference calculations. Character
1800 sequences that match the regular expression are "words", all other
1801 characters are <strong>ignorable</strong> whitespace.
1802</p>
1803</dd>
1804<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481805fetch.unpackLimit
1806</dt>
1807<dd>
1808<p>
1809 If the number of objects fetched over the git native
1810 transfer is below this
1811 limit, then the objects will be unpacked into loose object
1812 files. However if the number of received objects equals or
1813 exceeds this limit then the received pack will be stored as
1814 a pack, after adding any missing delta bases. Storing the
1815 pack from a push can make the push operation complete faster,
Junio C Hamanoe77b0152008-01-12 06:44:171816 especially on slow filesystems. If not set, the value of
1817 <tt>transfer.unpackLimit</tt> is used instead.
Junio C Hamano7ad22dc2007-01-29 02:55:481818</p>
1819</dd>
1820<dt>
Junio C Hamano8c5802d2007-11-15 00:13:361821format.numbered
1822</dt>
1823<dd>
1824<p>
Junio C Hamano7d06a8a2008-10-20 05:42:331825 A boolean which can enable or disable sequence numbers in patch
1826 subjects. It defaults to "auto" which enables it only if there
1827 is more than one patch. It can be enabled or disabled for all
1828 messages by setting it to "true" or "false". See --numbered
1829 option in <a href="git-format-patch.html">git-format-patch(1)</a>.
Junio C Hamano8c5802d2007-11-15 00:13:361830</p>
1831</dd>
1832<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481833format.headers
1834</dt>
1835<dd>
1836<p>
1837 Additional email headers to include in a patch to be submitted
1838 by mail. See <a href="git-format-patch.html">git-format-patch(1)</a>.
1839</p>
1840</dd>
1841<dt>
Junio C Hamanod4c8e112007-03-04 10:32:381842format.suffix
1843</dt>
1844<dd>
1845<p>
1846 The default for format-patch is to output files with the suffix
1847 <tt>.patch</tt>. Use this variable to change that suffix (make sure to
1848 include the dot if you want it).
1849</p>
1850</dd>
1851<dt>
Junio C Hamano86bcccc2008-03-08 09:33:551852format.pretty
1853</dt>
1854<dd>
1855<p>
1856 The default pretty format for log/show/whatchanged command,
1857 See <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>,
1858 <a href="git-whatchanged.html">git-whatchanged(1)</a>.
1859</p>
1860</dd>
1861<dt>
Junio C Hamanoea6a7642009-03-11 23:56:191862format.thread
1863</dt>
1864<dd>
1865<p>
1866 The default threading style for <em>git-format-patch</em>. Can be
1867 either a boolean value, <tt>shallow</tt> or <tt>deep</tt>. <em>Shallow</em>
1868 threading makes every mail a reply to the head of the series,
1869 where the head is chosen from the cover letter, the
1870 <tt>--in-reply-to</tt>, and the first patch mail, in this order.
1871 <em>Deep</em> threading makes every mail a reply to the previous one.
1872 A true boolean value is the same as <tt>shallow</tt>, and a false
1873 value disables threading.
1874</p>
1875</dd>
1876<dt>
Junio C Hamano5f9a6f02009-04-06 08:26:561877format.signoff
1878</dt>
1879<dd>
1880<p>
1881 A boolean value which lets you enable the <tt>-s/--signoff</tt> option of
1882 format-patch by default. <strong>Note:</strong> Adding the Signed-off-by: line to a
1883 patch should be a conscious act and means that you certify you have
1884 the rights to submit this work under the same open source license.
1885 Please see the <em>SubmittingPatches</em> document for further discussion.
1886</p>
1887</dd>
1888<dt>
Junio C Hamanof2ce2972007-05-20 19:12:091889gc.aggressiveWindow
1890</dt>
1891<dd>
1892<p>
1893 The window size parameter used in the delta compression
Junio C Hamanoba4b9282008-07-06 05:20:311894 algorithm used by <em>git-gc --aggressive</em>. This defaults
Junio C Hamanof2ce2972007-05-20 19:12:091895 to 10.
1896</p>
1897</dd>
1898<dt>
Junio C Hamano1b50ce92007-10-03 12:05:531899gc.auto
1900</dt>
1901<dd>
1902<p>
1903 When there are approximately more than this many loose
1904 objects in the repository, <tt>git gc --auto</tt> will pack them.
1905 Some Porcelain commands use this command to perform a
Junio C Hamanoe77b0152008-01-12 06:44:171906 light-weight garbage collection from time to time. The
1907 default value is 6700. Setting this to 0 disables it.
Junio C Hamano1b50ce92007-10-03 12:05:531908</p>
1909</dd>
1910<dt>
1911gc.autopacklimit
1912</dt>
1913<dd>
1914<p>
1915 When there are more than this many packs that are not
1916 marked with <tt>*.keep</tt> file in the repository, <tt>git gc
Junio C Hamanoe77b0152008-01-12 06:44:171917 --auto</tt> consolidates them into one larger pack. The
Junio C Hamano25c0b702008-03-23 09:41:371918 default value is 50. Setting this to 0 disables it.
Junio C Hamano1b50ce92007-10-03 12:05:531919</p>
1920</dd>
1921<dt>
Junio C Hamano9d52e572007-02-13 23:48:201922gc.packrefs
1923</dt>
1924<dd>
1925<p>
Junio C Hamanoba4b9282008-07-06 05:20:311926 <em>git-gc</em> does not run <tt>git pack-refs</tt> in a bare repository by
Junio C Hamano9d52e572007-02-13 23:48:201927 default so that older dumb-transport clients can still fetch
Junio C Hamanoba4b9282008-07-06 05:20:311928 from the repository. Setting this to <tt>true</tt> lets <em>git-gc</em>
1929 to run <tt>git pack-refs</tt>. Setting this to <tt>false</tt> tells
1930 <em>git-gc</em> never to run <tt>git pack-refs</tt>. The default setting is
Junio C Hamano9d52e572007-02-13 23:48:201931 <tt>notbare</tt>. Enable it only when you know you do not have to
1932 support such clients. The default setting will change to <tt>true</tt>
1933 at some stage, and setting this to <tt>false</tt> will continue to
Junio C Hamanoba4b9282008-07-06 05:20:311934 prevent <tt>git pack-refs</tt> from being run from <em>git-gc</em>.
Junio C Hamano9d52e572007-02-13 23:48:201935</p>
1936</dd>
1937<dt>
Junio C Hamano09a926d2008-03-13 07:55:291938gc.pruneexpire
1939</dt>
1940<dd>
1941<p>
Junio C Hamanoba4b9282008-07-06 05:20:311942 When <em>git-gc</em> is run, it will call <em>prune --expire 2.weeks.ago</em>.
Junio C Hamanoa3148f52009-01-14 08:49:571943 Override the grace period with this config variable. The value
1944 "now" may be used to disable this grace period and always prune
1945 unreachable objects immediately.
Junio C Hamano09a926d2008-03-13 07:55:291946</p>
1947</dd>
1948<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481949gc.reflogexpire
1950</dt>
1951<dd>
1952<p>
Junio C Hamanoba4b9282008-07-06 05:20:311953 <em>git-reflog expire</em> removes reflog entries older than
Junio C Hamano7ad22dc2007-01-29 02:55:481954 this time; defaults to 90 days.
1955</p>
1956</dd>
1957<dt>
1958gc.reflogexpireunreachable
1959</dt>
1960<dd>
1961<p>
Junio C Hamanoba4b9282008-07-06 05:20:311962 <em>git-reflog expire</em> removes reflog entries older than
Junio C Hamano7ad22dc2007-01-29 02:55:481963 this time and are not reachable from the current tip;
1964 defaults to 30 days.
1965</p>
1966</dd>
1967<dt>
1968gc.rerereresolved
1969</dt>
1970<dd>
1971<p>
1972 Records of conflicted merge you resolved earlier are
Junio C Hamanoba4b9282008-07-06 05:20:311973 kept for this many days when <em>git-rerere gc</em> is run.
Junio C Hamano7ad22dc2007-01-29 02:55:481974 The default is 60 days. See <a href="git-rerere.html">git-rerere(1)</a>.
1975</p>
1976</dd>
1977<dt>
1978gc.rerereunresolved
1979</dt>
1980<dd>
1981<p>
1982 Records of conflicted merge you have not resolved are
Junio C Hamanoba4b9282008-07-06 05:20:311983 kept for this many days when <em>git-rerere gc</em> is run.
Junio C Hamano7ad22dc2007-01-29 02:55:481984 The default is 15 days. See <a href="git-rerere.html">git-rerere(1)</a>.
1985</p>
1986</dd>
1987<dt>
Junio C Hamanoa3148f52009-01-14 08:49:571988gitcvs.commitmsgannotation
1989</dt>
1990<dd>
1991<p>
1992 Append this string to each commit message. Set to empty string
1993 to disable this feature. Defaults to "via git-CVS emulator".
1994</p>
1995</dd>
1996<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481997gitcvs.enabled
1998</dt>
1999<dd>
2000<p>
Junio C Hamanoa6387422007-08-25 03:54:272001 Whether the CVS server interface is enabled for this repository.
Junio C Hamano7ad22dc2007-01-29 02:55:482002 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2003</p>
2004</dd>
2005<dt>
2006gitcvs.logfile
2007</dt>
2008<dd>
2009<p>
Junio C Hamanoa6387422007-08-25 03:54:272010 Path to a log file where the CVS server interface well&#8230; logs
Junio C Hamano7ad22dc2007-01-29 02:55:482011 various stuff. See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2012</p>
2013</dd>
Junio C Hamano17bd2272008-09-01 06:11:172014<dt>
2015gitcvs.usecrlfattr
2016</dt>
2017<dd>
2018<p>
Junio C Hamanodfccbb02008-05-26 01:16:142019 If true, the server will look up the <tt>crlf</tt> attribute for
2020 files to determine the <em>-k</em> modes to use. If <tt>crlf</tt> is set,
2021 the <em>-k</em> mode will be left blank, so cvs clients will
2022 treat it as text. If <tt>crlf</tt> is explicitly unset, the file
Junio C Hamanocb1c44f2008-08-06 06:19:332023 will be set with <em>-kb</em> mode, which suppresses any newline munging
Junio C Hamanodfccbb02008-05-26 01:16:142024 the client might otherwise do. If <tt>crlf</tt> is not specified,
Junio C Hamano17bd2272008-09-01 06:11:172025 then <em>gitcvs.allbinary</em> is used. See <a href="gitattributes.html">gitattributes(5)</a>.
2026</p>
2027</dd>
Junio C Hamano7ad22dc2007-01-29 02:55:482028<dt>
Junio C Hamanod9e0e5d2007-04-14 16:22:042029gitcvs.allbinary
2030</dt>
2031<dd>
2032<p>
Junio C Hamanodfccbb02008-05-26 01:16:142033 This is used if <em>gitcvs.usecrlfattr</em> does not resolve
2034 the correct <em>-kb</em> mode to use. If true, all
2035 unresolved files are sent to the client in
2036 mode <em>-kb</em>. This causes the client to treat them
2037 as binary files, which suppresses any newline munging it
2038 otherwise might do. Alternatively, if it is set to "guess",
2039 then the contents of the file are examined to decide if
2040 it is binary, similar to <em>core.autocrlf</em>.
Junio C Hamanoa2ad99e2007-04-18 09:57:042041</p>
2042</dd>
2043<dt>
2044gitcvs.dbname
2045</dt>
2046<dd>
2047<p>
2048 Database used by git-cvsserver to cache revision information
2049 derived from the git repository. The exact meaning depends on the
2050 used database driver, for SQLite (which is the default driver) this
2051 is a filename. Supports variable substitution (see
2052 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). May not contain semicolons (<tt>;</tt>).
2053 Default: <em>%Ggitcvs.%m.sqlite</em>
2054</p>
2055</dd>
2056<dt>
2057gitcvs.dbdriver
2058</dt>
2059<dd>
2060<p>
2061 Used Perl DBI driver. You can specify any available driver
2062 for this here, but it might not work. git-cvsserver is tested
2063 with <em>DBD::SQLite</em>, reported to work with <em>DBD::Pg</em>, and
2064 reported <strong>not</strong> to work with <em>DBD::mysql</em>. Experimental feature.
2065 May not contain double colons (<tt>:</tt>). Default: <em>SQLite</em>.
Junio C Hamanod9e0e5d2007-04-14 16:22:042066 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2067</p>
2068</dd>
2069<dt>
Junio C Hamanoa2ad99e2007-04-18 09:57:042070gitcvs.dbuser, gitcvs.dbpass
2071</dt>
2072<dd>
2073<p>
2074 Database user and password. Only useful if setting <em>gitcvs.dbdriver</em>,
2075 since SQLite has no concept of database users and/or passwords.
2076 <em>gitcvs.dbuser</em> supports variable substitution (see
2077 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details).
2078</p>
2079</dd>
Junio C Hamanoa74efce2008-04-02 08:39:082080<dt>
2081gitcvs.dbTableNamePrefix
2082</dt>
2083<dd>
2084<p>
2085 Database table name prefix. Prepended to the names of any
2086 database tables used, allowing a single database to be used
2087 for several repositories. Supports variable substitution (see
2088 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). Any non-alphabetic
2089 characters will be replaced with underscores.
2090</p>
2091</dd>
Junio C Hamanoba4b9282008-07-06 05:20:312092</dl></div>
2093<div class="para"><p>All gitcvs variables except for <em>gitcvs.usecrlfattr</em> and
Junio C Hamanodfccbb02008-05-26 01:16:142094<em>gitcvs.allbinary</em> can also be specified as
2095<em>gitcvs.&lt;access_method&gt;.&lt;varname&gt;</em> (where <em>access_method</em>
Junio C Hamanoa6387422007-08-25 03:54:272096is one of "ext" and "pserver") to make them apply only for the given
Junio C Hamanoba4b9282008-07-06 05:20:312097access method.</p></div>
2098<div class="vlist"><dl>
Junio C Hamanoa2ad99e2007-04-18 09:57:042099<dt>
Junio C Hamano6d76d612008-05-09 05:46:082100gui.commitmsgwidth
2101</dt>
2102<dd>
2103<p>
2104 Defines how wide the commit message window is in the
2105 <a href="git-gui.html">git-gui(1)</a>. "75" is the default.
2106</p>
2107</dd>
2108<dt>
2109gui.diffcontext
2110</dt>
2111<dd>
2112<p>
2113 Specifies how many context lines should be used in calls to diff
2114 made by the <a href="git-gui.html">git-gui(1)</a>. The default is "5".
2115</p>
2116</dd>
2117<dt>
Junio C Hamanod3452a02008-11-15 08:07:552118gui.encoding
2119</dt>
2120<dd>
2121<p>
2122 Specifies the default encoding to use for displaying of
2123 file contents in <a href="git-gui.html">git-gui(1)</a> and <a href="gitk.html">gitk(1)</a>.
2124 It can be overridden by setting the <em>encoding</em> attribute
2125 for relevant files (see <a href="gitattributes.html">gitattributes(5)</a>).
2126 If this option is not set, the tools default to the
2127 locale encoding.
2128</p>
2129</dd>
2130<dt>
Junio C Hamano6d76d612008-05-09 05:46:082131gui.matchtrackingbranch
2132</dt>
2133<dd>
2134<p>
2135 Determines if new branches created with <a href="git-gui.html">git-gui(1)</a> should
2136 default to tracking remote branches with matching names or
2137 not. Default: "false".
2138</p>
2139</dd>
2140<dt>
2141gui.newbranchtemplate
2142</dt>
2143<dd>
2144<p>
2145 Is used as suggested name when creating new branches using the
2146 <a href="git-gui.html">git-gui(1)</a>.
2147</p>
2148</dd>
2149<dt>
2150gui.pruneduringfetch
2151</dt>
2152<dd>
2153<p>
2154 "true" if <a href="git-gui.html">git-gui(1)</a> should prune tracking branches when
2155 performing a fetch. The default value is "false".
2156</p>
2157</dd>
2158<dt>
2159gui.trustmtime
2160</dt>
2161<dd>
2162<p>
2163 Determines if <a href="git-gui.html">git-gui(1)</a> should trust the file modification
2164 timestamp or not. By default the timestamps are not trusted.
2165</p>
2166</dd>
2167<dt>
2168gui.spellingdictionary
2169</dt>
2170<dd>
2171<p>
2172 Specifies the dictionary used for spell checking commit messages in
2173 the <a href="git-gui.html">git-gui(1)</a>. When set to "none" spell checking is turned
2174 off.
2175</p>
2176</dd>
2177<dt>
Junio C Hamanod3452a02008-11-15 08:07:552178gui.fastcopyblame
2179</dt>
2180<dd>
2181<p>
2182 If true, <em>git gui blame</em> uses <em>-C</em> instead of <em>-C -C</em> for original
2183 location detection. It makes blame significantly faster on huge
2184 repositories at the expense of less thorough copy detection.
2185</p>
2186</dd>
2187<dt>
2188gui.copyblamethreshold
2189</dt>
2190<dd>
2191<p>
Junio C Hamano610d1762008-11-28 06:27:132192 Specifies the threshold to use in <em>git gui blame</em> original location
Junio C Hamanod3452a02008-11-15 08:07:552193 detection, measured in alphanumeric characters. See the
2194 <a href="git-blame.html">git-blame(1)</a> manual for more information on copy detection.
2195</p>
2196</dd>
2197<dt>
2198gui.blamehistoryctx
2199</dt>
2200<dd>
2201<p>
2202 Specifies the radius of history context in days to show in
2203 <a href="gitk.html">gitk(1)</a> for the selected commit, when the <tt>Show History
2204 Context</tt> menu item is invoked from <em>git gui blame</em>. If this
2205 variable is set to zero, the whole history is shown.
2206</p>
2207</dd>
2208<dt>
Junio C Hamano92d312a2008-12-15 07:22:202209guitool.&lt;name&gt;.cmd
2210</dt>
2211<dd>
2212<p>
2213 Specifies the shell command line to execute when the corresponding item
2214 of the <a href="git-gui.html">git-gui(1)</a> <tt>Tools</tt> menu is invoked. This option is
2215 mandatory for every tool. The command is executed from the root of
2216 the working directory, and in the environment it receives the name of
2217 the tool as <em>GIT_GUITOOL</em>, the name of the currently selected file as
2218 <em>FILENAME</em>, and the name of the current branch as <em>CUR_BRANCH</em> (if
2219 the head is detached, <em>CUR_BRANCH</em> is empty).
2220</p>
2221</dd>
2222<dt>
2223guitool.&lt;name&gt;.needsfile
2224</dt>
2225<dd>
2226<p>
2227 Run the tool only if a diff is selected in the GUI. It guarantees
2228 that <em>FILENAME</em> is not empty.
2229</p>
2230</dd>
2231<dt>
2232guitool.&lt;name&gt;.noconsole
2233</dt>
2234<dd>
2235<p>
2236 Run the command silently, without creating a window to display its
2237 output.
2238</p>
2239</dd>
2240<dt>
2241guitool.&lt;name&gt;.norescan
2242</dt>
2243<dd>
2244<p>
2245 Don't rescan the working directory for changes after the tool
2246 finishes execution.
2247</p>
2248</dd>
2249<dt>
2250guitool.&lt;name&gt;.confirm
2251</dt>
2252<dd>
2253<p>
2254 Show a confirmation dialog before actually running the tool.
2255</p>
2256</dd>
2257<dt>
2258guitool.&lt;name&gt;.argprompt
2259</dt>
2260<dd>
2261<p>
2262 Request a string argument from the user, and pass it to the tool
2263 through the <em>ARGS</em> environment variable. Since requesting an
2264 argument implies confirmation, the <em>confirm</em> option has no effect
2265 if this is enabled. If the option is set to <em>true</em>, <em>yes</em>, or <em>1</em>,
2266 the dialog uses a built-in generic prompt; otherwise the exact
2267 value of the variable is used.
2268</p>
2269</dd>
2270<dt>
2271guitool.&lt;name&gt;.revprompt
2272</dt>
2273<dd>
2274<p>
2275 Request a single valid revision from the user, and set the
2276 <em>REVISION</em> environment variable. In other aspects this option
2277 is similar to <em>argprompt</em>, and can be used together with it.
2278</p>
2279</dd>
2280<dt>
2281guitool.&lt;name&gt;.revunmerged
2282</dt>
2283<dd>
2284<p>
2285 Show only unmerged branches in the <em>revprompt</em> subdialog.
2286 This is useful for tools similar to merge or rebase, but not
2287 for things like checkout or reset.
2288</p>
2289</dd>
2290<dt>
2291guitool.&lt;name&gt;.title
2292</dt>
2293<dd>
2294<p>
2295 Specifies the title to use for the prompt dialog. The default
2296 is the tool name.
2297</p>
2298</dd>
2299<dt>
2300guitool.&lt;name&gt;.prompt
2301</dt>
2302<dd>
2303<p>
2304 Specifies the general prompt string to display at the top of
2305 the dialog, before subsections for <em>argprompt</em> and <em>revprompt</em>.
2306 The default value includes the actual command.
2307</p>
2308</dd>
2309<dt>
Junio C Hamano4e272312008-01-08 09:13:212310help.browser
2311</dt>
2312<dd>
2313<p>
2314 Specify the browser that will be used to display help in the
2315 <em>web</em> format. See <a href="git-help.html">git-help(1)</a>.
2316</p>
2317</dd>
2318<dt>
2319help.format
2320</dt>
2321<dd>
2322<p>
2323 Override the default help format used by <a href="git-help.html">git-help(1)</a>.
2324 Values <em>man</em>, <em>info</em>, <em>web</em> and <em>html</em> are supported. <em>man</em> is
2325 the default. <em>web</em> and <em>html</em> are the same.
2326</p>
2327</dd>
2328<dt>
Junio C Hamanof24b8062008-09-09 01:34:392329help.autocorrect
2330</dt>
2331<dd>
2332<p>
2333 Automatically correct and execute mistyped commands after
2334 waiting for the given number of deciseconds (0.1 sec). If more
2335 than one command can be deduced from the entered text, nothing
2336 will be executed. If the value of this option is negative,
2337 the corrected command will be executed immediately. If the
2338 value is 0 - the command will be just shown but not executed.
2339 This is the default.
2340</p>
2341</dd>
2342<dt>
Junio C Hamano58256872007-12-04 08:31:132343http.proxy
2344</dt>
2345<dd>
2346<p>
2347 Override the HTTP proxy, normally configured using the <em>http_proxy</em>
2348 environment variable (see <a href="curl.html">curl(1)</a>). This can be overridden
2349 on a per-remote basis; see remote.&lt;name&gt;.proxy
2350</p>
2351</dd>
2352<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482353http.sslVerify
2354</dt>
2355<dd>
2356<p>
2357 Whether to verify the SSL certificate when fetching or pushing
2358 over HTTPS. Can be overridden by the <em>GIT_SSL_NO_VERIFY</em> environment
2359 variable.
2360</p>
2361</dd>
2362<dt>
2363http.sslCert
2364</dt>
2365<dd>
2366<p>
2367 File containing the SSL certificate when fetching or pushing
2368 over HTTPS. Can be overridden by the <em>GIT_SSL_CERT</em> environment
2369 variable.
2370</p>
2371</dd>
2372<dt>
2373http.sslKey
2374</dt>
2375<dd>
2376<p>
2377 File containing the SSL private key when fetching or pushing
2378 over HTTPS. Can be overridden by the <em>GIT_SSL_KEY</em> environment
2379 variable.
2380</p>
2381</dd>
2382<dt>
2383http.sslCAInfo
2384</dt>
2385<dd>
2386<p>
2387 File containing the certificates to verify the peer with when
2388 fetching or pushing over HTTPS. Can be overridden by the
2389 <em>GIT_SSL_CAINFO</em> environment variable.
2390</p>
2391</dd>
2392<dt>
2393http.sslCAPath
2394</dt>
2395<dd>
2396<p>
2397 Path containing files with the CA certificates to verify the peer
2398 with when fetching or pushing over HTTPS. Can be overridden
2399 by the <em>GIT_SSL_CAPATH</em> environment variable.
2400</p>
2401</dd>
2402<dt>
2403http.maxRequests
2404</dt>
2405<dd>
2406<p>
2407 How many HTTP requests to launch in parallel. Can be overridden
2408 by the <em>GIT_HTTP_MAX_REQUESTS</em> environment variable. Default is 5.
2409</p>
2410</dd>
2411<dt>
2412http.lowSpeedLimit, http.lowSpeedTime
2413</dt>
2414<dd>
2415<p>
2416 If the HTTP transfer speed is less than <em>http.lowSpeedLimit</em>
2417 for longer than <em>http.lowSpeedTime</em> seconds, the transfer is aborted.
2418 Can be overridden by the <em>GIT_HTTP_LOW_SPEED_LIMIT</em> and
2419 <em>GIT_HTTP_LOW_SPEED_TIME</em> environment variables.
2420</p>
2421</dd>
2422<dt>
2423http.noEPSV
2424</dt>
2425<dd>
2426<p>
2427 A boolean which disables using of EPSV ftp command by curl.
Junio C Hamanod9e0e5d2007-04-14 16:22:042428 This can helpful with some "poor" ftp servers which don't
Junio C Hamano7ad22dc2007-01-29 02:55:482429 support EPSV mode. Can be overridden by the <em>GIT_CURL_FTP_NO_EPSV</em>
2430 environment variable. Default is false (curl will use EPSV).
2431</p>
2432</dd>
2433<dt>
2434i18n.commitEncoding
2435</dt>
2436<dd>
2437<p>
2438 Character encoding the commit messages are stored in; git itself
2439 does not care per se, but this information is necessary e.g. when
2440 importing commits from emails or in the gitk graphical history
2441 browser (and possibly at other places in the future or in other
2442 porcelains). See e.g. <a href="git-mailinfo.html">git-mailinfo(1)</a>. Defaults to <em>utf-8</em>.
2443</p>
2444</dd>
2445<dt>
2446i18n.logOutputEncoding
2447</dt>
2448<dd>
2449<p>
2450 Character encoding the commit messages are converted to when
Junio C Hamanoba4b9282008-07-06 05:20:312451 running <em>git-log</em> and friends.
Junio C Hamano7ad22dc2007-01-29 02:55:482452</p>
2453</dd>
2454<dt>
Junio C Hamano4653c6f2008-11-26 22:50:202455imap
2456</dt>
2457<dd>
2458<p>
2459 The configuration variables in the <em>imap</em> section are described
2460 in <a href="git-imap-send.html">git-imap-send(1)</a>.
2461</p>
2462</dd>
2463<dt>
Junio C Hamano4e272312008-01-08 09:13:212464instaweb.browser
2465</dt>
2466<dd>
2467<p>
2468 Specify the program that will be used to browse your working
2469 repository in gitweb. See <a href="git-instaweb.html">git-instaweb(1)</a>.
2470</p>
2471</dd>
2472<dt>
2473instaweb.httpd
2474</dt>
2475<dd>
2476<p>
2477 The HTTP daemon command-line to start gitweb on your working
2478 repository. See <a href="git-instaweb.html">git-instaweb(1)</a>.
2479</p>
2480</dd>
2481<dt>
2482instaweb.local
2483</dt>
2484<dd>
2485<p>
2486 If true the web server started by <a href="git-instaweb.html">git-instaweb(1)</a> will
2487 be bound to the local IP (127.0.0.1).
2488</p>
2489</dd>
2490<dt>
2491instaweb.modulepath
2492</dt>
2493<dd>
2494<p>
2495 The module path for an apache httpd used by <a href="git-instaweb.html">git-instaweb(1)</a>.
2496</p>
2497</dd>
2498<dt>
2499instaweb.port
2500</dt>
2501<dd>
2502<p>
2503 The port number to bind the gitweb httpd to. See
2504 <a href="git-instaweb.html">git-instaweb(1)</a>.
2505</p>
2506</dd>
2507<dt>
Junio C Hamanoe5bf6c12009-02-07 21:43:102508interactive.singlekey
2509</dt>
2510<dd>
2511<p>
2512 In interactive programs, allow the user to provide one-letter
2513 input with a single key (i.e., without hitting enter).
2514 Currently this is used only by the <tt>--patch</tt> mode of
2515 <a href="git-add.html">git-add(1)</a>. Note that this setting is silently
2516 ignored if portable keystroke input is not available.
2517</p>
2518</dd>
2519<dt>
Junio C Hamanob713ff12008-05-24 01:12:302520log.date
2521</dt>
2522<dd>
2523<p>
2524 Set default date-time mode for the log command. Setting log.date
Junio C Hamanoba4b9282008-07-06 05:20:312525 value is similar to using <em>git-log</em>'s --date option. The value is one of the
Junio C Hamanob713ff12008-05-24 01:12:302526 following alternatives: {relative,local,default,iso,rfc,short}.
2527 See <a href="git-log.html">git-log(1)</a>.
2528</p>
2529</dd>
2530<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482531log.showroot
2532</dt>
2533<dd>
2534<p>
2535 If true, the initial commit will be shown as a big creation event.
2536 This is equivalent to a diff against an empty tree.
2537 Tools like <a href="git-log.html">git-log(1)</a> or <a href="git-whatchanged.html">git-whatchanged(1)</a>, which
2538 normally hide the root commit will now show it. True by default.
2539</p>
2540</dd>
2541<dt>
Junio C Hamano8bc410e2009-02-15 10:38:192542mailmap.file
2543</dt>
2544<dd>
2545<p>
2546 The location of an augmenting mailmap file. The default
2547 mailmap, located in the root of the repository, is loaded
2548 first, then the mailmap file pointed to by this variable.
2549 The location of the mailmap file may be in a repository
2550 subdirectory, or somewhere outside of the repository itself.
2551 See <a href="git-shortlog.html">git-shortlog(1)</a> and <a href="git-blame.html">git-blame(1)</a>.
2552</p>
2553</dd>
2554<dt>
Junio C Hamano8b588d52008-03-15 09:48:372555man.viewer
2556</dt>
2557<dd>
2558<p>
2559 Specify the programs that may be used to display help in the
2560 <em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
2561</p>
2562</dd>
2563<dt>
Junio C Hamano4653c6f2008-11-26 22:50:202564man.&lt;tool&gt;.cmd
Junio C Hamano6d76d612008-05-09 05:46:082565</dt>
2566<dd>
2567<p>
Junio C Hamano4653c6f2008-11-26 22:50:202568 Specify the command to invoke the specified man viewer. The
2569 specified command is evaluated in shell with the man page
2570 passed as argument. (See <a href="git-help.html">git-help(1)</a>.)
2571</p>
2572</dd>
2573<dt>
2574man.&lt;tool&gt;.path
2575</dt>
2576<dd>
2577<p>
2578 Override the path for the given tool that may be used to
2579 display help in the <em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
2580</p>
2581</dd>
2582<dt>
2583merge.conflictstyle
2584</dt>
2585<dd>
2586<p>
2587 Specify the style in which conflicted hunks are written out to
2588 working tree files upon merge. The default is "merge", which
Junio C Hamanoec87f522008-12-10 08:35:252589 shows a <tt>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</tt> conflict marker, changes made by one side,
2590 a <tt>=======</tt> marker, changes made by the other side, and then
2591 a <tt>&gt;&gt;&gt;&gt;&gt;&gt;&gt;</tt> marker. An alternate style, "diff3", adds a <tt>|||||||</tt>
2592 marker and the original text before the <tt>=======</tt> marker.
Junio C Hamano6d76d612008-05-09 05:46:082593</p>
2594</dd>
2595<dt>
2596merge.log
Junio C Hamano7ad22dc2007-01-29 02:55:482597</dt>
2598<dd>
2599<p>
2600 Whether to include summaries of merged commits in newly created
2601 merge commit messages. False by default.
2602</p>
2603</dd>
2604<dt>
Junio C Hamano2fbcd212008-05-14 22:26:072605merge.renameLimit
2606</dt>
2607<dd>
2608<p>
2609 The number of files to consider when performing rename detection
2610 during a merge; if not specified, defaults to the value of
2611 diff.renameLimit.
2612</p>
2613</dd>
2614<dt>
Junio C Hamano4653c6f2008-11-26 22:50:202615merge.stat
2616</dt>
2617<dd>
2618<p>
2619 Whether to print the diffstat between ORIG_HEAD and the merge result
2620 at the end of the merge. True by default.
2621</p>
2622</dd>
2623<dt>
Junio C Hamano103ad7f2007-03-14 11:19:262624merge.tool
2625</dt>
2626<dd>
2627<p>
2628 Controls which merge resolution program is used by
Junio C Hamano86bcccc2008-03-08 09:33:552629 <a href="git-mergetool.html">git-mergetool(1)</a>. Valid built-in values are: "kdiff3",
Junio C Hamano3bd66e92009-04-18 06:17:562630 "tkdiff", "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff",
2631 "diffuse", "ecmerge", "tortoisemerge", and
Junio C Hamano86bcccc2008-03-08 09:33:552632 "opendiff". Any other value is treated is custom merge tool
Junio C Hamanocb1c44f2008-08-06 06:19:332633 and there must be a corresponding mergetool.&lt;tool&gt;.cmd option.
Junio C Hamano103ad7f2007-03-14 11:19:262634</p>
2635</dd>
2636<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482637merge.verbosity
2638</dt>
2639<dd>
2640<p>
2641 Controls the amount of output shown by the recursive merge
2642 strategy. Level 0 outputs nothing except a final error
2643 message if conflicts were detected. Level 1 outputs only
2644 conflicts, 2 outputs conflicts and file changes. Level 5 and
2645 above outputs debugging information. The default is level 2.
Junio C Hamanoec87f522008-12-10 08:35:252646 Can be overridden by the <em>GIT_MERGE_VERBOSITY</em> environment variable.
Junio C Hamano7ad22dc2007-01-29 02:55:482647</p>
2648</dd>
2649<dt>
Junio C Hamanoe90436a2007-04-22 07:22:132650merge.&lt;driver&gt;.name
2651</dt>
2652<dd>
2653<p>
Junio C Hamanoec87f522008-12-10 08:35:252654 Defines a human-readable name for a custom low-level
Junio C Hamanoe90436a2007-04-22 07:22:132655 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
2656</p>
2657</dd>
2658<dt>
2659merge.&lt;driver&gt;.driver
2660</dt>
2661<dd>
2662<p>
2663 Defines the command that implements a custom low-level
2664 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
2665</p>
2666</dd>
2667<dt>
2668merge.&lt;driver&gt;.recursive
2669</dt>
2670<dd>
2671<p>
2672 Names a low-level merge driver to be used when
2673 performing an internal merge between common ancestors.
2674 See <a href="gitattributes.html">gitattributes(5)</a> for details.
2675</p>
2676</dd>
2677<dt>
Junio C Hamano1fbbbc12007-12-18 07:01:272678mergetool.&lt;tool&gt;.path
2679</dt>
2680<dd>
2681<p>
2682 Override the path for the given tool. This is useful in case
2683 your tool is not in the PATH.
2684</p>
2685</dd>
2686<dt>
Junio C Hamano86bcccc2008-03-08 09:33:552687mergetool.&lt;tool&gt;.cmd
2688</dt>
2689<dd>
2690<p>
2691 Specify the command to invoke the specified merge tool. The
2692 specified command is evaluated in shell with the following
2693 variables available: <em>BASE</em> is the name of a temporary file
2694 containing the common base of the files to be merged, if available;
2695 <em>LOCAL</em> is the name of a temporary file containing the contents of
2696 the file on the current branch; <em>REMOTE</em> is the name of a temporary
2697 file containing the contents of the file from the branch being
2698 merged; <em>MERGED</em> contains the name of the file to which the merge
2699 tool should write the results of a successful merge.
2700</p>
2701</dd>
2702<dt>
2703mergetool.&lt;tool&gt;.trustExitCode
2704</dt>
2705<dd>
2706<p>
2707 For a custom merge command, specify whether the exit code of
2708 the merge command can be used to determine whether the merge was
2709 successful. If this is not set to true then the merge target file
2710 timestamp is checked and the merge assumed to have been successful
2711 if the file has been updated, otherwise the user is prompted to
2712 indicate the success of the merge.
2713</p>
2714</dd>
2715<dt>
2716mergetool.keepBackup
2717</dt>
2718<dd>
2719<p>
2720 After performing a merge, the original file with conflict markers
2721 can be saved as a file with a <tt>.orig</tt> extension. If this variable
2722 is set to <tt>false</tt> then this file is not preserved. Defaults to
2723 <tt>true</tt> (i.e. keep the backup files).
2724</p>
2725</dd>
2726<dt>
Junio C Hamano10b7a342009-01-01 22:05:172727mergetool.keepTemporaries
2728</dt>
2729<dd>
2730<p>
2731 When invoking a custom merge tool, git uses a set of temporary
2732 files to pass to the tool. If the tool returns an error and this
2733 variable is set to <tt>true</tt>, then these temporary files will be
2734 preserved, otherwise they will be removed after the tool has
2735 exited. Defaults to <tt>false</tt>.
2736</p>
2737</dd>
2738<dt>
2739mergetool.prompt
2740</dt>
2741<dd>
2742<p>
2743 Prompt before each invocation of the merge resolution program.
2744</p>
2745</dd>
2746<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482747pack.window
2748</dt>
2749<dd>
2750<p>
2751 The size of the window used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
2752 window size is given on the command line. Defaults to 10.
2753</p>
2754</dd>
2755<dt>
Junio C Hamano91d44c52007-05-09 07:16:072756pack.depth
2757</dt>
2758<dd>
2759<p>
2760 The maximum delta depth used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
2761 maximum depth is given on the command line. Defaults to 50.
2762</p>
2763</dd>
2764<dt>
Junio C Hamano235d53f2007-07-13 00:25:152765pack.windowMemory
2766</dt>
2767<dd>
2768<p>
2769 The window memory size limit used by <a href="git-pack-objects.html">git-pack-objects(1)</a>
2770 when no limit is given on the command line. The value can be
2771 suffixed with "k", "m", or "g". Defaults to 0, meaning no
2772 limit.
2773</p>
2774</dd>
2775<dt>
Junio C Hamanof2ce2972007-05-20 19:12:092776pack.compression
2777</dt>
2778<dd>
2779<p>
2780 An integer -1..9, indicating the compression level for objects
2781 in a pack file. -1 is the zlib default. 0 means no
2782 compression, and 1..9 are various speed/size tradeoffs, 9 being
2783 slowest. If not set, defaults to core.compression. If that is
Junio C Hamano2e72a942007-11-21 08:54:422784 not set, defaults to -1, the zlib default, which is "a default
2785 compromise between speed and compression (currently equivalent
2786 to level 6)."
Junio C Hamanof2ce2972007-05-20 19:12:092787</p>
2788</dd>
2789<dt>
Junio C Hamano679d22d2007-06-02 21:13:442790pack.deltaCacheSize
2791</dt>
2792<dd>
2793<p>
Junio C Hamanoa6387422007-08-25 03:54:272794 The maximum memory in bytes used for caching deltas in
Junio C Hamano679d22d2007-06-02 21:13:442795 <a href="git-pack-objects.html">git-pack-objects(1)</a>.
2796 A value of 0 means no limit. Defaults to 0.
2797</p>
2798</dd>
2799<dt>
2800pack.deltaCacheLimit
2801</dt>
2802<dd>
2803<p>
Junio C Hamano58155b42007-09-15 07:46:142804 The maximum size of a delta, that is cached in
Junio C Hamano679d22d2007-06-02 21:13:442805 <a href="git-pack-objects.html">git-pack-objects(1)</a>. Defaults to 1000.
2806</p>
2807</dd>
2808<dt>
Junio C Hamano58155b42007-09-15 07:46:142809pack.threads
2810</dt>
2811<dd>
2812<p>
2813 Specifies the number of threads to spawn when searching for best
2814 delta matches. This requires that <a href="git-pack-objects.html">git-pack-objects(1)</a>
2815 be compiled with pthreads otherwise this option is ignored with a
2816 warning. This is meant to reduce packing time on multiprocessor
2817 machines. The required amount of memory for the delta search window
2818 is however multiplied by the number of threads.
Junio C Hamano24bc09a2008-02-28 00:27:442819 Specifying 0 will cause git to auto-detect the number of CPU's
2820 and set the number of threads accordingly.
Junio C Hamano58155b42007-09-15 07:46:142821</p>
2822</dd>
2823<dt>
Junio C Hamanod814b6d2007-11-04 11:13:492824pack.indexVersion
2825</dt>
2826<dd>
2827<p>
2828 Specify the default pack index version. Valid values are 1 for
2829 legacy pack index used by Git versions prior to 1.5.2, and 2 for
2830 the new pack index with capabilities for packs larger than 4 GB
2831 as well as proper protection against the repacking of corrupted
Junio C Hamanofce7c7e2008-07-02 03:06:382832 packs. Version 2 is the default. Note that version 2 is enforced
2833 and this config option ignored whenever the corresponding pack is
2834 larger than 2 GB.
Junio C Hamanod814b6d2007-11-04 11:13:492835</p>
Junio C Hamanoba4b9282008-07-06 05:20:312836<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:382837cloning or fetching over a non native protocol (e.g. "http" and "rsync")
2838that will copy both <tt>&#42;.pack</tt> file and corresponding <tt>&#42;.idx</tt> file from the
2839other side may give you a repository that cannot be accessed with your
2840older version of git. If the <tt>&#42;.pack</tt> file is smaller than 2 GB, however,
2841you 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:312842the <tt>&#42;.idx</tt> file.</p></div>
Junio C Hamanod814b6d2007-11-04 11:13:492843</dd>
Junio C Hamano09a926d2008-03-13 07:55:292844<dt>
2845pack.packSizeLimit
2846</dt>
2847<dd>
2848<p>
Junio C Hamano49dccaf2008-02-10 10:48:012849 The default maximum size of a pack. This setting only affects
2850 packing to a file, i.e. the git:// protocol is unaffected. It
2851 can be overridden by the <tt>--max-pack-size</tt> option of
Junio C Hamano09a926d2008-03-13 07:55:292852 <a href="git-repack.html">git-repack(1)</a>.
2853</p>
2854</dd>
Junio C Hamanod814b6d2007-11-04 11:13:492855<dt>
Junio C Hamano9e96a1a2008-08-16 10:23:182856pager.&lt;cmd&gt;
2857</dt>
2858<dd>
2859<p>
Junio C Hamano0551f6a2008-08-25 00:33:332860 Allows turning on or off pagination of the output of a
2861 particular git subcommand when writing to a tty. If
2862 <tt>--paginate</tt> or <tt>--no-pager</tt> is specified on the command line,
2863 it takes precedence over this option. To disable pagination for
Junio C Hamanoea82cff2009-03-18 01:54:482864 all commands, set <tt>core.pager</tt> or <tt>GIT_PAGER</tt> to <tt>cat</tt>.
Junio C Hamano9e96a1a2008-08-16 10:23:182865</p>
2866</dd>
2867<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482868pull.octopus
2869</dt>
2870<dd>
2871<p>
2872 The default merge strategy to use when pulling multiple branches
2873 at once.
2874</p>
2875</dd>
2876<dt>
2877pull.twohead
2878</dt>
2879<dd>
2880<p>
2881 The default merge strategy to use when pulling a single branch.
2882</p>
2883</dd>
2884<dt>
Junio C Hamano1de75722009-03-26 08:39:382885push.default
2886</dt>
2887<dd>
2888<p>
2889 Defines the action git push should take if no refspec is given
2890 on the command line, no refspec is configured in the remote, and
2891 no refspec is implied by any of the options given on the command
Junio C Hamano0706c802009-03-30 22:34:192892 line. Possible values are:
Junio C Hamano1de75722009-03-26 08:39:382893</p>
Junio C Hamano1de75722009-03-26 08:39:382894<div class="ilist"><ul>
2895<li>
2896<p>
2897<tt>nothing</tt> do not push anything.
2898</p>
2899</li>
2900<li>
2901<p>
Junio C Hamano0706c802009-03-30 22:34:192902<tt>matching</tt> push all matching branches.
Junio C Hamano1de75722009-03-26 08:39:382903 All branches having the same name in both ends are considered to be
Junio C Hamano0706c802009-03-30 22:34:192904 matching. This is the default.
Junio C Hamano1de75722009-03-26 08:39:382905</p>
2906</li>
2907<li>
2908<p>
Junio C Hamano98e32c32009-04-13 02:39:532909<tt>tracking</tt> push the current branch to its upstream branch.
Junio C Hamano1de75722009-03-26 08:39:382910</p>
2911</li>
2912<li>
2913<p>
Junio C Hamano0706c802009-03-30 22:34:192914<tt>current</tt> push the current branch to a branch of the same name.
Junio C Hamano1de75722009-03-26 08:39:382915</p>
2916</li>
2917</ul></div>
2918</dd>
2919<dt>
Junio C Hamanoea6a7642009-03-11 23:56:192920rebase.stat
2921</dt>
2922<dd>
2923<p>
2924 Whether to show a diffstat of what changed upstream since the last
2925 rebase. False by default.
2926</p>
2927</dd>
2928<dt>
Junio C Hamano4653c6f2008-11-26 22:50:202929receive.fsckObjects
2930</dt>
2931<dd>
2932<p>
2933 If it is set to true, git-receive-pack will check all received
2934 objects. It will abort in the case of a malformed object or a
2935 broken link. The result of an abort are only dangling objects.
2936 Defaults to false.
2937</p>
2938</dd>
2939<dt>
2940receive.unpackLimit
2941</dt>
2942<dd>
2943<p>
2944 If the number of objects received in a push is below this
2945 limit then the objects will be unpacked into loose object
2946 files. However if the number of received objects equals or
2947 exceeds this limit then the received pack will be stored as
2948 a pack, after adding any missing delta bases. Storing the
2949 pack from a push can make the push operation complete faster,
2950 especially on slow filesystems. If not set, the value of
2951 <tt>transfer.unpackLimit</tt> is used instead.
2952</p>
2953</dd>
2954<dt>
2955receive.denyDeletes
2956</dt>
2957<dd>
2958<p>
2959 If set to true, git-receive-pack will deny a ref update that deletes
2960 the ref. Use this to prevent such a ref deletion via a push.
2961</p>
2962</dd>
2963<dt>
2964receive.denyCurrentBranch
2965</dt>
2966<dd>
2967<p>
2968 If set to true or "refuse", receive-pack will deny a ref update
2969 to the currently checked out branch of a non-bare repository.
2970 Such a push is potentially dangerous because it brings the HEAD
2971 out of sync with the index and working tree. If set to "warn",
2972 print a warning of such a push to stderr, but allow the push to
2973 proceed. If set to false or "ignore", allow such pushes with no
2974 message. Defaults to "warn".
2975</p>
2976</dd>
2977<dt>
2978receive.denyNonFastForwards
2979</dt>
2980<dd>
2981<p>
2982 If set to true, git-receive-pack will deny a ref update which is
2983 not a fast forward. Use this to prevent such an update via a push,
2984 even if that push is forced. This configuration variable is
2985 set when initializing a shared repository.
2986</p>
2987</dd>
2988<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482989remote.&lt;name&gt;.url
2990</dt>
2991<dd>
2992<p>
2993 The URL of a remote repository. See <a href="git-fetch.html">git-fetch(1)</a> or
2994 <a href="git-push.html">git-push(1)</a>.
2995</p>
2996</dd>
2997<dt>
Junio C Hamano58256872007-12-04 08:31:132998remote.&lt;name&gt;.proxy
2999</dt>
3000<dd>
3001<p>
3002 For remotes that require curl (http, https and ftp), the URL to
3003 the proxy to use for that remote. Set to the empty string to
3004 disable proxying for that remote.
3005</p>
3006</dd>
3007<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483008remote.&lt;name&gt;.fetch
3009</dt>
3010<dd>
3011<p>
3012 The default set of "refspec" for <a href="git-fetch.html">git-fetch(1)</a>. See
3013 <a href="git-fetch.html">git-fetch(1)</a>.
3014</p>
3015</dd>
3016<dt>
3017remote.&lt;name&gt;.push
3018</dt>
3019<dd>
3020<p>
3021 The default set of "refspec" for <a href="git-push.html">git-push(1)</a>. See
3022 <a href="git-push.html">git-push(1)</a>.
3023</p>
3024</dd>
3025<dt>
Junio C Hamano47d68a52008-05-06 06:35:403026remote.&lt;name&gt;.mirror
3027</dt>
3028<dd>
3029<p>
3030 If true, pushing to this remote will automatically behave
3031 as if the <tt>--mirror</tt> option was given on the command line.
3032</p>
3033</dd>
3034<dt>
Junio C Hamano118d2772007-02-21 20:24:103035remote.&lt;name&gt;.skipDefaultUpdate
3036</dt>
3037<dd>
3038<p>
3039 If true, this remote will be skipped by default when updating
Junio C Hamano618bdde2008-01-02 10:51:083040 using the update subcommand of <a href="git-remote.html">git-remote(1)</a>.
Junio C Hamano118d2772007-02-21 20:24:103041</p>
3042</dd>
3043<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483044remote.&lt;name&gt;.receivepack
3045</dt>
3046<dd>
3047<p>
3048 The default program to execute on the remote side when pushing. See
Junio C Hamano86bcccc2008-03-08 09:33:553049 option --receive-pack of <a href="git-push.html">git-push(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:483050</p>
3051</dd>
3052<dt>
3053remote.&lt;name&gt;.uploadpack
3054</dt>
3055<dd>
3056<p>
3057 The default program to execute on the remote side when fetching. See
Junio C Hamano86bcccc2008-03-08 09:33:553058 option --upload-pack of <a href="git-fetch-pack.html">git-fetch-pack(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:483059</p>
3060</dd>
3061<dt>
Junio C Hamano17dde0e2007-02-26 09:50:213062remote.&lt;name&gt;.tagopt
3063</dt>
3064<dd>
3065<p>
Junio C Hamano86bcccc2008-03-08 09:33:553066 Setting this value to --no-tags disables automatic tag following when
3067 fetching from remote &lt;name&gt;
Junio C Hamano17dde0e2007-02-26 09:50:213068</p>
3069</dd>
3070<dt>
Junio C Hamano118d2772007-02-21 20:24:103071remotes.&lt;group&gt;
3072</dt>
3073<dd>
3074<p>
3075 The list of remotes which are fetched by "git remote update
3076 &lt;group&gt;". See <a href="git-remote.html">git-remote(1)</a>.
3077</p>
3078</dd>
3079<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483080repack.usedeltabaseoffset
3081</dt>
3082<dd>
3083<p>
Junio C Hamanofce7c7e2008-07-02 03:06:383084 By default, <a href="git-repack.html">git-repack(1)</a> creates packs that use
3085 delta-base offset. If you need to share your repository with
3086 git older than version 1.4.4, either directly or via a dumb
3087 protocol such as http, then you need to set this option to
3088 "false" and repack. Access from old git versions over the
3089 native protocol are unaffected by this option.
Junio C Hamano7ad22dc2007-01-29 02:55:483090</p>
3091</dd>
3092<dt>
Junio C Hamano4653c6f2008-11-26 22:50:203093rerere.autoupdate
3094</dt>
3095<dd>
3096<p>
3097 When set to true, <tt>git-rerere</tt> updates the index with the
3098 resulting contents after it cleanly resolves conflicts using
3099 previously recorded resolution. Defaults to false.
3100</p>
3101</dd>
3102<dt>
3103rerere.enabled
3104</dt>
3105<dd>
3106<p>
3107 Activate recording of resolved conflicts, so that identical
3108 conflict hunks can be resolved automatically, should they
3109 be encountered again. <a href="git-rerere.html">git-rerere(1)</a> command is by
3110 default enabled if you create <tt>rr-cache</tt> directory under
3111 <tt>$GIT_DIR</tt>, but can be disabled by setting this option to false.
3112</p>
3113</dd>
3114<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483115showbranch.default
3116</dt>
3117<dd>
3118<p>
3119 The default set of branches for <a href="git-show-branch.html">git-show-branch(1)</a>.
3120 See <a href="git-show-branch.html">git-show-branch(1)</a>.
3121</p>
3122</dd>
3123<dt>
Junio C Hamano942b35e2007-12-09 10:19:333124status.relativePaths
3125</dt>
3126<dd>
3127<p>
3128 By default, <a href="git-status.html">git-status(1)</a> shows paths relative to the
3129 current directory. Setting this variable to <tt>false</tt> shows paths
3130 relative to the repository root (this was the default for git
3131 prior to v1.5.4).
3132</p>
3133</dd>
3134<dt>
Junio C Hamano4224f992008-06-23 07:14:083135status.showUntrackedFiles
3136</dt>
3137<dd>
3138<p>
3139 By default, <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a> show
3140 files which are not currently tracked by Git. Directories which
3141 contain only untracked files, are shown with the directory name
3142 only. Showing untracked files means that Git needs to lstat() all
3143 all the files in the whole repository, which might be slow on some
3144 systems. So, this variable controls how the commands displays
3145 the untracked files. Possible values are:
3146</p>
Junio C Hamanoba4b9282008-07-06 05:20:313147<div class="ilist"><ul>
Junio C Hamano4224f992008-06-23 07:14:083148<li>
3149<p>
3150<em>no</em> - Show no untracked files
3151</p>
3152</li>
3153<li>
3154<p>
3155<em>normal</em> - Shows untracked files and directories
3156</p>
3157</li>
3158<li>
3159<p>
3160<em>all</em> - Shows also individual files in untracked directories.
3161</p>
3162</li>
Junio C Hamanoba4b9282008-07-06 05:20:313163</ul></div>
3164<div class="para"><p>If this variable is not specified, it defaults to <em>normal</em>.
Junio C Hamano4224f992008-06-23 07:14:083165This variable can be overridden with the -u|--untracked-files option
Junio C Hamanoba4b9282008-07-06 05:20:313166of <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:083167</dd>
3168<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483169tar.umask
3170</dt>
3171<dd>
3172<p>
Junio C Hamanobdebabb2007-08-23 00:25:093173 This variable can be used to restrict the permission bits of
3174 tar archive entries. The default is 0002, which turns off the
3175 world write bit. The special value "user" indicates that the
3176 archiving user's umask will be used instead. See umask(2) and
3177 <a href="git-archive.html">git-archive(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:483178</p>
3179</dd>
3180<dt>
Junio C Hamano4653c6f2008-11-26 22:50:203181transfer.unpackLimit
3182</dt>
3183<dd>
3184<p>
3185 When <tt>fetch.unpackLimit</tt> or <tt>receive.unpackLimit</tt> are
3186 not set, the value of this variable is used instead.
3187 The default value is 100.
3188</p>
3189</dd>
3190<dt>
Junio C Hamano24bc09a2008-02-28 00:27:443191url.&lt;base&gt;.insteadOf
3192</dt>
3193<dd>
3194<p>
3195 Any URL that starts with this value will be rewritten to
3196 start, instead, with &lt;base&gt;. In cases where some site serves a
3197 large number of repositories, and serves them with multiple
3198 access methods, and some users need to use different access
3199 methods, this feature allows people to specify any of the
3200 equivalent URLs and have git automatically rewrite the URL to
3201 the best alternative for the particular user, even for a
3202 never-before-seen repository on the site. When more than one
3203 insteadOf strings match a given URL, the longest match is used.
3204</p>
3205</dd>
3206<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:483207user.email
3208</dt>
3209<dd>
3210<p>
3211 Your email address to be recorded in any newly created commits.
Junio C Hamano469d60e2007-04-29 18:30:343212 Can be overridden by the <em>GIT_AUTHOR_EMAIL</em>, <em>GIT_COMMITTER_EMAIL</em>, and
3213 <em>EMAIL</em> environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:483214</p>
3215</dd>
3216<dt>
3217user.name
3218</dt>
3219<dd>
3220<p>
3221 Your full name to be recorded in any newly created commits.
3222 Can be overridden by the <em>GIT_AUTHOR_NAME</em> and <em>GIT_COMMITTER_NAME</em>
3223 environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
3224</p>
3225</dd>
3226<dt>
3227user.signingkey
3228</dt>
3229<dd>
3230<p>
3231 If <a href="git-tag.html">git-tag(1)</a> is not selecting the key you want it to
3232 automatically when creating a signed tag, you can override the
3233 default selection with this variable. This option is passed
3234 unchanged to gpg's --local-user parameter, so you may specify a key
3235 using any method that gpg supports.
3236</p>
3237</dd>
3238<dt>
Junio C Hamano4e272312008-01-08 09:13:213239web.browser
3240</dt>
3241<dd>
3242<p>
3243 Specify a web browser that may be used by some commands.
3244 Currently only <a href="git-instaweb.html">git-instaweb(1)</a> and <a href="git-help.html">git-help(1)</a>
3245 may use it.
3246</p>
3247</dd>
Junio C Hamanoba4b9282008-07-06 05:20:313248</dl></div>
Junio C Hamano7ad22dc2007-01-29 02:55:483249</div>
Junio C Hamanoba4b9282008-07-06 05:20:313250<h2 id="_author">Author</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:483251<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:313252<div class="para"><p>Written by Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:483253</div>
Junio C Hamanoba4b9282008-07-06 05:20:313254<h2 id="_documentation">Documentation</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:483255<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:313256<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:483257</div>
Junio C Hamanoba4b9282008-07-06 05:20:313258<h2 id="_git">GIT</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:483259<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:313260<div class="para"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:483261</div>
3262<div id="footer">
3263<div id="footer-text">
Junio C Hamano3bd66e92009-04-18 06:17:563264Last updated 2009-04-18 06:17:30 UTC
Junio C Hamano7ad22dc2007-01-29 02:55:483265</div>
3266</div>
3267</body>
3268</html>