blob: f8cf71a078c8f09ff9f21ca94f63f628c5ff32de [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" />
6<meta name="generator" content="AsciiDoc 7.0.2" />
7<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
19a { color: blue; }
20a:visited { color: fuchsia; }
21
22em {
23 font-style: italic;
24}
25
26strong {
27 font-weight: bold;
28}
29
30tt {
31 color: navy;
32}
33
34h1, h2, h3, h4, h5, h6 {
35 color: #527bbd;
36 font-family: sans-serif;
37 margin-top: 1.2em;
38 margin-bottom: 0.5em;
39 line-height: 1.3;
40}
41
42h1 {
43 border-bottom: 2px solid silver;
44}
45h2 {
46 border-bottom: 2px solid silver;
47 padding-top: 0.5em;
48}
49
50div.sectionbody {
51 font-family: serif;
52 margin-left: 0;
53}
54
55hr {
56 border: 1px solid silver;
57}
58
59p {
60 margin-top: 0.5em;
61 margin-bottom: 0.5em;
62}
63
64pre {
65 padding: 0;
66 margin: 0;
67}
68
69span#author {
70 color: #527bbd;
71 font-family: sans-serif;
72 font-weight: bold;
73 font-size: 1.2em;
74}
75span#email {
76}
77span#revision {
78 font-family: sans-serif;
79}
80
81div#footer {
82 font-family: sans-serif;
83 font-size: small;
84 border-top: 2px solid silver;
85 padding-top: 0.5em;
86 margin-top: 4.0em;
87}
88div#footer-text {
89 float: left;
90 padding-bottom: 0.5em;
91}
92div#footer-badges {
93 float: right;
94 padding-bottom: 0.5em;
95}
96
97div#preamble,
98div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
99div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
100div.admonitionblock {
101 margin-right: 10%;
102 margin-top: 1.5em;
103 margin-bottom: 1.5em;
104}
105div.admonitionblock {
106 margin-top: 2.5em;
107 margin-bottom: 2.5em;
108}
109
110div.content { /* Block element content. */
111 padding: 0;
112}
113
114/* Block element titles. */
115div.title, caption.title {
116 font-family: sans-serif;
117 font-weight: bold;
118 text-align: left;
119 margin-top: 1.0em;
120 margin-bottom: 0.5em;
121}
122div.title + * {
123 margin-top: 0;
124}
125
126td div.title:first-child {
127 margin-top: 0.0em;
128}
129div.content div.title:first-child {
130 margin-top: 0.0em;
131}
132div.content + div.title {
133 margin-top: 0.0em;
134}
135
136div.sidebarblock > div.content {
137 background: #ffffee;
138 border: 1px solid silver;
139 padding: 0.5em;
140}
141
142div.listingblock > div.content {
143 border: 1px solid silver;
144 background: #f4f4f4;
145 padding: 0.5em;
146}
147
148div.quoteblock > div.content {
149 padding-left: 2.0em;
150}
151div.quoteblock .attribution {
152 text-align: right;
153}
154
155div.admonitionblock .icon {
156 vertical-align: top;
157 font-size: 1.1em;
158 font-weight: bold;
159 text-decoration: underline;
160 color: #527bbd;
161 padding-right: 0.5em;
162}
163div.admonitionblock td.content {
164 padding-left: 0.5em;
165 border-left: 2px solid silver;
166}
167
168div.exampleblock > div.content {
169 border-left: 2px solid silver;
170 padding: 0.5em;
171}
172
173div.verseblock div.content {
174 white-space: pre;
175}
176
177div.imageblock div.content { padding-left: 0; }
178div.imageblock img { border: 1px solid silver; }
179span.image img { border-style: none; }
180
181dl {
182 margin-top: 0.8em;
183 margin-bottom: 0.8em;
184}
185dt {
186 margin-top: 0.5em;
187 margin-bottom: 0;
188 font-style: italic;
189}
190dd > *:first-child {
191 margin-top: 0;
192}
193
194ul, ol {
195 list-style-position: outside;
196}
197ol.olist2 {
198 list-style-type: lower-alpha;
199}
200
201div.tableblock > table {
202 border-color: #527bbd;
203 border-width: 3px;
204}
205thead {
206 font-family: sans-serif;
207 font-weight: bold;
208}
209tfoot {
210 font-weight: bold;
211}
212
213div.hlist {
214 margin-top: 0.8em;
215 margin-bottom: 0.8em;
216}
217td.hlist1 {
218 vertical-align: top;
219 font-style: italic;
220 padding-right: 0.8em;
221}
222td.hlist2 {
223 vertical-align: top;
224}
225
226@media print {
227 div#footer-badges { display: none; }
228}
229include::./stylesheets/xhtml11-manpage.css[]
230/* Workarounds for IE6's broken and incomplete CSS2. */
231
232div.sidebar-content {
233 background: #ffffee;
234 border: 1px solid silver;
235 padding: 0.5em;
236}
237div.sidebar-title, div.image-title {
238 font-family: sans-serif;
239 font-weight: bold;
240 margin-top: 0.0em;
241 margin-bottom: 0.5em;
242}
243
244div.listingblock div.content {
245 border: 1px solid silver;
246 background: #f4f4f4;
247 padding: 0.5em;
248}
249
250div.quoteblock-content {
251 padding-left: 2.0em;
252}
253
254div.exampleblock-content {
255 border-left: 2px solid silver;
256 padding-left: 0.5em;
257}
258</style>
259<title>git-config(1)</title>
260</head>
261<body>
262<div id="header">
263<h1>
264git-config(1) Manual Page
265</h1>
266<h2>NAME</h2>
267<div class="sectionbody">
268<p>git-config -
269 Get and set repository or global options
270</p>
271</div>
272</div>
273<h2>SYNOPSIS</h2>
274<div class="sectionbody">
275<div class="verseblock">
Junio C Hamano0ddc94d2007-08-01 08:42:39276<div class="content"><em>git-config</em> [&lt;file-option&gt;] [type] [-z|--null] name [value [value_regex]]
277<em>git-config</em> [&lt;file-option&gt;] [type] --add name value
278<em>git-config</em> [&lt;file-option&gt;] [type] --replace-all name [value [value_regex]]
279<em>git-config</em> [&lt;file-option&gt;] [type] [-z|--null] --get name [value_regex]
280<em>git-config</em> [&lt;file-option&gt;] [type] [-z|--null] --get-all name [value_regex]
281<em>git-config</em> [&lt;file-option&gt;] [type] [-z|--null] --get-regexp name_regex [value_regex]
282<em>git-config</em> [&lt;file-option&gt;] --unset name [value_regex]
283<em>git-config</em> [&lt;file-option&gt;] --unset-all name [value_regex]
284<em>git-config</em> [&lt;file-option&gt;] --rename-section old_name new_name
285<em>git-config</em> [&lt;file-option&gt;] --remove-section name
Junio C Hamano0c999702007-12-03 09:57:55286<em>git-config</em> [&lt;file-option&gt;] [-z|--null] -l | --list
Junio C Hamano00b8b632007-12-07 09:50:49287<em>git-config</em> [&lt;file-option&gt;] --get-color name [default]
288<em>git-config</em> [&lt;file-option&gt;] --get-colorbool name [stdout-is-tty]</div></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48289</div>
290<h2>DESCRIPTION</h2>
291<div class="sectionbody">
292<p>You can query/set/replace/unset options with this command. The name is
293actually the section and the key separated by a dot, and the value will be
294escaped.</p>
295<p>Multiple lines can be added to an option by using the <em>--add</em> option.
296If you want to update or unset an option which can occur on multiple
297lines, a POSIX regexp <tt>value_regex</tt> needs to be given. Only the
298existing values that match the regexp are updated or unset. If
299you want to handle the lines that do <strong>not</strong> match the regex, just
Junio C Hamano6fddfe52007-05-31 07:38:19300prepend a single exclamation mark in front (see also <a href="#EXAMPLES">[EXAMPLES]</a>).</p>
Junio C Hamano7ad22dc2007-01-29 02:55:48301<p>The type specifier can be either <em>--int</em> or <em>--bool</em>, which will make
302<em>git-config</em> ensure that the variable(s) are of the given type and
303convert the value to the canonical form (simple decimal number for int,
Junio C Hamanod526ba92007-07-02 00:17:42304a "true" or "false" string for bool). If no type specifier is passed,
Junio C Hamano7ad22dc2007-01-29 02:55:48305no checks or transformations are performed on the value.</p>
Junio C Hamano0ddc94d2007-08-01 08:42:39306<p>The file-option can be one of <em>--system</em>, <em>--global</em> or <em>--file</em>
307which specify where the values will be read from or written to.
308The default is to assume the config file of the current repository,
309.git/config unless defined otherwise with GIT_DIR and GIT_CONFIG
310(see <a href="#FILES">[FILES]</a>).</p>
Junio C Hamano7ad22dc2007-01-29 02:55:48311<p>This command will fail if:</p>
312<ol>
313<li>
314<p>
Junio C Hamano0ddc94d2007-08-01 08:42:39315The config file is invalid,
Junio C Hamano7ad22dc2007-01-29 02:55:48316</p>
317</li>
318<li>
319<p>
Junio C Hamano0ddc94d2007-08-01 08:42:39320Can not write to the config file,
Junio C Hamano7ad22dc2007-01-29 02:55:48321</p>
322</li>
323<li>
324<p>
325no section was provided,
326</p>
327</li>
328<li>
329<p>
330the section or key is invalid,
331</p>
332</li>
333<li>
334<p>
335you try to unset an option which does not exist,
336</p>
337</li>
338<li>
339<p>
340you try to unset/set an option for which multiple lines match, or
341</p>
342</li>
343<li>
344<p>
Junio C Hamano6fddfe52007-05-31 07:38:19345you use <em>--global</em> option without $HOME being properly set.
Junio C Hamano7ad22dc2007-01-29 02:55:48346</p>
347</li>
348</ol>
349</div>
350<h2>OPTIONS</h2>
351<div class="sectionbody">
352<dl>
353<dt>
354--replace-all
355</dt>
356<dd>
357<p>
358 Default behavior is to replace at most one line. This replaces
359 all lines matching the key (and optionally the value_regex).
360</p>
361</dd>
362<dt>
363--add
364</dt>
365<dd>
366<p>
367 Adds a new line to the option without altering any existing
368 values. This is the same as providing <em>^$</em> as the value_regex.
369</p>
370</dd>
371<dt>
372--get
373</dt>
374<dd>
375<p>
376 Get the value for a given key (optionally filtered by a regex
377 matching the value). Returns error code 1 if the key was not
378 found and error code 2 if multiple key values were found.
379</p>
380</dd>
381<dt>
382--get-all
383</dt>
384<dd>
385<p>
386 Like get, but does not fail if the number of values for the key
387 is not exactly one.
388</p>
389</dd>
390<dt>
391--get-regexp
392</dt>
393<dd>
394<p>
395 Like --get-all, but interprets the name as a regular expression.
Junio C Hamanoddc5ad42007-06-27 07:14:52396 Also outputs the key names.
Junio C Hamano7ad22dc2007-01-29 02:55:48397</p>
398</dd>
399<dt>
400--global
401</dt>
402<dd>
403<p>
Junio C Hamano6fddfe52007-05-31 07:38:19404 For writing options: write to global ~/.gitconfig file rather than
405 the repository .git/config.
Junio C Hamano7ad22dc2007-01-29 02:55:48406</p>
Junio C Hamano6fddfe52007-05-31 07:38:19407<p>For reading options: read only from global ~/.gitconfig rather than
408from all available files.</p>
409<p>See also <a href="#FILES">[FILES]</a>.</p>
Junio C Hamano7ad22dc2007-01-29 02:55:48410</dd>
411<dt>
Junio C Hamano81c711d2007-04-20 07:20:14412--system
413</dt>
414<dd>
415<p>
Junio C Hamano6fddfe52007-05-31 07:38:19416 For writing options: write to system-wide $(prefix)/etc/gitconfig
417 rather than the repository .git/config.
Junio C Hamano81c711d2007-04-20 07:20:14418</p>
Junio C Hamano6fddfe52007-05-31 07:38:19419<p>For reading options: read only from system-wide $(prefix)/etc/gitconfig
420rather than from all available files.</p>
421<p>See also <a href="#FILES">[FILES]</a>.</p>
Junio C Hamano81c711d2007-04-20 07:20:14422</dd>
423<dt>
Junio C Hamano0ddc94d2007-08-01 08:42:39424-f config-file, --file config-file
425</dt>
426<dd>
427<p>
428 Use the given config file instead of the one specified by GIT_CONFIG.
429</p>
430</dd>
431<dt>
Junio C Hamanod15328a2007-03-09 09:06:40432--remove-section
433</dt>
434<dd>
435<p>
436 Remove the given section from the configuration file.
437</p>
438</dd>
439<dt>
440--rename-section
441</dt>
442<dd>
443<p>
444 Rename the given section to a new name.
445</p>
446</dd>
447<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:48448--unset
449</dt>
450<dd>
451<p>
452 Remove the line matching the key from config file.
453</p>
454</dd>
455<dt>
456--unset-all
457</dt>
458<dd>
459<p>
Junio C Hamano10557772007-03-15 07:12:30460 Remove all lines matching the key from config file.
Junio C Hamano7ad22dc2007-01-29 02:55:48461</p>
462</dd>
463<dt>
464-l, --list
465</dt>
466<dd>
467<p>
468 List all variables set in config file.
469</p>
470</dd>
471<dt>
472--bool
473</dt>
474<dd>
475<p>
476 git-config will ensure that the output is "true" or "false"
477</p>
478</dd>
479<dt>
480--int
481</dt>
482<dd>
483<p>
484 git-config will ensure that the output is a simple
485 decimal number. An optional value suffix of <em>k</em>, <em>m</em>, or <em>g</em>
486 in the config file will cause the value to be multiplied
487 by 1024, 1048576, or 1073741824 prior to output.
488</p>
489</dd>
Junio C Hamanoddc5ad42007-06-27 07:14:52490<dt>
491-z, --null
492</dt>
493<dd>
494<p>
495 For all options that output values and/or keys, always
Junio C Hamano1f511962008-01-30 08:28:52496 end values with the null character (instead of a
Junio C Hamanoddc5ad42007-06-27 07:14:52497 newline). Use newline instead as a delimiter between
498 key and value. This allows for secure parsing of the
499 output without getting confused e.g. by values that
500 contain line breaks.
501</p>
502</dd>
Junio C Hamano0c999702007-12-03 09:57:55503<dt>
Junio C Hamano00b8b632007-12-07 09:50:49504--get-colorbool name [stdout-is-tty]
505</dt>
506<dd>
507<p>
508 Find the color setting for <tt>name</tt> (e.g. <tt>color.diff</tt>) and output
509 "true" or "false". <tt>stdout-is-tty</tt> should be either "true" or
510 "false", and is taken into account when configuration says
511 "auto". If <tt>stdout-is-tty</tt> is missing, then checks the standard
512 output of the command itself, and exits with status 0 if color
513 is to be used, or exits with status 1 otherwise.
Junio C Hamanoe3ddb5b2008-04-21 00:48:07514 When the color setting for <tt>name</tt> is undefined, the command uses
515 <tt>color.ui</tt> as fallback.
Junio C Hamano00b8b632007-12-07 09:50:49516</p>
517</dd>
518<dt>
Junio C Hamano0c999702007-12-03 09:57:55519--get-color name default
520</dt>
521<dd>
522<p>
523 Find the color configured for <tt>name</tt> (e.g. <tt>color.diff.new</tt>) and
524 output it as the ANSI color escape sequence to the standard
525 output. The optional <tt>default</tt> parameter is used instead, if
526 there is no color configured for <tt>name</tt>.
527</p>
528</dd>
Junio C Hamano7ad22dc2007-01-29 02:55:48529</dl>
530</div>
Junio C Hamano6fddfe52007-05-31 07:38:19531<h2><a id="FILES"></a>FILES</h2>
532<div class="sectionbody">
Junio C Hamanoa6387422007-08-25 03:54:27533<p>If not set explicitly with <em>--file</em>, there are three files where
Junio C Hamano0ddc94d2007-08-01 08:42:39534git-config will search for configuration options:</p>
Junio C Hamano6fddfe52007-05-31 07:38:19535<dl>
536<dt>
Junio C Hamano58155b42007-09-15 07:46:14537$GIT_DIR/config
538</dt>
539<dd>
540<p>
541 Repository specific configuration file. (The filename is
542 of course relative to the repository root, not the working
543 directory.)
544</p>
545</dd>
546<dt>
Junio C Hamano6fddfe52007-05-31 07:38:19547~/.gitconfig
548</dt>
549<dd>
550<p>
551 User-specific configuration file. Also called "global"
552 configuration file.
553</p>
554</dd>
555<dt>
556$(prefix)/etc/gitconfig
557</dt>
558<dd>
559<p>
560 System-wide configuration file.
561</p>
562</dd>
563</dl>
564<p>If no further options are given, all reading options will read all of these
565files that are available. If the global or the system-wide configuration
566file are not available they will be ignored. If the repository configuration
567file is not available or readable, git-config will exit with a non-zero
568error code. However, in neither case will an error message be issued.</p>
569<p>All writing options will per default write to the repository specific
570configuration file. Note that this also affects options like <em>--replace-all</em>
571and <em>--unset</em>. <strong>git-config will only ever change one file at a time</strong>.</p>
572<p>You can override these rules either by command line options or by environment
573variables. The <em>--global</em> and the <em>--system</em> options will limit the file used
574to the global or system-wide file respectively. The GIT_CONFIG environment
575variable has a similar effect, but you can specify any filename you want.</p>
576<p>The GIT_CONFIG_LOCAL environment variable on the other hand only changes
577the name used instead of the repository configuration file. The global and
578the system-wide configuration files will still be read. (For writing options
579this will obviously result in the same behavior as using GIT_CONFIG.)</p>
580</div>
Junio C Hamano7ad22dc2007-01-29 02:55:48581<h2>ENVIRONMENT</h2>
582<div class="sectionbody">
583<dl>
584<dt>
585GIT_CONFIG
586</dt>
587<dd>
588<p>
589 Take the configuration from the given file instead of .git/config.
Junio C Hamano6fddfe52007-05-31 07:38:19590 Using the "--global" option forces this to ~/.gitconfig. Using the
591 "--system" option forces this to $(prefix)/etc/gitconfig.
Junio C Hamano7ad22dc2007-01-29 02:55:48592</p>
593</dd>
594<dt>
595GIT_CONFIG_LOCAL
596</dt>
597<dd>
598<p>
Junio C Hamano6fddfe52007-05-31 07:38:19599 Take the configuration from the given file instead if .git/config.
600 Still read the global and the system-wide configuration files, though.
Junio C Hamano7ad22dc2007-01-29 02:55:48601</p>
602</dd>
603</dl>
Junio C Hamano6fddfe52007-05-31 07:38:19604<p>See also <a href="#FILES">[FILES]</a>.</p>
Junio C Hamano7ad22dc2007-01-29 02:55:48605</div>
Junio C Hamano6fddfe52007-05-31 07:38:19606<h2><a id="EXAMPLES"></a>EXAMPLES</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48607<div class="sectionbody">
608<p>Given a .git/config like this:</p>
609<div class="literalblock">
610<div class="content">
611<pre><tt>#
612# This is the config file, and
613# a '#' or ';' character indicates
614# a comment
615#</tt></pre>
616</div></div>
617<div class="literalblock">
618<div class="content">
619<pre><tt>; core variables
620[core]
621 ; Don't trust file modes
622 filemode = false</tt></pre>
623</div></div>
624<div class="literalblock">
625<div class="content">
626<pre><tt>; Our diff algorithm
627[diff]
628 external = "/usr/local/bin/gnu-diff -u"
629 renames = true</tt></pre>
630</div></div>
631<div class="literalblock">
632<div class="content">
633<pre><tt>; Proxy settings
634[core]
Junio C Hamano7ad22dc2007-01-29 02:55:48635 gitproxy="proxy-command" for kernel.org
Junio C Hamano7ad22dc2007-01-29 02:55:48636 gitproxy=default-proxy ; for all the rest</tt></pre>
637</div></div>
638<p>you can set the filemode to true with</p>
639<div class="listingblock">
640<div class="content">
641<pre><tt>% git config core.filemode true</tt></pre>
642</div></div>
643<p>The hypothetical proxy command entries actually have a postfix to discern
644what URL they apply to. Here is how to change the entry for kernel.org
645to "ssh".</p>
646<div class="listingblock">
647<div class="content">
648<pre><tt>% git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'</tt></pre>
649</div></div>
650<p>This makes sure that only the key/value pair for kernel.org is replaced.</p>
651<p>To delete the entry for renames, do</p>
652<div class="listingblock">
653<div class="content">
654<pre><tt>% git config --unset diff.renames</tt></pre>
655</div></div>
656<p>If you want to delete an entry for a multivar (like core.gitproxy above),
657you have to provide a regex matching the value of exactly one line.</p>
658<p>To query the value for a given key, do</p>
659<div class="listingblock">
660<div class="content">
661<pre><tt>% git config --get core.filemode</tt></pre>
662</div></div>
663<p>or</p>
664<div class="listingblock">
665<div class="content">
666<pre><tt>% git config core.filemode</tt></pre>
667</div></div>
668<p>or, to query a multivar:</p>
669<div class="listingblock">
670<div class="content">
671<pre><tt>% git config --get core.gitproxy "for kernel.org$"</tt></pre>
672</div></div>
673<p>If you want to know all the values for a multivar, do:</p>
674<div class="listingblock">
675<div class="content">
676<pre><tt>% git config --get-all core.gitproxy</tt></pre>
677</div></div>
678<p>If you like to live dangerous, you can replace <strong>all</strong> core.gitproxy by a
679new one with</p>
680<div class="listingblock">
681<div class="content">
682<pre><tt>% git config --replace-all core.gitproxy ssh</tt></pre>
683</div></div>
684<p>However, if you really only want to replace the line for the default proxy,
685i.e. the one without a "for &#8230;" postfix, do something like this:</p>
686<div class="listingblock">
687<div class="content">
688<pre><tt>% git config core.gitproxy ssh '! for '</tt></pre>
689</div></div>
690<p>To actually match only values with an exclamation mark, you have to</p>
691<div class="listingblock">
692<div class="content">
693<pre><tt>% git config section.key value '[!]'</tt></pre>
694</div></div>
695<p>To add a new proxy, without altering any of the existing ones, use</p>
696<div class="listingblock">
697<div class="content">
Junio C Hamanoc71a8732007-08-04 00:27:26698<pre><tt>% git config core.gitproxy '"proxy-command" for example.com'</tt></pre>
Junio C Hamano7ad22dc2007-01-29 02:55:48699</div></div>
Junio C Hamano0c999702007-12-03 09:57:55700<p>An example to use customized color from the configuration in your
701script:</p>
702<div class="listingblock">
703<div class="content">
704<pre><tt>#!/bin/sh
705WS=$(git config --get-color color.diff.whitespace "blue reverse")
706RESET=$(git config --get-color "" "reset")
707echo "${WS}your whitespace color or blue reverse${RESET}"</tt></pre>
708</div></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48709</div>
710<h2>CONFIGURATION FILE</h2>
711<div class="sectionbody">
712<p>The git configuration file contains a number of variables that affect
713the git command's behavior. <tt>.git/config</tt> file for each repository
714is used to store the information for that repository, and
715<tt>$HOME/.gitconfig</tt> is used to store per user information to give
Junio C Hamano79556902007-02-24 11:15:54716fallback values for <tt>.git/config</tt> file. The file <tt>/etc/gitconfig</tt>
717can be used to store system-wide defaults.</p>
Junio C Hamano7ad22dc2007-01-29 02:55:48718<p>They can be used by both the git plumbing
719and the porcelains. The variables are divided into sections, where
720in the fully qualified variable name the variable itself is the last
721dot-separated segment and the section name is everything before the last
722dot. The variable names are case-insensitive and only alphanumeric
723characters are allowed. Some variables may appear multiple times.</p>
724<h3>Syntax</h3>
725<p>The syntax is fairly flexible and permissive; whitespaces are mostly
726ignored. The <em>#</em> and <em>;</em> characters begin comments to the end of line,
727blank lines are ignored.</p>
728<p>The file consists of sections and variables. A section begins with
729the name of the section in square brackets and continues until the next
730section begins. Section names are not case sensitive. Only alphanumeric
731characters, <em><tt>-</tt></em> and <em><tt>.</tt></em> are allowed in section names. Each variable
732must belong to some section, which means that there must be section
733header before first setting of a variable.</p>
734<p>Sections can be further divided into subsections. To begin a subsection
735put its name in double quotes, separated by space from the section name,
736in the section header, like in example below:</p>
737<div class="listingblock">
738<div class="content">
739<pre><tt> [section "subsection"]
740</tt></pre>
741</div></div>
742<p>Subsection names can contain any characters except newline (doublequote
743<em><tt>"</tt></em> and backslash have to be escaped as <em><tt>\"</tt></em> and <em><tt>\\</tt></em>,
Junio C Hamanoee1e4282007-02-04 08:32:04744respectively) and are case sensitive. Section header cannot span multiple
Junio C Hamano7ad22dc2007-01-29 02:55:48745lines. Variables may belong directly to a section or to a given subsection.
746You can have <tt>[section]</tt> if you have <tt>[section "subsection"]</tt>, but you
747don't need to.</p>
748<p>There is also (case insensitive) alternative <tt>[section.subsection]</tt> syntax.
749In this syntax subsection names follow the same restrictions as for section
750name.</p>
751<p>All the other lines are recognized as setting variables, in the form
752<em>name = value</em>. If there is no equal sign on the line, the entire line
753is taken as <em>name</em> and the variable is recognized as boolean "true".
754The variable names are case-insensitive and only alphanumeric
755characters and <em><tt>-</tt></em> are allowed. There can be more than one value
756for a given variable; we say then that variable is multivalued.</p>
757<p>Leading and trailing whitespace in a variable value is discarded.
758Internal whitespace within a variable value is retained verbatim.</p>
759<p>The values following the equals sign in variable assign are all either
760a string, an integer, or a boolean. Boolean values may be given as yes/no,
7610/1 or true/false. Case is not significant in boolean values, when
762converting value to the canonical form using <em>--bool</em> type specifier;
763<tt>git-config</tt> will ensure that the output is "true" or "false".</p>
764<p>String values may be entirely or partially enclosed in double quotes.
765You need to enclose variable value in double quotes if you want to
766preserve leading or trailing whitespace, or if variable value contains
767beginning of comment characters (if it contains <em>#</em> or <em>;</em>).
768Double quote <em><tt>"</tt></em> and backslash <em><tt>\</tt></em> characters in variable value must
769be escaped: use <em><tt>\"</tt></em> for <em><tt>"</tt></em> and <em><tt>\\</tt></em> for <em><tt>\</tt></em>.</p>
770<p>The following escape sequences (beside <em><tt>\"</tt></em> and <em><tt>\\</tt></em>) are recognized:
771<em><tt>\n</tt></em> for newline character (NL), <em><tt>\t</tt></em> for horizontal tabulation (HT, TAB)
772and <em><tt>\b</tt></em> for backspace (BS). No other char escape sequence, nor octal
773char sequences are valid.</p>
774<p>Variable value ending in a <em><tt>\</tt></em> is continued on the next line in the
775customary UNIX fashion.</p>
776<p>Some variables may require special value format.</p>
777<h3>Example</h3>
778<div class="literalblock">
779<div class="content">
780<pre><tt># Core variables
781[core]
782 ; Don't trust file modes
783 filemode = false</tt></pre>
784</div></div>
785<div class="literalblock">
786<div class="content">
787<pre><tt># Our diff algorithm
788[diff]
789 external = "/usr/local/bin/gnu-diff -u"
790 renames = true</tt></pre>
791</div></div>
792<div class="literalblock">
793<div class="content">
794<pre><tt>[branch "devel"]
795 remote = origin
796 merge = refs/heads/devel</tt></pre>
797</div></div>
798<div class="literalblock">
799<div class="content">
800<pre><tt># Proxy settings
801[core]
Junio C Hamanoc71a8732007-08-04 00:27:26802 gitProxy="ssh" for "kernel.org"
Junio C Hamano7ad22dc2007-01-29 02:55:48803 gitProxy=default-proxy ; for the rest</tt></pre>
804</div></div>
805<h3>Variables</h3>
806<p>Note that this list is non-comprehensive and not necessarily complete.
807For command-specific variables, you will find a more detailed description
808in the appropriate manual page. You will find a description of non-core
809porcelain configuration variables in the respective porcelain documentation.</p>
810<dl>
811<dt>
812core.fileMode
813</dt>
814<dd>
815<p>
816 If false, the executable bit differences between the index and
817 the working copy are ignored; useful on broken filesystems like FAT.
818 See <a href="git-update-index.html">git-update-index(1)</a>. True by default.
819</p>
820</dd>
821<dt>
Junio C Hamanod526ba92007-07-02 00:17:42822core.quotepath
823</dt>
824<dd>
825<p>
826 The commands that output paths (e.g. <tt>ls-files</tt>,
827 <tt>diff</tt>), when not given the <tt>-z</tt> option, will quote
828 "unusual" characters in the pathname by enclosing the
829 pathname in a double-quote pair and with backslashes the
830 same way strings in C source code are quoted. If this
831 variable is set to false, the bytes higher than 0x80 are
832 not quoted but output as verbatim. Note that double
833 quote, backslash and control characters are always
834 quoted without <tt>-z</tt> regardless of the setting of this
835 variable.
836</p>
837</dd>
838<dt>
Junio C Hamanod9e0e5d2007-04-14 16:22:04839core.autocrlf
840</dt>
841<dd>
842<p>
843 If true, makes git convert <tt>CRLF</tt> at the end of lines in text files to
844 <tt>LF</tt> when reading from the filesystem, and convert in reverse when
845 writing to the filesystem. The variable can be set to
846 <em>input</em>, in which case the conversion happens only while
847 reading from the filesystem but files are written out with
848 <tt>LF</tt> at the end of lines. Currently, which paths to consider
849 "text" (i.e. be subjected to the autocrlf mechanism) is
850 decided purely based on the contents.
851</p>
852</dd>
853<dt>
Junio C Hamano26e590a2008-02-17 03:53:51854core.safecrlf
855</dt>
856<dd>
857<p>
858 If true, makes git check if converting <tt>CRLF</tt> as controlled by
859 <tt>core.autocrlf</tt> is reversible. Git will verify if a command
860 modifies a file in the work tree either directly or indirectly.
861 For example, committing a file followed by checking out the
862 same file should yield the original file in the work tree. If
863 this is not the case for the current setting of
864 <tt>core.autocrlf</tt>, git will reject the file. The variable can
865 be set to "warn", in which case git will only warn about an
866 irreversible conversion but continue the operation.
867</p>
868<p>CRLF conversion bears a slight chance of corrupting data.
869autocrlf=true will convert CRLF to LF during commit and LF to
870CRLF during checkout. A file that contains a mixture of LF and
871CRLF before the commit cannot be recreated by git. For text
872files this is the right thing to do: it corrects line endings
873such that we have only LF line endings in the repository.
874But for binary files that are accidentally classified as text the
875conversion can corrupt data.</p>
876<p>If you recognize such corruption early you can easily fix it by
877setting the conversion type explicitly in .gitattributes. Right
878after committing you still have the original file in your work
879tree and this file is not yet corrupted. You can explicitly tell
880git that this file is binary and git will handle the file
881appropriately.</p>
882<p>Unfortunately, the desired effect of cleaning up text files with
883mixed line endings and the undesired effect of corrupting binary
884files cannot be distinguished. In both cases CRLFs are removed
885in an irreversible way. For text files this is the right thing
886to do because CRLFs are line endings, while for binary files
887converting CRLFs corrupts data.</p>
888<p>Note, this safety check does not mean that a checkout will generate a
889file identical to the original file for a different setting of
890<tt>core.autocrlf</tt>, but only for the current one. For example, a text
891file with <tt>LF</tt> would be accepted with <tt>core.autocrlf=input</tt> and could
892later be checked out with <tt>core.autocrlf=true</tt>, in which case the
893resulting file would contain <tt>CRLF</tt>, although the original file
894contained <tt>LF</tt>. However, in both work trees the line endings would be
895consistent, that is either all <tt>LF</tt> or all <tt>CRLF</tt>, but never mixed. A
896file with mixed line endings would be reported by the <tt>core.safecrlf</tt>
897mechanism.</p>
898</dd>
899<dt>
Junio C Hamanoaa83a7d2007-03-05 02:37:29900core.symlinks
901</dt>
902<dd>
903<p>
904 If false, symbolic links are checked out as small plain files that
905 contain the link text. <a href="git-update-index.html">git-update-index(1)</a> and
906 <a href="git-add.html">git-add(1)</a> will not change the recorded type to regular
907 file. Useful on filesystems like FAT that do not support
908 symbolic links. True by default.
909</p>
910</dd>
911<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:48912core.gitProxy
913</dt>
914<dd>
915<p>
916 A "proxy command" to execute (as <em>command host port</em>) instead
917 of establishing direct connection to the remote server when
918 using the git protocol for fetching. If the variable value is
919 in the "COMMAND for DOMAIN" format, the command is applied only
920 on hostnames ending with the specified domain string. This variable
921 may be set multiple times and is matched in the given order;
922 the first match wins.
923</p>
924<p>Can be overridden by the <em>GIT_PROXY_COMMAND</em> environment variable
925(which always applies universally, without the special "for"
926handling).</p>
927</dd>
928<dt>
929core.ignoreStat
930</dt>
931<dd>
932<p>
933 The working copy files are assumed to stay unchanged until you
934 mark them otherwise manually - Git will not detect the file changes
935 by lstat() calls. This is useful on systems where those are very
936 slow, such as Microsoft Windows. See <a href="git-update-index.html">git-update-index(1)</a>.
937 False by default.
938</p>
939</dd>
940<dt>
941core.preferSymlinkRefs
942</dt>
943<dd>
944<p>
945 Instead of the default "symref" format for HEAD
946 and other symbolic reference files, use symbolic links.
947 This is sometimes needed to work with old scripts that
948 expect HEAD to be a symbolic link.
949</p>
950</dd>
951<dt>
Junio C Hamano1025e752007-02-23 07:21:26952core.bare
953</dt>
954<dd>
955<p>
956 If true this repository is assumed to be <em>bare</em> and has no
957 working directory associated with it. If this is the case a
958 number of commands that require a working directory will be
959 disabled, such as <a href="git-add.html">git-add(1)</a> or <a href="git-merge.html">git-merge(1)</a>.
960</p>
961<p>This setting is automatically guessed by <a href="git-clone.html">git-clone(1)</a> or
962<a href="git-init.html">git-init(1)</a> when the repository was created. By default a
963repository that ends in "/.git" is assumed to be not bare (bare =
964false), while all other repositories are assumed to be bare (bare
965= true).</p>
966</dd>
967<dt>
Junio C Hamanod526ba92007-07-02 00:17:42968core.worktree
969</dt>
970<dd>
971<p>
972 Set the path to the working tree. The value will not be
973 used in combination with repositories found automatically in
974 a .git directory (i.e. $GIT_DIR is not set).
Junio C Hamano764a6672007-10-23 01:23:31975 This can be overridden by the GIT_WORK_TREE environment
Junio C Hamano7d575a52008-04-30 08:45:27976 variable and the <em>--work-tree</em> command line option. It can be
977 a absolute path or relative path to the directory specified by
978 --git-dir or GIT_DIR.
979 Note: If --git-dir or GIT_DIR are specified but none of
980 --work-tree, GIT_WORK_TREE and core.worktree is specified,
981 the current working directory is regarded as the top directory
982 of your working tree.
Junio C Hamanod526ba92007-07-02 00:17:42983</p>
984</dd>
985<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:48986core.logAllRefUpdates
987</dt>
988<dd>
989<p>
Junio C Hamanocae86272007-08-21 02:20:49990 Enable the reflog. Updates to a ref &lt;ref&gt; is logged to the file
Junio C Hamano7ad22dc2007-01-29 02:55:48991 "$GIT_DIR/logs/&lt;ref&gt;", by appending the new and old
992 SHA1, the date/time and the reason of the update, but
993 only when the file exists. If this configuration
994 variable is set to true, missing "$GIT_DIR/logs/&lt;ref&gt;"
995 file is automatically created for branch heads.
996</p>
997<p>This information can be used to determine what commit
998was the tip of a branch "2 days ago".</p>
999<p>This value is true by default in a repository that has
1000a working directory associated with it, and false by
1001default in a bare repository.</p>
1002</dd>
1003<dt>
1004core.repositoryFormatVersion
1005</dt>
1006<dd>
1007<p>
1008 Internal variable identifying the repository format and layout
1009 version.
1010</p>
1011</dd>
1012<dt>
1013core.sharedRepository
1014</dt>
1015<dd>
1016<p>
1017 When <em>group</em> (or <em>true</em>), the repository is made shareable between
1018 several users in a group (making sure all the files and objects are
1019 group-writable). When <em>all</em> (or <em>world</em> or <em>everybody</em>), the
1020 repository will be readable by all users, additionally to being
1021 group-shareable. When <em>umask</em> (or <em>false</em>), git will use permissions
Junio C Hamano2f102bb2008-04-26 02:23:371022 reported by umask(2). When <em>0xxx</em>, where <em>0xxx</em> is an octal number,
1023 files in the repository will have this mode value. <em>0xxx</em> will override
1024 user's umask value, and thus, users with a safe umask (0077) can use
1025 this option. Examples: <em>0660</em> is equivalent to <em>group</em>. <em>0640</em> is a
1026 repository that is group-readable but not group-writable.
1027 See <a href="git-init.html">git-init(1)</a>. False by default.
Junio C Hamano7ad22dc2007-01-29 02:55:481028</p>
1029</dd>
1030<dt>
1031core.warnAmbiguousRefs
1032</dt>
1033<dd>
1034<p>
1035 If true, git will warn you if the ref name you passed it is ambiguous
1036 and might match multiple refs in the .git/refs/ tree. True by default.
1037</p>
1038</dd>
1039<dt>
1040core.compression
1041</dt>
1042<dd>
1043<p>
Junio C Hamanof2ce2972007-05-20 19:12:091044 An integer -1..9, indicating a default compression level.
1045 -1 is the zlib default. 0 means no compression,
1046 and 1..9 are various speed/size tradeoffs, 9 being slowest.
Junio C Hamano2e72a942007-11-21 08:54:421047 If set, this provides a default to other compression variables,
1048 such as <em>core.loosecompression</em> and <em>pack.compression</em>.
Junio C Hamano7ad22dc2007-01-29 02:55:481049</p>
1050</dd>
1051<dt>
Junio C Hamanof2ce2972007-05-20 19:12:091052core.loosecompression
Junio C Hamano7ad22dc2007-01-29 02:55:481053</dt>
1054<dd>
1055<p>
Junio C Hamanof2ce2972007-05-20 19:12:091056 An integer -1..9, indicating the compression level for objects that
1057 are not in a pack file. -1 is the zlib default. 0 means no
1058 compression, and 1..9 are various speed/size tradeoffs, 9 being
1059 slowest. If not set, defaults to core.compression. If that is
Junio C Hamano2e72a942007-11-21 08:54:421060 not set, defaults to 1 (best speed).
Junio C Hamano7ad22dc2007-01-29 02:55:481061</p>
1062</dd>
1063<dt>
1064core.packedGitWindowSize
1065</dt>
1066<dd>
1067<p>
1068 Number of bytes of a pack file to map into memory in a
1069 single mapping operation. Larger window sizes may allow
1070 your system to process a smaller number of large pack files
1071 more quickly. Smaller window sizes will negatively affect
1072 performance due to increased calls to the operating system's
1073 memory manager, but may improve performance when accessing
1074 a large number of large pack files.
1075</p>
1076<p>Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32
1077MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should
1078be reasonable for all users/operating systems. You probably do
1079not need to adjust this value.</p>
1080<p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p>
1081</dd>
1082<dt>
1083core.packedGitLimit
1084</dt>
1085<dd>
1086<p>
1087 Maximum number of bytes to map simultaneously into memory
1088 from pack files. If Git needs to access more than this many
1089 bytes at once to complete an operation it will unmap existing
1090 regions to reclaim virtual address space within the process.
1091</p>
1092<p>Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit platforms.
1093This should be reasonable for all users/operating systems, except on
1094the largest projects. You probably do not need to adjust this value.</p>
1095<p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p>
1096</dd>
1097<dt>
Junio C Hamanob8c51282007-03-19 10:43:301098core.deltaBaseCacheLimit
1099</dt>
1100<dd>
1101<p>
1102 Maximum number of bytes to reserve for caching base objects
1103 that multiple deltafied objects reference. By storing the
1104 entire decompressed base objects in a cache Git is able
1105 to avoid unpacking and decompressing frequently used base
1106 objects multiple times.
1107</p>
1108<p>Default is 16 MiB on all platforms. This should be reasonable
1109for all users/operating systems, except on the largest projects.
1110You probably do not need to adjust this value.</p>
1111<p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p>
1112</dd>
1113<dt>
Junio C Hamano1d90cb02007-07-03 07:05:311114core.excludesfile
Junio C Hamano5e284b42007-05-22 07:23:371115</dt>
1116<dd>
1117<p>
1118 In addition to <em>.gitignore</em> (per-directory) and
1119 <em>.git/info/exclude</em>, git looks into this file for patterns
Junio C Hamano679d22d2007-06-02 21:13:441120 of files which are not meant to be tracked. See
1121 <a href="gitignore.html">gitignore(5)</a>.
Junio C Hamano5e284b42007-05-22 07:23:371122</p>
1123</dd>
1124<dt>
Junio C Hamanof6002a92007-07-20 10:28:221125core.editor
1126</dt>
1127<dd>
1128<p>
1129 Commands such as <tt>commit</tt> and <tt>tag</tt> that lets you edit
Junio C Hamanoa6387422007-08-25 03:54:271130 messages by launching an editor uses the value of this
Junio C Hamanof6002a92007-07-20 10:28:221131 variable when it is set, and the environment variable
1132 <tt>GIT_EDITOR</tt> is not set. The order of preference is
Junio C Hamanode9879a2007-07-22 09:33:421133 <tt>GIT_EDITOR</tt> environment, <tt>core.editor</tt>, <tt>VISUAL</tt> and
1134 <tt>EDITOR</tt> environment variables and then finally <tt>vi</tt>.
Junio C Hamanof6002a92007-07-20 10:28:221135</p>
1136</dd>
1137<dt>
Junio C Hamano28d8ede2007-07-05 05:51:381138core.pager
1139</dt>
1140<dd>
1141<p>
1142 The command that git will use to paginate output. Can be overridden
1143 with the <tt>GIT_PAGER</tt> environment variable.
1144</p>
1145</dd>
1146<dt>
Junio C Hamano942b35e2007-12-09 10:19:331147core.whitespace
1148</dt>
1149<dd>
1150<p>
1151 A comma separated list of common whitespace problems to
1152 notice. <tt>git diff</tt> will use <tt>color.diff.whitespace</tt> to
1153 highlight them, and <tt>git apply --whitespace=error</tt> will
1154 consider them as errors:
1155</p>
1156<ul>
1157<li>
1158<p>
1159<tt>trailing-space</tt> treats trailing whitespaces at the end of the line
1160 as an error (enabled by default).
1161</p>
1162</li>
1163<li>
1164<p>
1165<tt>space-before-tab</tt> treats a space character that appears immediately
1166 before a tab character in the initial indent part of the line as an
1167 error (enabled by default).
1168</p>
1169</li>
1170<li>
1171<p>
1172<tt>indent-with-non-tab</tt> treats a line that is indented with 8 or more
Junio C Hamano42a2e2d2007-12-16 22:13:421173 space characters as an error (not enabled by default).
Junio C Hamano942b35e2007-12-09 10:19:331174</p>
1175</li>
Junio C Hamano601f3e52008-02-25 08:40:421176<li>
1177<p>
1178<tt>cr-at-eol</tt> treats a carriage-return at the end of line as
1179 part of the line terminator, i.e. with it, <tt>trailing-space</tt>
1180 does not trigger if the character before such a carriage-return
1181 is not a whitespace (not enabled by default).
1182</p>
1183</li>
Junio C Hamano942b35e2007-12-09 10:19:331184</ul>
1185</dd>
1186<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481187alias.*
1188</dt>
1189<dd>
1190<p>
1191 Command aliases for the <a href="git.html">git(1)</a> command wrapper - e.g.
1192 after defining "alias.last = cat-file commit HEAD", the invocation
1193 "git last" is equivalent to "git cat-file commit HEAD". To avoid
1194 confusion and troubles with script usage, aliases that
1195 hide existing git commands are ignored. Arguments are split by
1196 spaces, the usual shell quoting and escaping is supported.
1197 quote pair and a backslash can be used to quote them.
1198</p>
Junio C Hamanodbb64592007-09-01 11:17:391199<p>If the alias expansion is prefixed with an exclamation point,
Junio C Hamano9cb74f22007-02-12 04:15:051200it will be treated as a shell command. For example, defining
1201"alias.new = !gitk --all --not ORIG_HEAD", the invocation
1202"git new" is equivalent to running the shell command
Junio C Hamanodbb64592007-09-01 11:17:391203"gitk --all --not ORIG_HEAD".</p>
Junio C Hamano7ad22dc2007-01-29 02:55:481204</dd>
1205<dt>
1206apply.whitespace
1207</dt>
1208<dd>
1209<p>
1210 Tells <tt>git-apply</tt> how to handle whitespaces, in the same way
1211 as the <em>--whitespace</em> option. See <a href="git-apply.html">git-apply(1)</a>.
1212</p>
1213</dd>
1214<dt>
Junio C Hamano7fd84172007-05-24 07:00:321215branch.autosetupmerge
1216</dt>
1217<dd>
1218<p>
1219 Tells <tt>git-branch</tt> and <tt>git-checkout</tt> to setup new branches
Junio C Hamano24bc09a2008-02-28 00:27:441220 so that <a href="git-pull.html">git-pull(1)</a> will appropriately merge from the
1221 starting point branch. Note that even if this option is not set,
Junio C Hamano7fd84172007-05-24 07:00:321222 this behavior can be chosen per-branch using the <tt>--track</tt>
Junio C Hamano24bc09a2008-02-28 00:27:441223 and <tt>--no-track</tt> options. The valid settings are: <tt>false</tt> &#8212; no
1224 automatic setup is done; <tt>true</tt> &#8212; automatic setup is done when the
1225 starting point is a remote branch; <tt>always</tt> &#8212; automatic setup is
1226 done when the starting point is either a local branch or remote
1227 branch. This option defaults to true.
Junio C Hamano7fd84172007-05-24 07:00:321228</p>
1229</dd>
1230<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481231branch.&lt;name&gt;.remote
1232</dt>
1233<dd>
1234<p>
1235 When in branch &lt;name&gt;, it tells <tt>git fetch</tt> which remote to fetch.
1236 If this option is not given, <tt>git fetch</tt> defaults to remote "origin".
1237</p>
1238</dd>
1239<dt>
1240branch.&lt;name&gt;.merge
1241</dt>
1242<dd>
1243<p>
Junio C Hamanoc2b47092007-10-25 06:50:311244 When in branch &lt;name&gt;, it tells <tt>git fetch</tt> the default
1245 refspec to be marked for merging in FETCH_HEAD. The value is
1246 handled like the remote part of a refspec, and must match a
1247 ref which is fetched from the remote given by
1248 "branch.&lt;name&gt;.remote".
Junio C Hamano7ad22dc2007-01-29 02:55:481249 The merge information is used by <tt>git pull</tt> (which at first calls
1250 <tt>git fetch</tt>) to lookup the default branch for merging. Without
1251 this option, <tt>git pull</tt> defaults to merge the first refspec fetched.
1252 Specify multiple values to get an octopus merge.
Junio C Hamano6e149c02007-03-16 10:21:071253 If you wish to setup <tt>git pull</tt> so that it merges into &lt;name&gt; from
1254 another branch in the local repository, you can point
1255 branch.&lt;name&gt;.merge to the desired branch, and use the special setting
1256 <tt>.</tt> (a period) for branch.&lt;name&gt;.remote.
Junio C Hamano7ad22dc2007-01-29 02:55:481257</p>
1258</dd>
1259<dt>
Junio C Hamano1b50ce92007-10-03 12:05:531260branch.&lt;name&gt;.mergeoptions
1261</dt>
1262<dd>
1263<p>
1264 Sets default options for merging into branch &lt;name&gt;. The syntax and
1265 supported options are equal to that of <a href="git-merge.html">git-merge(1)</a>, but
1266 option values containing whitespace characters are currently not
1267 supported.
1268</p>
1269</dd>
1270<dt>
Junio C Hamano0c999702007-12-03 09:57:551271branch.&lt;name&gt;.rebase
1272</dt>
1273<dd>
1274<p>
1275 When true, rebase the branch &lt;name&gt; on top of the fetched branch,
1276 instead of merging the default branch from the default remote.
1277 <strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use
1278 it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a>
1279 for details).
1280</p>
1281</dd>
1282<dt>
Junio C Hamano8760ea62008-03-14 08:58:451283browser.&lt;tool&gt;.cmd
1284</dt>
1285<dd>
1286<p>
1287 Specify the command to invoke the specified browser. The
1288 specified command is evaluated in shell with the URLs passed
1289 as arguments. (See <a href="git-web--browse.html">git-web--browse(1)</a>.)
1290</p>
1291</dd>
1292<dt>
Junio C Hamanoe35a6fc2008-01-29 09:46:271293browser.&lt;tool&gt;.path
1294</dt>
1295<dd>
1296<p>
1297 Override the path for the given tool that may be used to
1298 browse HTML help (see <em>-w</em> option in <a href="git-help.html">git-help(1)</a>) or a
1299 working repository in gitweb (see <a href="git-instaweb.html">git-instaweb(1)</a>).
1300</p>
1301</dd>
1302<dt>
Junio C Hamano47b9acd2007-04-24 07:34:341303clean.requireForce
1304</dt>
1305<dd>
1306<p>
Junio C Hamano422cfec2007-11-08 08:07:451307 A boolean to make git-clean do nothing unless given -f
1308 or -n. Defaults to true.
Junio C Hamano47b9acd2007-04-24 07:34:341309</p>
1310</dd>
1311<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481312color.branch
1313</dt>
1314<dd>
1315<p>
1316 A boolean to enable/disable color in the output of
Junio C Hamano0fc8cd92007-12-06 03:26:211317 <a href="git-branch.html">git-branch(1)</a>. May be set to <tt>always</tt>,
1318 <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:481319 only when the output is to a terminal. Defaults to false.
1320</p>
1321</dd>
1322<dt>
1323color.branch.&lt;slot&gt;
1324</dt>
1325<dd>
1326<p>
1327 Use customized color for branch coloration. <tt>&lt;slot&gt;</tt> is one of
1328 <tt>current</tt> (the current branch), <tt>local</tt> (a local branch),
1329 <tt>remote</tt> (a tracking branch in refs/remotes/), <tt>plain</tt> (other
1330 refs).
1331</p>
1332<p>The value for these configuration variables is a list of colors (at most
1333two) and attributes (at most one), separated by spaces. The colors
1334accepted are <tt>normal</tt>, <tt>black</tt>, <tt>red</tt>, <tt>green</tt>, <tt>yellow</tt>, <tt>blue</tt>,
1335<tt>magenta</tt>, <tt>cyan</tt> and <tt>white</tt>; the attributes are <tt>bold</tt>, <tt>dim</tt>, <tt>ul</tt>,
1336<tt>blink</tt> and <tt>reverse</tt>. The first color given is the foreground; the
1337second is the background. The position of the attribute, if any,
1338doesn't matter.</p>
1339</dd>
1340<dt>
1341color.diff
1342</dt>
1343<dd>
1344<p>
Junio C Hamano0fc8cd92007-12-06 03:26:211345 When set to <tt>always</tt>, always use colors in patch.
1346 When false (or <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use
1347 colors only when the output is to the terminal. Defaults to false.
Junio C Hamano7ad22dc2007-01-29 02:55:481348</p>
1349</dd>
1350<dt>
1351color.diff.&lt;slot&gt;
1352</dt>
1353<dd>
1354<p>
1355 Use customized color for diff colorization. <tt>&lt;slot&gt;</tt> specifies
1356 which part of the patch to use the specified color, and is one
1357 of <tt>plain</tt> (context text), <tt>meta</tt> (metainformation), <tt>frag</tt>
1358 (hunk header), <tt>old</tt> (removed lines), <tt>new</tt> (added lines),
Junio C Hamano942b35e2007-12-09 10:19:331359 <tt>commit</tt> (commit headers), or <tt>whitespace</tt> (highlighting
1360 whitespace errors). The values of these variables may be specified as
Junio C Hamano7ad22dc2007-01-29 02:55:481361 in color.branch.&lt;slot&gt;.
1362</p>
1363</dd>
1364<dt>
Junio C Hamano00b8b632007-12-07 09:50:491365color.interactive
1366</dt>
1367<dd>
1368<p>
Junio C Hamano35738e82008-01-07 07:55:461369 When set to <tt>always</tt>, always use colors for interactive prompts
1370 and displays (such as those used by "git add --interactive").
Junio C Hamano00b8b632007-12-07 09:50:491371 When false (or <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use
1372 colors only when the output is to the terminal. Defaults to false.
1373</p>
1374</dd>
1375<dt>
1376color.interactive.&lt;slot&gt;
1377</dt>
1378<dd>
1379<p>
1380 Use customized color for <tt>git add --interactive</tt>
1381 output. <tt>&lt;slot&gt;</tt> may be <tt>prompt</tt>, <tt>header</tt>, or <tt>help</tt>, for
1382 three distinct types of normal output from interactive
1383 programs. The values of these variables may be specified as
1384 in color.branch.&lt;slot&gt;.
1385</p>
1386</dd>
1387<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481388color.pager
1389</dt>
1390<dd>
1391<p>
1392 A boolean to enable/disable colored output when the pager is in
1393 use (default is true).
1394</p>
1395</dd>
1396<dt>
1397color.status
1398</dt>
1399<dd>
1400<p>
1401 A boolean to enable/disable color in the output of
Junio C Hamano0fc8cd92007-12-06 03:26:211402 <a href="git-status.html">git-status(1)</a>. May be set to <tt>always</tt>,
1403 <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:481404 only when the output is to a terminal. Defaults to false.
1405</p>
1406</dd>
1407<dt>
1408color.status.&lt;slot&gt;
1409</dt>
1410<dd>
1411<p>
1412 Use customized color for status colorization. <tt>&lt;slot&gt;</tt> is
1413 one of <tt>header</tt> (the header text of the status message),
1414 <tt>added</tt> or <tt>updated</tt> (files which are added but not committed),
1415 <tt>changed</tt> (files which are changed but not added in the index),
1416 or <tt>untracked</tt> (files which are not tracked by git). The values of
1417 these variables may be specified as in color.branch.&lt;slot&gt;.
1418</p>
1419</dd>
1420<dt>
Junio C Hamanob968dbb2007-07-27 07:26:401421commit.template
1422</dt>
1423<dd>
1424<p>
1425 Specify a file to use as the template for new commit messages.
1426</p>
1427</dd>
1428<dt>
Junio C Hamano83d46a22008-02-21 02:29:421429color.ui
1430</dt>
1431<dd>
1432<p>
1433 When set to <tt>always</tt>, always use colors in all git commands which
1434 are capable of colored output. When false (or <tt>never</tt>), never. When
1435 set to <tt>true</tt> or <tt>auto</tt>, use colors only when the output is to the
1436 terminal. When more specific variables of color.* are set, they always
1437 take precedence over this setting. Defaults to false.
1438</p>
1439</dd>
1440<dt>
Junio C Hamanodbb64592007-09-01 11:17:391441diff.autorefreshindex
1442</dt>
1443<dd>
1444<p>
1445 When using <tt>git diff</tt> to compare with work tree
1446 files, do not consider stat-only change as changed.
1447 Instead, silently run <tt>git update-index --refresh</tt> to
1448 update the cached stat information for paths whose
1449 contents in the work tree match the contents in the
1450 index. This option defaults to true. Note that this
1451 affects only <tt>git diff</tt> Porcelain, and not lower level
1452 <tt>diff</tt> commands, such as <tt>git diff-files</tt>.
1453</p>
1454</dd>
1455<dt>
Junio C Hamano1fbbbc12007-12-18 07:01:271456diff.external
1457</dt>
1458<dd>
1459<p>
1460 If this config variable is set, diff generation is not
1461 performed using the internal diff machinery, but using the
1462 given command. Note: if you want to use an external diff
1463 program only on a subset of your files, you might want to
1464 use <a href="gitattributes.html">gitattributes(5)</a> instead.
1465</p>
1466</dd>
1467<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481468diff.renameLimit
1469</dt>
1470<dd>
1471<p>
1472 The number of files to consider when performing the copy/rename
1473 detection; equivalent to the git diff option <em>-l</em>.
1474</p>
1475</dd>
1476<dt>
1477diff.renames
1478</dt>
1479<dd>
1480<p>
1481 Tells git to detect renames. If set to any boolean value, it
1482 will enable basic rename detection. If set to "copies" or
1483 "copy", it will detect copies, as well.
1484</p>
1485</dd>
1486<dt>
1487fetch.unpackLimit
1488</dt>
1489<dd>
1490<p>
1491 If the number of objects fetched over the git native
1492 transfer is below this
1493 limit, then the objects will be unpacked into loose object
1494 files. However if the number of received objects equals or
1495 exceeds this limit then the received pack will be stored as
1496 a pack, after adding any missing delta bases. Storing the
1497 pack from a push can make the push operation complete faster,
Junio C Hamanoe77b0152008-01-12 06:44:171498 especially on slow filesystems. If not set, the value of
1499 <tt>transfer.unpackLimit</tt> is used instead.
Junio C Hamano7ad22dc2007-01-29 02:55:481500</p>
1501</dd>
1502<dt>
Junio C Hamano8c5802d2007-11-15 00:13:361503format.numbered
1504</dt>
1505<dd>
1506<p>
1507 A boolean which can enable sequence numbers in patch subjects.
Junio C Hamanofe986052007-12-19 07:33:381508 Setting this option to "auto" will enable it only if there is
Junio C Hamano8c5802d2007-11-15 00:13:361509 more than one patch. See --numbered option in
1510 <a href="git-format-patch.html">git-format-patch(1)</a>.
1511</p>
1512</dd>
1513<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481514format.headers
1515</dt>
1516<dd>
1517<p>
1518 Additional email headers to include in a patch to be submitted
1519 by mail. See <a href="git-format-patch.html">git-format-patch(1)</a>.
1520</p>
1521</dd>
1522<dt>
Junio C Hamanod4c8e112007-03-04 10:32:381523format.suffix
1524</dt>
1525<dd>
1526<p>
1527 The default for format-patch is to output files with the suffix
1528 <tt>.patch</tt>. Use this variable to change that suffix (make sure to
1529 include the dot if you want it).
1530</p>
1531</dd>
1532<dt>
Junio C Hamano86bcccc2008-03-08 09:33:551533format.pretty
1534</dt>
1535<dd>
1536<p>
1537 The default pretty format for log/show/whatchanged command,
1538 See <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>,
1539 <a href="git-whatchanged.html">git-whatchanged(1)</a>.
1540</p>
1541</dd>
1542<dt>
Junio C Hamanof2ce2972007-05-20 19:12:091543gc.aggressiveWindow
1544</dt>
1545<dd>
1546<p>
1547 The window size parameter used in the delta compression
1548 algorithm used by <em>git gc --aggressive</em>. This defaults
1549 to 10.
1550</p>
1551</dd>
1552<dt>
Junio C Hamano1b50ce92007-10-03 12:05:531553gc.auto
1554</dt>
1555<dd>
1556<p>
1557 When there are approximately more than this many loose
1558 objects in the repository, <tt>git gc --auto</tt> will pack them.
1559 Some Porcelain commands use this command to perform a
Junio C Hamanoe77b0152008-01-12 06:44:171560 light-weight garbage collection from time to time. The
1561 default value is 6700. Setting this to 0 disables it.
Junio C Hamano1b50ce92007-10-03 12:05:531562</p>
1563</dd>
1564<dt>
1565gc.autopacklimit
1566</dt>
1567<dd>
1568<p>
1569 When there are more than this many packs that are not
1570 marked with <tt>*.keep</tt> file in the repository, <tt>git gc
Junio C Hamanoe77b0152008-01-12 06:44:171571 --auto</tt> consolidates them into one larger pack. The
Junio C Hamano25c0b702008-03-23 09:41:371572 default value is 50. Setting this to 0 disables it.
Junio C Hamano1b50ce92007-10-03 12:05:531573</p>
1574</dd>
1575<dt>
Junio C Hamano9d52e572007-02-13 23:48:201576gc.packrefs
1577</dt>
1578<dd>
1579<p>
1580 <tt>git gc</tt> does not run <tt>git pack-refs</tt> in a bare repository by
1581 default so that older dumb-transport clients can still fetch
1582 from the repository. Setting this to <tt>true</tt> lets <tt>git
1583 gc</tt> to run <tt>git pack-refs</tt>. Setting this to <tt>false</tt> tells
1584 <tt>git gc</tt> never to run <tt>git pack-refs</tt>. The default setting is
1585 <tt>notbare</tt>. Enable it only when you know you do not have to
1586 support such clients. The default setting will change to <tt>true</tt>
1587 at some stage, and setting this to <tt>false</tt> will continue to
1588 prevent <tt>git pack-refs</tt> from being run from <tt>git gc</tt>.
1589</p>
1590</dd>
1591<dt>
Junio C Hamano09a926d2008-03-13 07:55:291592gc.pruneexpire
1593</dt>
1594<dd>
1595<p>
1596 When <tt>git gc</tt> is run, it will call <tt>prune --expire 2.weeks.ago</tt>.
1597 Override the grace period with this config variable.
1598</p>
1599</dd>
1600<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481601gc.reflogexpire
1602</dt>
1603<dd>
1604<p>
1605 <tt>git reflog expire</tt> removes reflog entries older than
1606 this time; defaults to 90 days.
1607</p>
1608</dd>
1609<dt>
1610gc.reflogexpireunreachable
1611</dt>
1612<dd>
1613<p>
1614 <tt>git reflog expire</tt> removes reflog entries older than
1615 this time and are not reachable from the current tip;
1616 defaults to 30 days.
1617</p>
1618</dd>
1619<dt>
1620gc.rerereresolved
1621</dt>
1622<dd>
1623<p>
1624 Records of conflicted merge you resolved earlier are
1625 kept for this many days when <tt>git rerere gc</tt> is run.
1626 The default is 60 days. See <a href="git-rerere.html">git-rerere(1)</a>.
1627</p>
1628</dd>
1629<dt>
1630gc.rerereunresolved
1631</dt>
1632<dd>
1633<p>
1634 Records of conflicted merge you have not resolved are
1635 kept for this many days when <tt>git rerere gc</tt> is run.
1636 The default is 15 days. See <a href="git-rerere.html">git-rerere(1)</a>.
1637</p>
1638</dd>
1639<dt>
Junio C Hamano7a4a2832007-07-07 21:53:221640rerere.enabled
1641</dt>
1642<dd>
1643<p>
1644 Activate recording of resolved conflicts, so that identical
1645 conflict hunks can be resolved automatically, should they
Junio C Hamanoe0facb92007-12-05 10:59:481646 be encountered again. <a href="git-rerere.html">git-rerere(1)</a> command is by
Junio C Hamano0e47b232008-01-15 08:31:101647 default enabled if you create <tt>rr-cache</tt> directory under
1648 <tt>$GIT_DIR</tt>, but can be disabled by setting this option to false.
Junio C Hamano7a4a2832007-07-07 21:53:221649</p>
1650</dd>
1651<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481652gitcvs.enabled
1653</dt>
1654<dd>
1655<p>
Junio C Hamanoa6387422007-08-25 03:54:271656 Whether the CVS server interface is enabled for this repository.
Junio C Hamano7ad22dc2007-01-29 02:55:481657 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
1658</p>
1659</dd>
1660<dt>
1661gitcvs.logfile
1662</dt>
1663<dd>
1664<p>
Junio C Hamanoa6387422007-08-25 03:54:271665 Path to a log file where the CVS server interface well&#8230; logs
Junio C Hamano7ad22dc2007-01-29 02:55:481666 various stuff. See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
1667</p>
1668</dd>
1669<dt>
Junio C Hamanod9e0e5d2007-04-14 16:22:041670gitcvs.allbinary
1671</dt>
1672<dd>
1673<p>
1674 If true, all files are sent to the client in mode <em>-kb</em>. This
1675 causes the client to treat all files as binary files which suppresses
1676 any newline munging it otherwise might do. A work-around for the
1677 fact that there is no way yet to set single files to mode <em>-kb</em>.
Junio C Hamanoa2ad99e2007-04-18 09:57:041678</p>
1679</dd>
1680<dt>
1681gitcvs.dbname
1682</dt>
1683<dd>
1684<p>
1685 Database used by git-cvsserver to cache revision information
1686 derived from the git repository. The exact meaning depends on the
1687 used database driver, for SQLite (which is the default driver) this
1688 is a filename. Supports variable substitution (see
1689 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). May not contain semicolons (<tt>;</tt>).
1690 Default: <em>%Ggitcvs.%m.sqlite</em>
1691</p>
1692</dd>
1693<dt>
1694gitcvs.dbdriver
1695</dt>
1696<dd>
1697<p>
1698 Used Perl DBI driver. You can specify any available driver
1699 for this here, but it might not work. git-cvsserver is tested
1700 with <em>DBD::SQLite</em>, reported to work with <em>DBD::Pg</em>, and
1701 reported <strong>not</strong> to work with <em>DBD::mysql</em>. Experimental feature.
1702 May not contain double colons (<tt>:</tt>). Default: <em>SQLite</em>.
Junio C Hamanod9e0e5d2007-04-14 16:22:041703 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
1704</p>
1705</dd>
1706<dt>
Junio C Hamanoa2ad99e2007-04-18 09:57:041707gitcvs.dbuser, gitcvs.dbpass
1708</dt>
1709<dd>
1710<p>
1711 Database user and password. Only useful if setting <em>gitcvs.dbdriver</em>,
1712 since SQLite has no concept of database users and/or passwords.
1713 <em>gitcvs.dbuser</em> supports variable substitution (see
1714 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details).
1715</p>
1716</dd>
Junio C Hamanoa74efce2008-04-02 08:39:081717<dt>
1718gitcvs.dbTableNamePrefix
1719</dt>
1720<dd>
1721<p>
1722 Database table name prefix. Prepended to the names of any
1723 database tables used, allowing a single database to be used
1724 for several repositories. Supports variable substitution (see
1725 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). Any non-alphabetic
1726 characters will be replaced with underscores.
1727</p>
1728</dd>
Junio C Hamanoa2ad99e2007-04-18 09:57:041729</dl>
Junio C Hamanoa6387422007-08-25 03:54:271730<p>All gitcvs variables except for <em>gitcvs.allbinary</em> can also be
1731specified as <em>gitcvs.&lt;access_method&gt;.&lt;varname&gt;</em> (where <em>access_method</em>
1732is one of "ext" and "pserver") to make them apply only for the given
1733access method.</p>
Junio C Hamanoa2ad99e2007-04-18 09:57:041734<dl>
1735<dt>
Junio C Hamano4e272312008-01-08 09:13:211736help.browser
1737</dt>
1738<dd>
1739<p>
1740 Specify the browser that will be used to display help in the
1741 <em>web</em> format. See <a href="git-help.html">git-help(1)</a>.
1742</p>
1743</dd>
1744<dt>
1745help.format
1746</dt>
1747<dd>
1748<p>
1749 Override the default help format used by <a href="git-help.html">git-help(1)</a>.
1750 Values <em>man</em>, <em>info</em>, <em>web</em> and <em>html</em> are supported. <em>man</em> is
1751 the default. <em>web</em> and <em>html</em> are the same.
1752</p>
1753</dd>
1754<dt>
Junio C Hamano58256872007-12-04 08:31:131755http.proxy
1756</dt>
1757<dd>
1758<p>
1759 Override the HTTP proxy, normally configured using the <em>http_proxy</em>
1760 environment variable (see <a href="curl.html">curl(1)</a>). This can be overridden
1761 on a per-remote basis; see remote.&lt;name&gt;.proxy
1762</p>
1763</dd>
1764<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481765http.sslVerify
1766</dt>
1767<dd>
1768<p>
1769 Whether to verify the SSL certificate when fetching or pushing
1770 over HTTPS. Can be overridden by the <em>GIT_SSL_NO_VERIFY</em> environment
1771 variable.
1772</p>
1773</dd>
1774<dt>
1775http.sslCert
1776</dt>
1777<dd>
1778<p>
1779 File containing the SSL certificate when fetching or pushing
1780 over HTTPS. Can be overridden by the <em>GIT_SSL_CERT</em> environment
1781 variable.
1782</p>
1783</dd>
1784<dt>
1785http.sslKey
1786</dt>
1787<dd>
1788<p>
1789 File containing the SSL private key when fetching or pushing
1790 over HTTPS. Can be overridden by the <em>GIT_SSL_KEY</em> environment
1791 variable.
1792</p>
1793</dd>
1794<dt>
1795http.sslCAInfo
1796</dt>
1797<dd>
1798<p>
1799 File containing the certificates to verify the peer with when
1800 fetching or pushing over HTTPS. Can be overridden by the
1801 <em>GIT_SSL_CAINFO</em> environment variable.
1802</p>
1803</dd>
1804<dt>
1805http.sslCAPath
1806</dt>
1807<dd>
1808<p>
1809 Path containing files with the CA certificates to verify the peer
1810 with when fetching or pushing over HTTPS. Can be overridden
1811 by the <em>GIT_SSL_CAPATH</em> environment variable.
1812</p>
1813</dd>
1814<dt>
1815http.maxRequests
1816</dt>
1817<dd>
1818<p>
1819 How many HTTP requests to launch in parallel. Can be overridden
1820 by the <em>GIT_HTTP_MAX_REQUESTS</em> environment variable. Default is 5.
1821</p>
1822</dd>
1823<dt>
1824http.lowSpeedLimit, http.lowSpeedTime
1825</dt>
1826<dd>
1827<p>
1828 If the HTTP transfer speed is less than <em>http.lowSpeedLimit</em>
1829 for longer than <em>http.lowSpeedTime</em> seconds, the transfer is aborted.
1830 Can be overridden by the <em>GIT_HTTP_LOW_SPEED_LIMIT</em> and
1831 <em>GIT_HTTP_LOW_SPEED_TIME</em> environment variables.
1832</p>
1833</dd>
1834<dt>
1835http.noEPSV
1836</dt>
1837<dd>
1838<p>
1839 A boolean which disables using of EPSV ftp command by curl.
Junio C Hamanod9e0e5d2007-04-14 16:22:041840 This can helpful with some "poor" ftp servers which don't
Junio C Hamano7ad22dc2007-01-29 02:55:481841 support EPSV mode. Can be overridden by the <em>GIT_CURL_FTP_NO_EPSV</em>
1842 environment variable. Default is false (curl will use EPSV).
1843</p>
1844</dd>
1845<dt>
1846i18n.commitEncoding
1847</dt>
1848<dd>
1849<p>
1850 Character encoding the commit messages are stored in; git itself
1851 does not care per se, but this information is necessary e.g. when
1852 importing commits from emails or in the gitk graphical history
1853 browser (and possibly at other places in the future or in other
1854 porcelains). See e.g. <a href="git-mailinfo.html">git-mailinfo(1)</a>. Defaults to <em>utf-8</em>.
1855</p>
1856</dd>
1857<dt>
1858i18n.logOutputEncoding
1859</dt>
1860<dd>
1861<p>
1862 Character encoding the commit messages are converted to when
1863 running <tt>git-log</tt> and friends.
1864</p>
1865</dd>
1866<dt>
Junio C Hamano4e272312008-01-08 09:13:211867instaweb.browser
1868</dt>
1869<dd>
1870<p>
1871 Specify the program that will be used to browse your working
1872 repository in gitweb. See <a href="git-instaweb.html">git-instaweb(1)</a>.
1873</p>
1874</dd>
1875<dt>
1876instaweb.httpd
1877</dt>
1878<dd>
1879<p>
1880 The HTTP daemon command-line to start gitweb on your working
1881 repository. See <a href="git-instaweb.html">git-instaweb(1)</a>.
1882</p>
1883</dd>
1884<dt>
1885instaweb.local
1886</dt>
1887<dd>
1888<p>
1889 If true the web server started by <a href="git-instaweb.html">git-instaweb(1)</a> will
1890 be bound to the local IP (127.0.0.1).
1891</p>
1892</dd>
1893<dt>
1894instaweb.modulepath
1895</dt>
1896<dd>
1897<p>
1898 The module path for an apache httpd used by <a href="git-instaweb.html">git-instaweb(1)</a>.
1899</p>
1900</dd>
1901<dt>
1902instaweb.port
1903</dt>
1904<dd>
1905<p>
1906 The port number to bind the gitweb httpd to. See
1907 <a href="git-instaweb.html">git-instaweb(1)</a>.
1908</p>
1909</dd>
1910<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481911log.showroot
1912</dt>
1913<dd>
1914<p>
1915 If true, the initial commit will be shown as a big creation event.
1916 This is equivalent to a diff against an empty tree.
1917 Tools like <a href="git-log.html">git-log(1)</a> or <a href="git-whatchanged.html">git-whatchanged(1)</a>, which
1918 normally hide the root commit will now show it. True by default.
1919</p>
1920</dd>
1921<dt>
Junio C Hamano8b588d52008-03-15 09:48:371922man.viewer
1923</dt>
1924<dd>
1925<p>
1926 Specify the programs that may be used to display help in the
1927 <em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
1928</p>
1929</dd>
1930<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481931merge.summary
1932</dt>
1933<dd>
1934<p>
1935 Whether to include summaries of merged commits in newly created
1936 merge commit messages. False by default.
1937</p>
1938</dd>
1939<dt>
Junio C Hamano103ad7f2007-03-14 11:19:261940merge.tool
1941</dt>
1942<dd>
1943<p>
1944 Controls which merge resolution program is used by
Junio C Hamano86bcccc2008-03-08 09:33:551945 <a href="git-mergetool.html">git-mergetool(1)</a>. Valid built-in values are: "kdiff3",
1946 "tkdiff", "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff", and
1947 "opendiff". Any other value is treated is custom merge tool
1948 and there must be a corresponing mergetool.&lt;tool&gt;.cmd option.
Junio C Hamano103ad7f2007-03-14 11:19:261949</p>
1950</dd>
1951<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481952merge.verbosity
1953</dt>
1954<dd>
1955<p>
1956 Controls the amount of output shown by the recursive merge
1957 strategy. Level 0 outputs nothing except a final error
1958 message if conflicts were detected. Level 1 outputs only
1959 conflicts, 2 outputs conflicts and file changes. Level 5 and
1960 above outputs debugging information. The default is level 2.
Junio C Hamano764a6672007-10-23 01:23:311961 Can be overridden by <em>GIT_MERGE_VERBOSITY</em> environment variable.
Junio C Hamano7ad22dc2007-01-29 02:55:481962</p>
1963</dd>
1964<dt>
Junio C Hamanoe90436a2007-04-22 07:22:131965merge.&lt;driver&gt;.name
1966</dt>
1967<dd>
1968<p>
1969 Defines a human readable name for a custom low-level
1970 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
1971</p>
1972</dd>
1973<dt>
1974merge.&lt;driver&gt;.driver
1975</dt>
1976<dd>
1977<p>
1978 Defines the command that implements a custom low-level
1979 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
1980</p>
1981</dd>
1982<dt>
1983merge.&lt;driver&gt;.recursive
1984</dt>
1985<dd>
1986<p>
1987 Names a low-level merge driver to be used when
1988 performing an internal merge between common ancestors.
1989 See <a href="gitattributes.html">gitattributes(5)</a> for details.
1990</p>
1991</dd>
1992<dt>
Junio C Hamano1fbbbc12007-12-18 07:01:271993mergetool.&lt;tool&gt;.path
1994</dt>
1995<dd>
1996<p>
1997 Override the path for the given tool. This is useful in case
1998 your tool is not in the PATH.
1999</p>
2000</dd>
2001<dt>
Junio C Hamano86bcccc2008-03-08 09:33:552002mergetool.&lt;tool&gt;.cmd
2003</dt>
2004<dd>
2005<p>
2006 Specify the command to invoke the specified merge tool. The
2007 specified command is evaluated in shell with the following
2008 variables available: <em>BASE</em> is the name of a temporary file
2009 containing the common base of the files to be merged, if available;
2010 <em>LOCAL</em> is the name of a temporary file containing the contents of
2011 the file on the current branch; <em>REMOTE</em> is the name of a temporary
2012 file containing the contents of the file from the branch being
2013 merged; <em>MERGED</em> contains the name of the file to which the merge
2014 tool should write the results of a successful merge.
2015</p>
2016</dd>
2017<dt>
2018mergetool.&lt;tool&gt;.trustExitCode
2019</dt>
2020<dd>
2021<p>
2022 For a custom merge command, specify whether the exit code of
2023 the merge command can be used to determine whether the merge was
2024 successful. If this is not set to true then the merge target file
2025 timestamp is checked and the merge assumed to have been successful
2026 if the file has been updated, otherwise the user is prompted to
2027 indicate the success of the merge.
2028</p>
2029</dd>
2030<dt>
2031mergetool.keepBackup
2032</dt>
2033<dd>
2034<p>
2035 After performing a merge, the original file with conflict markers
2036 can be saved as a file with a <tt>.orig</tt> extension. If this variable
2037 is set to <tt>false</tt> then this file is not preserved. Defaults to
2038 <tt>true</tt> (i.e. keep the backup files).
2039</p>
2040</dd>
2041<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482042pack.window
2043</dt>
2044<dd>
2045<p>
2046 The size of the window used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
2047 window size is given on the command line. Defaults to 10.
2048</p>
2049</dd>
2050<dt>
Junio C Hamano91d44c52007-05-09 07:16:072051pack.depth
2052</dt>
2053<dd>
2054<p>
2055 The maximum delta depth used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
2056 maximum depth is given on the command line. Defaults to 50.
2057</p>
2058</dd>
2059<dt>
Junio C Hamano235d53f2007-07-13 00:25:152060pack.windowMemory
2061</dt>
2062<dd>
2063<p>
2064 The window memory size limit used by <a href="git-pack-objects.html">git-pack-objects(1)</a>
2065 when no limit is given on the command line. The value can be
2066 suffixed with "k", "m", or "g". Defaults to 0, meaning no
2067 limit.
2068</p>
2069</dd>
2070<dt>
Junio C Hamanof2ce2972007-05-20 19:12:092071pack.compression
2072</dt>
2073<dd>
2074<p>
2075 An integer -1..9, indicating the compression level for objects
2076 in a pack file. -1 is the zlib default. 0 means no
2077 compression, and 1..9 are various speed/size tradeoffs, 9 being
2078 slowest. If not set, defaults to core.compression. If that is
Junio C Hamano2e72a942007-11-21 08:54:422079 not set, defaults to -1, the zlib default, which is "a default
2080 compromise between speed and compression (currently equivalent
2081 to level 6)."
Junio C Hamanof2ce2972007-05-20 19:12:092082</p>
2083</dd>
2084<dt>
Junio C Hamano679d22d2007-06-02 21:13:442085pack.deltaCacheSize
2086</dt>
2087<dd>
2088<p>
Junio C Hamanoa6387422007-08-25 03:54:272089 The maximum memory in bytes used for caching deltas in
Junio C Hamano679d22d2007-06-02 21:13:442090 <a href="git-pack-objects.html">git-pack-objects(1)</a>.
2091 A value of 0 means no limit. Defaults to 0.
2092</p>
2093</dd>
2094<dt>
2095pack.deltaCacheLimit
2096</dt>
2097<dd>
2098<p>
Junio C Hamano58155b42007-09-15 07:46:142099 The maximum size of a delta, that is cached in
Junio C Hamano679d22d2007-06-02 21:13:442100 <a href="git-pack-objects.html">git-pack-objects(1)</a>. Defaults to 1000.
2101</p>
2102</dd>
2103<dt>
Junio C Hamano58155b42007-09-15 07:46:142104pack.threads
2105</dt>
2106<dd>
2107<p>
2108 Specifies the number of threads to spawn when searching for best
2109 delta matches. This requires that <a href="git-pack-objects.html">git-pack-objects(1)</a>
2110 be compiled with pthreads otherwise this option is ignored with a
2111 warning. This is meant to reduce packing time on multiprocessor
2112 machines. The required amount of memory for the delta search window
2113 is however multiplied by the number of threads.
Junio C Hamano24bc09a2008-02-28 00:27:442114 Specifying 0 will cause git to auto-detect the number of CPU's
2115 and set the number of threads accordingly.
Junio C Hamano58155b42007-09-15 07:46:142116</p>
2117</dd>
2118<dt>
Junio C Hamanod814b6d2007-11-04 11:13:492119pack.indexVersion
2120</dt>
2121<dd>
2122<p>
2123 Specify the default pack index version. Valid values are 1 for
2124 legacy pack index used by Git versions prior to 1.5.2, and 2 for
2125 the new pack index with capabilities for packs larger than 4 GB
2126 as well as proper protection against the repacking of corrupted
2127 packs. Version 2 is selected and this config option ignored
2128 whenever the corresponding pack is larger than 2 GB. Otherwise
2129 the default is 1.
2130</p>
2131</dd>
Junio C Hamano09a926d2008-03-13 07:55:292132<dt>
2133pack.packSizeLimit
2134</dt>
2135<dd>
2136<p>
Junio C Hamano49dccaf2008-02-10 10:48:012137 The default maximum size of a pack. This setting only affects
2138 packing to a file, i.e. the git:// protocol is unaffected. It
2139 can be overridden by the <tt>--max-pack-size</tt> option of
Junio C Hamano09a926d2008-03-13 07:55:292140 <a href="git-repack.html">git-repack(1)</a>.
2141</p>
2142</dd>
Junio C Hamanod814b6d2007-11-04 11:13:492143<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482144pull.octopus
2145</dt>
2146<dd>
2147<p>
2148 The default merge strategy to use when pulling multiple branches
2149 at once.
2150</p>
2151</dd>
2152<dt>
2153pull.twohead
2154</dt>
2155<dd>
2156<p>
2157 The default merge strategy to use when pulling a single branch.
2158</p>
2159</dd>
2160<dt>
2161remote.&lt;name&gt;.url
2162</dt>
2163<dd>
2164<p>
2165 The URL of a remote repository. See <a href="git-fetch.html">git-fetch(1)</a> or
2166 <a href="git-push.html">git-push(1)</a>.
2167</p>
2168</dd>
2169<dt>
Junio C Hamano58256872007-12-04 08:31:132170remote.&lt;name&gt;.proxy
2171</dt>
2172<dd>
2173<p>
2174 For remotes that require curl (http, https and ftp), the URL to
2175 the proxy to use for that remote. Set to the empty string to
2176 disable proxying for that remote.
2177</p>
2178</dd>
2179<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482180remote.&lt;name&gt;.fetch
2181</dt>
2182<dd>
2183<p>
2184 The default set of "refspec" for <a href="git-fetch.html">git-fetch(1)</a>. See
2185 <a href="git-fetch.html">git-fetch(1)</a>.
2186</p>
2187</dd>
2188<dt>
2189remote.&lt;name&gt;.push
2190</dt>
2191<dd>
2192<p>
2193 The default set of "refspec" for <a href="git-push.html">git-push(1)</a>. See
2194 <a href="git-push.html">git-push(1)</a>.
2195</p>
2196</dd>
2197<dt>
Junio C Hamano118d2772007-02-21 20:24:102198remote.&lt;name&gt;.skipDefaultUpdate
2199</dt>
2200<dd>
2201<p>
2202 If true, this remote will be skipped by default when updating
Junio C Hamano618bdde2008-01-02 10:51:082203 using the update subcommand of <a href="git-remote.html">git-remote(1)</a>.
Junio C Hamano118d2772007-02-21 20:24:102204</p>
2205</dd>
2206<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482207remote.&lt;name&gt;.receivepack
2208</dt>
2209<dd>
2210<p>
2211 The default program to execute on the remote side when pushing. See
Junio C Hamano86bcccc2008-03-08 09:33:552212 option --receive-pack of <a href="git-push.html">git-push(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:482213</p>
2214</dd>
2215<dt>
2216remote.&lt;name&gt;.uploadpack
2217</dt>
2218<dd>
2219<p>
2220 The default program to execute on the remote side when fetching. See
Junio C Hamano86bcccc2008-03-08 09:33:552221 option --upload-pack of <a href="git-fetch-pack.html">git-fetch-pack(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:482222</p>
2223</dd>
2224<dt>
Junio C Hamano17dde0e2007-02-26 09:50:212225remote.&lt;name&gt;.tagopt
2226</dt>
2227<dd>
2228<p>
Junio C Hamano86bcccc2008-03-08 09:33:552229 Setting this value to --no-tags disables automatic tag following when
2230 fetching from remote &lt;name&gt;
Junio C Hamano17dde0e2007-02-26 09:50:212231</p>
2232</dd>
2233<dt>
Junio C Hamano118d2772007-02-21 20:24:102234remotes.&lt;group&gt;
2235</dt>
2236<dd>
2237<p>
2238 The list of remotes which are fetched by "git remote update
2239 &lt;group&gt;". See <a href="git-remote.html">git-remote(1)</a>.
2240</p>
2241</dd>
2242<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482243repack.usedeltabaseoffset
2244</dt>
2245<dd>
2246<p>
2247 Allow <a href="git-repack.html">git-repack(1)</a> to create packs that uses
2248 delta-base offset. Defaults to false.
2249</p>
2250</dd>
2251<dt>
2252show.difftree
2253</dt>
2254<dd>
2255<p>
2256 The default <a href="git-diff-tree.html">git-diff-tree(1)</a> arguments to be used
2257 for <a href="git-show.html">git-show(1)</a>.
2258</p>
2259</dd>
2260<dt>
2261showbranch.default
2262</dt>
2263<dd>
2264<p>
2265 The default set of branches for <a href="git-show-branch.html">git-show-branch(1)</a>.
2266 See <a href="git-show-branch.html">git-show-branch(1)</a>.
2267</p>
2268</dd>
2269<dt>
Junio C Hamano942b35e2007-12-09 10:19:332270status.relativePaths
2271</dt>
2272<dd>
2273<p>
2274 By default, <a href="git-status.html">git-status(1)</a> shows paths relative to the
2275 current directory. Setting this variable to <tt>false</tt> shows paths
2276 relative to the repository root (this was the default for git
2277 prior to v1.5.4).
2278</p>
2279</dd>
2280<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482281tar.umask
2282</dt>
2283<dd>
2284<p>
Junio C Hamanobdebabb2007-08-23 00:25:092285 This variable can be used to restrict the permission bits of
2286 tar archive entries. The default is 0002, which turns off the
2287 world write bit. The special value "user" indicates that the
2288 archiving user's umask will be used instead. See umask(2) and
2289 <a href="git-archive.html">git-archive(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:482290</p>
2291</dd>
2292<dt>
Junio C Hamano24bc09a2008-02-28 00:27:442293url.&lt;base&gt;.insteadOf
2294</dt>
2295<dd>
2296<p>
2297 Any URL that starts with this value will be rewritten to
2298 start, instead, with &lt;base&gt;. In cases where some site serves a
2299 large number of repositories, and serves them with multiple
2300 access methods, and some users need to use different access
2301 methods, this feature allows people to specify any of the
2302 equivalent URLs and have git automatically rewrite the URL to
2303 the best alternative for the particular user, even for a
2304 never-before-seen repository on the site. When more than one
2305 insteadOf strings match a given URL, the longest match is used.
2306</p>
2307</dd>
2308<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482309user.email
2310</dt>
2311<dd>
2312<p>
2313 Your email address to be recorded in any newly created commits.
Junio C Hamano469d60e2007-04-29 18:30:342314 Can be overridden by the <em>GIT_AUTHOR_EMAIL</em>, <em>GIT_COMMITTER_EMAIL</em>, and
2315 <em>EMAIL</em> environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:482316</p>
2317</dd>
2318<dt>
2319user.name
2320</dt>
2321<dd>
2322<p>
2323 Your full name to be recorded in any newly created commits.
2324 Can be overridden by the <em>GIT_AUTHOR_NAME</em> and <em>GIT_COMMITTER_NAME</em>
2325 environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
2326</p>
2327</dd>
2328<dt>
2329user.signingkey
2330</dt>
2331<dd>
2332<p>
2333 If <a href="git-tag.html">git-tag(1)</a> is not selecting the key you want it to
2334 automatically when creating a signed tag, you can override the
2335 default selection with this variable. This option is passed
2336 unchanged to gpg's --local-user parameter, so you may specify a key
2337 using any method that gpg supports.
2338</p>
2339</dd>
2340<dt>
2341whatchanged.difftree
2342</dt>
2343<dd>
2344<p>
2345 The default <a href="git-diff-tree.html">git-diff-tree(1)</a> arguments to be used
2346 for <a href="git-whatchanged.html">git-whatchanged(1)</a>.
2347</p>
2348</dd>
2349<dt>
2350imap
2351</dt>
2352<dd>
2353<p>
2354 The configuration variables in the <em>imap</em> section are described
2355 in <a href="git-imap-send.html">git-imap-send(1)</a>.
2356</p>
2357</dd>
2358<dt>
Junio C Hamanob78d2592008-04-09 09:39:082359receive.fsckObjects
2360</dt>
2361<dd>
2362<p>
2363 If it is set to true, git-receive-pack will check all received
2364 objects. It will abort in the case of a malformed object or a
2365 broken link. The result of an abort are only dangling objects.
2366 Defaults to false.
2367</p>
2368</dd>
2369<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:482370receive.unpackLimit
2371</dt>
2372<dd>
2373<p>
2374 If the number of objects received in a push is below this
2375 limit then the objects will be unpacked into loose object
2376 files. However if the number of received objects equals or
2377 exceeds this limit then the received pack will be stored as
2378 a pack, after adding any missing delta bases. Storing the
2379 pack from a push can make the push operation complete faster,
Junio C Hamanoe77b0152008-01-12 06:44:172380 especially on slow filesystems. If not set, the value of
2381 <tt>transfer.unpackLimit</tt> is used instead.
Junio C Hamano7ad22dc2007-01-29 02:55:482382</p>
2383</dd>
2384<dt>
2385receive.denyNonFastForwards
2386</dt>
2387<dd>
2388<p>
2389 If set to true, git-receive-pack will deny a ref update which is
2390 not a fast forward. Use this to prevent such an update via a push,
2391 even if that push is forced. This configuration variable is
2392 set when initializing a shared repository.
2393</p>
2394</dd>
2395<dt>
2396transfer.unpackLimit
2397</dt>
2398<dd>
2399<p>
2400 When <tt>fetch.unpackLimit</tt> or <tt>receive.unpackLimit</tt> are
2401 not set, the value of this variable is used instead.
Junio C Hamanoe77b0152008-01-12 06:44:172402 The default value is 100.
Junio C Hamano7ad22dc2007-01-29 02:55:482403</p>
2404</dd>
Junio C Hamano4e272312008-01-08 09:13:212405<dt>
2406web.browser
2407</dt>
2408<dd>
2409<p>
2410 Specify a web browser that may be used by some commands.
2411 Currently only <a href="git-instaweb.html">git-instaweb(1)</a> and <a href="git-help.html">git-help(1)</a>
2412 may use it.
2413</p>
2414</dd>
Junio C Hamano7ad22dc2007-01-29 02:55:482415</dl>
2416</div>
2417<h2>Author</h2>
2418<div class="sectionbody">
2419<p>Written by Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;</p>
2420</div>
2421<h2>Documentation</h2>
2422<div class="sectionbody">
2423<p>Documentation by Johannes Schindelin, Petr Baudis and the git-list &lt;git@vger.kernel.org&gt;.</p>
2424</div>
2425<h2>GIT</h2>
2426<div class="sectionbody">
2427<p>Part of the <a href="git.html">git(7)</a> suite</p>
2428</div>
2429<div id="footer">
2430<div id="footer-text">
Junio C Hamano7d575a52008-04-30 08:45:272431Last updated 30-Apr-2008 08:42:07 UTC
Junio C Hamano7ad22dc2007-01-29 02:55:482432</div>
2433</div>
2434</body>
2435</html>