Autogenerated HTML docs for v1.7.0.3-291-g5e4f
[git/jnareb-git.git] / git-config.html
blob4df5ea86420adf78f26c05ad8b3adb5833a743fe
1 <!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 8.2.5" />
7 <style type="text/css">
8 /* Debug borders */
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
11 border: 1px solid red;
15 body {
16 margin: 1em 5% 1em 5%;
19 a {
20 color: blue;
21 text-decoration: underline;
23 a:visited {
24 color: fuchsia;
27 em {
28 font-style: italic;
31 strong {
32 font-weight: bold;
35 tt {
36 color: navy;
39 h1, 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;
47 h1, h2, h3 {
48 border-bottom: 2px solid silver;
50 h2 {
51 padding-top: 0.5em;
53 h3 {
54 float: left;
56 h3 + * {
57 clear: left;
60 div.sectionbody {
61 font-family: serif;
62 margin-left: 0;
65 hr {
66 border: 1px solid silver;
69 p {
70 margin-top: 0.5em;
71 margin-bottom: 0.5em;
74 pre {
75 padding: 0;
76 margin: 0;
79 span#author {
80 color: #527bbd;
81 font-family: sans-serif;
82 font-weight: bold;
83 font-size: 1.1em;
85 span#email {
87 span#revision {
88 font-family: sans-serif;
91 div#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;
98 div#footer-text {
99 float: left;
100 padding-bottom: 0.5em;
102 div#footer-badges {
103 float: right;
104 padding-bottom: 0.5em;
107 div#preamble,
108 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
109 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
110 div.admonitionblock {
111 margin-right: 10%;
112 margin-top: 1.5em;
113 margin-bottom: 1.5em;
115 div.admonitionblock {
116 margin-top: 2.5em;
117 margin-bottom: 2.5em;
120 div.content { /* Block element content. */
121 padding: 0;
124 /* Block element titles. */
125 div.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;
132 div.title + * {
133 margin-top: 0;
136 td div.title:first-child {
137 margin-top: 0.0em;
139 div.content div.title:first-child {
140 margin-top: 0.0em;
142 div.content + div.title {
143 margin-top: 0.0em;
146 div.sidebarblock > div.content {
147 background: #ffffee;
148 border: 1px solid silver;
149 padding: 0.5em;
152 div.listingblock {
153 margin-right: 0%;
155 div.listingblock > div.content {
156 border: 1px solid silver;
157 background: #f4f4f4;
158 padding: 0.5em;
161 div.quoteblock > div.content {
162 padding-left: 2.0em;
165 div.attribution {
166 text-align: right;
168 div.verseblock + div.attribution {
169 text-align: left;
172 div.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;
180 div.admonitionblock td.content {
181 padding-left: 0.5em;
182 border-left: 2px solid silver;
185 div.exampleblock > div.content {
186 border-left: 2px solid silver;
187 padding: 0.5em;
190 div.verseblock div.content {
191 white-space: pre;
194 div.imageblock div.content { padding-left: 0; }
195 div.imageblock img { border: 1px solid silver; }
196 span.image img { border-style: none; }
198 dl {
199 margin-top: 0.8em;
200 margin-bottom: 0.8em;
202 dt {
203 margin-top: 0.5em;
204 margin-bottom: 0;
205 font-style: italic;
207 dd > *:first-child {
208 margin-top: 0;
211 ul, ol {
212 list-style-position: outside;
214 div.olist2 ol {
215 list-style-type: lower-alpha;
218 div.tableblock > table {
219 border: 3px solid #527bbd;
221 thead {
222 font-family: sans-serif;
223 font-weight: bold;
225 tfoot {
226 font-weight: bold;
229 div.hlist {
230 margin-top: 0.8em;
231 margin-bottom: 0.8em;
233 div.hlist td {
234 padding-bottom: 5px;
236 td.hlist1 {
237 vertical-align: top;
238 font-style: italic;
239 padding-right: 0.8em;
241 td.hlist2 {
242 vertical-align: top;
245 @media print {
246 div#footer-badges { display: none; }
249 div#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;
258 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
259 margin-top: 0;
260 margin-bottom: 0;
262 div.toclevel2 {
263 margin-left: 2em;
264 font-size: 0.9em;
266 div.toclevel3 {
267 margin-left: 4em;
268 font-size: 0.9em;
270 div.toclevel4 {
271 margin-left: 6em;
272 font-size: 0.9em;
274 include1::./stylesheets/xhtml11-manpage.css[]
275 /* Workarounds for IE6's broken and incomplete CSS2. */
277 div.sidebar-content {
278 background: #ffffee;
279 border: 1px solid silver;
280 padding: 0.5em;
282 div.sidebar-title, div.image-title {
283 font-family: sans-serif;
284 font-weight: bold;
285 margin-top: 0.0em;
286 margin-bottom: 0.5em;
289 div.listingblock div.content {
290 border: 1px solid silver;
291 background: #f4f4f4;
292 padding: 0.5em;
295 div.quoteblock-content {
296 padding-left: 2.0em;
299 div.exampleblock-content {
300 border-left: 2px solid silver;
301 padding-left: 0.5em;
304 /* IE6 sets dynamically generated links as visited. */
305 div#toc a:visited { color: blue; }
306 </style>
307 <title>git-config(1)</title>
308 </head>
309 <body>
310 <div id="header">
311 <h1>
312 git-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">
324 <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
326 <em>git config</em> [&lt;file-option&gt;] [type] --replace-all name value [value_regex]
327 <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]
336 <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>
338 </div>
339 <h2 id="_description">DESCRIPTION</h2>
340 <div class="sectionbody">
341 <div class="para"><p>You can query/set/replace/unset options with this command. The name is
342 actually the section and the key separated by a dot, and the value will be
343 escaped.</p></div>
344 <div class="para"><p>Multiple lines can be added to an option by using the <em>--add</em> option.
345 If you want to update or unset an option which can occur on multiple
346 lines, a POSIX regexp <tt>value_regex</tt> needs to be given. Only the
347 existing values that match the regexp are updated or unset. If
348 you want to handle the lines that do <strong>not</strong> match the regex, just
349 prepend 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>, to make
351 <em>git config</em> ensure that the variable(s) are of the given type and
352 convert the value to the canonical form (simple decimal number for int,
353 a "true" or "false" string for bool), or <em>--path</em>, which does some
354 path expansion (see <em>--path</em> below). If no type specifier is passed, no
355 checks or transformations are performed on the value.</p></div>
356 <div class="para"><p>The file-option can be one of <em>--system</em>, <em>--global</em> or <em>--file</em>
357 which specify where the values will be read from or written to.
358 The default is to assume the config file of the current repository,
359 .git/config unless defined otherwise with GIT_DIR and GIT_CONFIG
360 (see <a href="#FILES">[FILES]</a>).</p></div>
361 <div class="para"><p>This command will fail if:</p></div>
362 <div class="olist"><ol>
363 <li>
365 The config file is invalid,
366 </p>
367 </li>
368 <li>
370 Can not write to the config file,
371 </p>
372 </li>
373 <li>
375 no section was provided,
376 </p>
377 </li>
378 <li>
380 the section or key is invalid,
381 </p>
382 </li>
383 <li>
385 you try to unset an option which does not exist,
386 </p>
387 </li>
388 <li>
390 you try to unset/set an option for which multiple lines match, or
391 </p>
392 </li>
393 <li>
395 you use <em>--global</em> option without $HOME being properly set.
396 </p>
397 </li>
398 </ol></div>
399 </div>
400 <h2 id="_options">OPTIONS</h2>
401 <div class="sectionbody">
402 <div class="vlist"><dl>
403 <dt>
404 --replace-all
405 </dt>
406 <dd>
408 Default behavior is to replace at most one line. This replaces
409 all lines matching the key (and optionally the value_regex).
410 </p>
411 </dd>
412 <dt>
413 --add
414 </dt>
415 <dd>
417 Adds a new line to the option without altering any existing
418 values. This is the same as providing <em>^$</em> as the value_regex
419 in <tt>--replace-all</tt>.
420 </p>
421 </dd>
422 <dt>
423 --get
424 </dt>
425 <dd>
427 Get the value for a given key (optionally filtered by a regex
428 matching the value). Returns error code 1 if the key was not
429 found and error code 2 if multiple key values were found.
430 </p>
431 </dd>
432 <dt>
433 --get-all
434 </dt>
435 <dd>
437 Like get, but does not fail if the number of values for the key
438 is not exactly one.
439 </p>
440 </dd>
441 <dt>
442 --get-regexp
443 </dt>
444 <dd>
446 Like --get-all, but interprets the name as a regular expression.
447 Also outputs the key names.
448 </p>
449 </dd>
450 <dt>
451 --global
452 </dt>
453 <dd>
455 For writing options: write to global ~/.gitconfig file rather than
456 the repository .git/config.
457 </p>
458 <div class="para"><p>For reading options: read only from global ~/.gitconfig rather than
459 from all available files.</p></div>
460 <div class="para"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
461 </dd>
462 <dt>
463 --system
464 </dt>
465 <dd>
467 For writing options: write to system-wide $(prefix)/etc/gitconfig
468 rather than the repository .git/config.
469 </p>
470 <div class="para"><p>For reading options: read only from system-wide $(prefix)/etc/gitconfig
471 rather than from all available files.</p></div>
472 <div class="para"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
473 </dd>
474 <dt>
475 -f config-file
476 </dt>
477 <dt>
478 --file config-file
479 </dt>
480 <dd>
482 Use the given config file instead of the one specified by GIT_CONFIG.
483 </p>
484 </dd>
485 <dt>
486 --remove-section
487 </dt>
488 <dd>
490 Remove the given section from the configuration file.
491 </p>
492 </dd>
493 <dt>
494 --rename-section
495 </dt>
496 <dd>
498 Rename the given section to a new name.
499 </p>
500 </dd>
501 <dt>
502 --unset
503 </dt>
504 <dd>
506 Remove the line matching the key from config file.
507 </p>
508 </dd>
509 <dt>
510 --unset-all
511 </dt>
512 <dd>
514 Remove all lines matching the key from config file.
515 </p>
516 </dd>
517 <dt>
519 </dt>
520 <dt>
521 --list
522 </dt>
523 <dd>
525 List all variables set in config file.
526 </p>
527 </dd>
528 <dt>
529 --bool
530 </dt>
531 <dd>
533 <em>git config</em> will ensure that the output is "true" or "false"
534 </p>
535 </dd>
536 <dt>
537 --int
538 </dt>
539 <dd>
541 <em>git config</em> will ensure that the output is a simple
542 decimal number. An optional value suffix of <em>k</em>, <em>m</em>, or <em>g</em>
543 in the config file will cause the value to be multiplied
544 by 1024, 1048576, or 1073741824 prior to output.
545 </p>
546 </dd>
547 <dt>
548 --bool-or-int
549 </dt>
550 <dd>
552 <em>git config</em> will ensure that the output matches the format of
553 either --bool or --int, as described above.
554 </p>
555 </dd>
556 <dt>
557 --path
558 </dt>
559 <dd>
561 <em>git-config</em> will expand leading <em>&#126;</em> to the value of
562 <em>$HOME</em>, and <em>&#126;user</em> to the home directory for the
563 specified user. This option has no effect when setting the
564 value (but you can use <em>git config bla &#126;/</em> from the
565 command line to let your shell do the expansion).
566 </p>
567 </dd>
568 <dt>
570 </dt>
571 <dt>
572 --null
573 </dt>
574 <dd>
576 For all options that output values and/or keys, always
577 end values with the null character (instead of a
578 newline). Use newline instead as a delimiter between
579 key and value. This allows for secure parsing of the
580 output without getting confused e.g. by values that
581 contain line breaks.
582 </p>
583 </dd>
584 <dt>
585 --get-colorbool name [stdout-is-tty]
586 </dt>
587 <dd>
589 Find the color setting for <tt>name</tt> (e.g. <tt>color.diff</tt>) and output
590 "true" or "false". <tt>stdout-is-tty</tt> should be either "true" or
591 "false", and is taken into account when configuration says
592 "auto". If <tt>stdout-is-tty</tt> is missing, then checks the standard
593 output of the command itself, and exits with status 0 if color
594 is to be used, or exits with status 1 otherwise.
595 When the color setting for <tt>name</tt> is undefined, the command uses
596 <tt>color.ui</tt> as fallback.
597 </p>
598 </dd>
599 <dt>
600 --get-color name [default]
601 </dt>
602 <dd>
604 Find the color configured for <tt>name</tt> (e.g. <tt>color.diff.new</tt>) and
605 output it as the ANSI color escape sequence to the standard
606 output. The optional <tt>default</tt> parameter is used instead, if
607 there is no color configured for <tt>name</tt>.
608 </p>
609 </dd>
610 <dt>
612 </dt>
613 <dt>
614 --edit
615 </dt>
616 <dd>
618 Opens an editor to modify the specified config file; either
619 <em>--system</em>, <em>--global</em>, or repository (default).
620 </p>
621 </dd>
622 </dl></div>
623 </div>
624 <h2 id="FILES">FILES</h2>
625 <div class="sectionbody">
626 <div class="para"><p>If not set explicitly with <em>--file</em>, there are three files where
627 <em>git config</em> will search for configuration options:</p></div>
628 <div class="vlist"><dl>
629 <dt>
630 $GIT_DIR/config
631 </dt>
632 <dd>
634 Repository specific configuration file. (The filename is
635 of course relative to the repository root, not the working
636 directory.)
637 </p>
638 </dd>
639 <dt>
640 ~/.gitconfig
641 </dt>
642 <dd>
644 User-specific configuration file. Also called "global"
645 configuration file.
646 </p>
647 </dd>
648 <dt>
649 $(prefix)/etc/gitconfig
650 </dt>
651 <dd>
653 System-wide configuration file.
654 </p>
655 </dd>
656 </dl></div>
657 <div class="para"><p>If no further options are given, all reading options will read all of these
658 files that are available. If the global or the system-wide configuration
659 file are not available they will be ignored. If the repository configuration
660 file is not available or readable, <em>git config</em> will exit with a non-zero
661 error code. However, in neither case will an error message be issued.</p></div>
662 <div class="para"><p>All writing options will per default write to the repository specific
663 configuration file. Note that this also affects options like <em>--replace-all</em>
664 and <em>--unset</em>. <strong><em>git config</em> will only ever change one file at a time</strong>.</p></div>
665 <div class="para"><p>You can override these rules either by command line options or by environment
666 variables. The <em>--global</em> and the <em>--system</em> options will limit the file used
667 to the global or system-wide file respectively. The GIT_CONFIG environment
668 variable has a similar effect, but you can specify any filename you want.</p></div>
669 </div>
670 <h2 id="_environment">ENVIRONMENT</h2>
671 <div class="sectionbody">
672 <div class="vlist"><dl>
673 <dt>
674 GIT_CONFIG
675 </dt>
676 <dd>
678 Take the configuration from the given file instead of .git/config.
679 Using the "--global" option forces this to ~/.gitconfig. Using the
680 "--system" option forces this to $(prefix)/etc/gitconfig.
681 </p>
682 </dd>
683 </dl></div>
684 <div class="para"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
685 </div>
686 <h2 id="EXAMPLES">EXAMPLES</h2>
687 <div class="sectionbody">
688 <div class="para"><p>Given a .git/config like this:</p></div>
689 <div class="literalblock">
690 <div class="content">
691 <pre><tt>#
692 # This is the config file, and
693 # a '#' or ';' character indicates
694 # a comment
695 #</tt></pre>
696 </div></div>
697 <div class="literalblock">
698 <div class="content">
699 <pre><tt>; core variables
700 [core]
701 ; Don't trust file modes
702 filemode = false</tt></pre>
703 </div></div>
704 <div class="literalblock">
705 <div class="content">
706 <pre><tt>; Our diff algorithm
707 [diff]
708 external = /usr/local/bin/diff-wrapper
709 renames = true</tt></pre>
710 </div></div>
711 <div class="literalblock">
712 <div class="content">
713 <pre><tt>; Proxy settings
714 [core]
715 gitproxy="proxy-command" for kernel.org
716 gitproxy=default-proxy ; for all the rest</tt></pre>
717 </div></div>
718 <div class="para"><p>you can set the filemode to true with</p></div>
719 <div class="listingblock">
720 <div class="content">
721 <pre><tt>% git config core.filemode true</tt></pre>
722 </div></div>
723 <div class="para"><p>The hypothetical proxy command entries actually have a postfix to discern
724 what URL they apply to. Here is how to change the entry for kernel.org
725 to "ssh".</p></div>
726 <div class="listingblock">
727 <div class="content">
728 <pre><tt>% git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'</tt></pre>
729 </div></div>
730 <div class="para"><p>This makes sure that only the key/value pair for kernel.org is replaced.</p></div>
731 <div class="para"><p>To delete the entry for renames, do</p></div>
732 <div class="listingblock">
733 <div class="content">
734 <pre><tt>% git config --unset diff.renames</tt></pre>
735 </div></div>
736 <div class="para"><p>If you want to delete an entry for a multivar (like core.gitproxy above),
737 you have to provide a regex matching the value of exactly one line.</p></div>
738 <div class="para"><p>To query the value for a given key, do</p></div>
739 <div class="listingblock">
740 <div class="content">
741 <pre><tt>% git config --get core.filemode</tt></pre>
742 </div></div>
743 <div class="para"><p>or</p></div>
744 <div class="listingblock">
745 <div class="content">
746 <pre><tt>% git config core.filemode</tt></pre>
747 </div></div>
748 <div class="para"><p>or, to query a multivar:</p></div>
749 <div class="listingblock">
750 <div class="content">
751 <pre><tt>% git config --get core.gitproxy "for kernel.org$"</tt></pre>
752 </div></div>
753 <div class="para"><p>If you want to know all the values for a multivar, do:</p></div>
754 <div class="listingblock">
755 <div class="content">
756 <pre><tt>% git config --get-all core.gitproxy</tt></pre>
757 </div></div>
758 <div class="para"><p>If you like to live dangerously, you can replace <strong>all</strong> core.gitproxy by a
759 new one with</p></div>
760 <div class="listingblock">
761 <div class="content">
762 <pre><tt>% git config --replace-all core.gitproxy ssh</tt></pre>
763 </div></div>
764 <div class="para"><p>However, if you really only want to replace the line for the default proxy,
765 i.e. the one without a "for &#8230;" postfix, do something like this:</p></div>
766 <div class="listingblock">
767 <div class="content">
768 <pre><tt>% git config core.gitproxy ssh '! for '</tt></pre>
769 </div></div>
770 <div class="para"><p>To actually match only values with an exclamation mark, you have to</p></div>
771 <div class="listingblock">
772 <div class="content">
773 <pre><tt>% git config section.key value '[!]'</tt></pre>
774 </div></div>
775 <div class="para"><p>To add a new proxy, without altering any of the existing ones, use</p></div>
776 <div class="listingblock">
777 <div class="content">
778 <pre><tt>% git config core.gitproxy '"proxy-command" for example.com'</tt></pre>
779 </div></div>
780 <div class="para"><p>An example to use customized color from the configuration in your
781 script:</p></div>
782 <div class="listingblock">
783 <div class="content">
784 <pre><tt>#!/bin/sh
785 WS=$(git config --get-color color.diff.whitespace "blue reverse")
786 RESET=$(git config --get-color "" "reset")
787 echo "${WS}your whitespace color or blue reverse${RESET}"</tt></pre>
788 </div></div>
789 </div>
790 <h2 id="_configuration_file">CONFIGURATION FILE</h2>
791 <div class="sectionbody">
792 <div class="para"><p>The git configuration file contains a number of variables that affect
793 the git command's behavior. The <tt>.git/config</tt> file in each repository
794 is used to store the configuration for that repository, and
795 <tt>$HOME/.gitconfig</tt> is used to store a per-user configuration as
796 fallback values for the <tt>.git/config</tt> file. The file <tt>/etc/gitconfig</tt>
797 can be used to store a system-wide default configuration.</p></div>
798 <div class="para"><p>The configuration variables are used by both the git plumbing
799 and the porcelains. The variables are divided into sections, wherein
800 the fully qualified variable name of the variable itself is the last
801 dot-separated segment and the section name is everything before the last
802 dot. The variable names are case-insensitive and only alphanumeric
803 characters are allowed. Some variables may appear multiple times.</p></div>
804 <h3 id="_syntax">Syntax</h3><div style="clear:left"></div>
805 <div class="para"><p>The syntax is fairly flexible and permissive; whitespaces are mostly
806 ignored. The <em>#</em> and <em>;</em> characters begin comments to the end of line,
807 blank lines are ignored.</p></div>
808 <div class="para"><p>The file consists of sections and variables. A section begins with
809 the name of the section in square brackets and continues until the next
810 section begins. Section names are not case sensitive. Only alphanumeric
811 characters, <tt>-</tt> and <tt>.</tt> are allowed in section names. Each variable
812 must belong to some section, which means that there must be a section
813 header before the first setting of a variable.</p></div>
814 <div class="para"><p>Sections can be further divided into subsections. To begin a subsection
815 put its name in double quotes, separated by space from the section name,
816 in the section header, like in the example below:</p></div>
817 <div class="listingblock">
818 <div class="content">
819 <pre><tt> [section "subsection"]
820 </tt></pre>
821 </div></div>
822 <div class="para"><p>Subsection names are case sensitive and can contain any characters except
823 newline (doublequote <tt>"</tt> and backslash have to be escaped as <tt>\"</tt> and <tt>\\</tt>,
824 respectively). Section headers cannot span multiple
825 lines. Variables may belong directly to a section or to a given subsection.
826 You can have <tt>[section]</tt> if you have <tt>[section "subsection"]</tt>, but you
827 don't need to.</p></div>
828 <div class="para"><p>There is also a case insensitive alternative <tt>[section.subsection]</tt> syntax.
829 In this syntax, subsection names follow the same restrictions as for section
830 names.</p></div>
831 <div class="para"><p>All the other lines (and the remainder of the line after the section
832 header) are recognized as setting variables, in the form
833 <em>name = value</em>. If there is no equal sign on the line, the entire line
834 is taken as <em>name</em> and the variable is recognized as boolean "true".
835 The variable names are case-insensitive and only alphanumeric
836 characters and <tt>-</tt> are allowed. There can be more than one value
837 for a given variable; we say then that variable is multivalued.</p></div>
838 <div class="para"><p>Leading and trailing whitespace in a variable value is discarded.
839 Internal whitespace within a variable value is retained verbatim.</p></div>
840 <div class="para"><p>The values following the equals sign in variable assign are all either
841 a string, an integer, or a boolean. Boolean values may be given as yes/no,
842 0/1, true/false or on/off. Case is not significant in boolean values, when
843 converting value to the canonical form using <em>--bool</em> type specifier;
844 <em>git config</em> will ensure that the output is "true" or "false".</p></div>
845 <div class="para"><p>String values may be entirely or partially enclosed in double quotes.
846 You need to enclose variable values in double quotes if you want to
847 preserve leading or trailing whitespace, or if the variable value contains
848 comment characters (i.e. it contains <em>#</em> or <em>;</em>).
849 Double quote <tt>"</tt> and backslash <tt>\</tt> characters in variable values must
850 be escaped: use <tt>\"</tt> for <tt>"</tt> and <tt>\\</tt> for <tt>\</tt>.</p></div>
851 <div class="para"><p>The following escape sequences (beside <tt>\"</tt> and <tt>\\</tt>) are recognized:
852 <tt>\n</tt> for newline character (NL), <tt>\t</tt> for horizontal tabulation (HT, TAB)
853 and <tt>\b</tt> for backspace (BS). No other char escape sequence, nor octal
854 char sequences are valid.</p></div>
855 <div class="para"><p>Variable values ending in a <tt>\</tt> are continued on the next line in the
856 customary UNIX fashion.</p></div>
857 <div class="para"><p>Some variables may require a special value format.</p></div>
858 <h3 id="_example">Example</h3><div style="clear:left"></div>
859 <div class="literalblock">
860 <div class="content">
861 <pre><tt># Core variables
862 [core]
863 ; Don't trust file modes
864 filemode = false</tt></pre>
865 </div></div>
866 <div class="literalblock">
867 <div class="content">
868 <pre><tt># Our diff algorithm
869 [diff]
870 external = /usr/local/bin/diff-wrapper
871 renames = true</tt></pre>
872 </div></div>
873 <div class="literalblock">
874 <div class="content">
875 <pre><tt>[branch "devel"]
876 remote = origin
877 merge = refs/heads/devel</tt></pre>
878 </div></div>
879 <div class="literalblock">
880 <div class="content">
881 <pre><tt># Proxy settings
882 [core]
883 gitProxy="ssh" for "kernel.org"
884 gitProxy=default-proxy ; for the rest</tt></pre>
885 </div></div>
886 <h3 id="_variables">Variables</h3><div style="clear:left"></div>
887 <div class="para"><p>Note that this list is non-comprehensive and not necessarily complete.
888 For command-specific variables, you will find a more detailed description
889 in the appropriate manual page. You will find a description of non-core
890 porcelain configuration variables in the respective porcelain documentation.</p></div>
891 <div class="vlist"><dl>
892 <dt>
893 advice.*
894 </dt>
895 <dd>
897 When set to <em>true</em>, display the given optional help message.
898 When set to <em>false</em>, do not display. The configuration variables
899 are:
900 </p>
901 <div class="vlist"><dl>
902 <dt>
903 pushNonFastForward
904 </dt>
905 <dd>
907 Advice shown when <a href="git-push.html">git-push(1)</a> refuses
908 non-fast-forward refs. Default: true.
909 </p>
910 </dd>
911 <dt>
912 statusHints
913 </dt>
914 <dd>
916 Directions on how to stage/unstage/add shown in the
917 output of <a href="git-status.html">git-status(1)</a> and the template shown
918 when writing commit messages. Default: true.
919 </p>
920 </dd>
921 <dt>
922 commitBeforeMerge
923 </dt>
924 <dd>
926 Advice shown when <a href="git-merge.html">git-merge(1)</a> refuses to
927 merge to avoid overwritting local changes.
928 Default: true.
929 </p>
930 </dd>
931 <dt>
932 resolveConflict
933 </dt>
934 <dd>
936 Advices shown by various commands when conflicts
937 prevent the operation from being performed.
938 Default: true.
939 </p>
940 </dd>
941 <dt>
942 implicitIdentity
943 </dt>
944 <dd>
946 Advice on how to set your identity configuration when
947 your information is guessed from the system username and
948 domain name. Default: true.
949 </p>
950 </dd>
951 <dt>
952 detachedHead
953 </dt>
954 <dd>
956 Advice shown when you used <a href=":git-checkout.html">:git-checkout(1)</a> to
957 move to the detach HEAD state, to instruct how to create
958 a local branch after the fact. Default: true.
959 </p>
960 </dd>
961 </dl></div>
962 </dd>
963 <dt>
964 core.fileMode
965 </dt>
966 <dd>
968 If false, the executable bit differences between the index and
969 the working copy are ignored; useful on broken filesystems like FAT.
970 See <a href="git-update-index.html">git-update-index(1)</a>.
971 </p>
972 <div class="para"><p>The default is true, except <a href="git-clone.html">git-clone(1)</a> or <a href="git-init.html">git-init(1)</a>
973 will probe and set core.fileMode false if appropriate when the
974 repository is created.</p></div>
975 </dd>
976 <dt>
977 core.ignoreCygwinFSTricks
978 </dt>
979 <dd>
981 This option is only used by Cygwin implementation of Git. If false,
982 the Cygwin stat() and lstat() functions are used. This may be useful
983 if your repository consists of a few separate directories joined in
984 one hierarchy using Cygwin mount. If true, Git uses native Win32 API
985 whenever it is possible and falls back to Cygwin functions only to
986 handle symbol links. The native mode is more than twice faster than
987 normal Cygwin l/stat() functions. True by default, unless core.filemode
988 is true, in which case ignoreCygwinFSTricks is ignored as Cygwin's
989 POSIX emulation is required to support core.filemode.
990 </p>
991 </dd>
992 <dt>
993 core.ignorecase
994 </dt>
995 <dd>
997 If true, this option enables various workarounds to enable
998 git to work better on filesystems that are not case sensitive,
999 like FAT. For example, if a directory listing finds
1000 "makefile" when git expects "Makefile", git will assume
1001 it is really the same file, and continue to remember it as
1002 "Makefile".
1003 </p>
1004 <div class="para"><p>The default is false, except <a href="git-clone.html">git-clone(1)</a> or <a href="git-init.html">git-init(1)</a>
1005 will probe and set core.ignorecase true if appropriate when the repository
1006 is created.</p></div>
1007 </dd>
1008 <dt>
1009 core.trustctime
1010 </dt>
1011 <dd>
1013 If false, the ctime differences between the index and the
1014 working copy are ignored; useful when the inode change time
1015 is regularly modified by something outside Git (file system
1016 crawlers and some backup systems).
1017 See <a href="git-update-index.html">git-update-index(1)</a>. True by default.
1018 </p>
1019 </dd>
1020 <dt>
1021 core.quotepath
1022 </dt>
1023 <dd>
1025 The commands that output paths (e.g. <em>ls-files</em>,
1026 <em>diff</em>), when not given the <tt>-z</tt> option, will quote
1027 "unusual" characters in the pathname by enclosing the
1028 pathname in a double-quote pair and with backslashes the
1029 same way strings in C source code are quoted. If this
1030 variable is set to false, the bytes higher than 0x80 are
1031 not quoted but output as verbatim. Note that double
1032 quote, backslash and control characters are always
1033 quoted without <tt>-z</tt> regardless of the setting of this
1034 variable.
1035 </p>
1036 </dd>
1037 <dt>
1038 core.autocrlf
1039 </dt>
1040 <dd>
1042 If true, makes git convert <tt>CRLF</tt> at the end of lines in text files to
1043 <tt>LF</tt> when reading from the filesystem, and convert in reverse when
1044 writing to the filesystem. The variable can be set to
1045 <em>input</em>, in which case the conversion happens only while
1046 reading from the filesystem but files are written out with
1047 <tt>LF</tt> at the end of lines. A file is considered
1048 "text" (i.e. be subjected to the autocrlf mechanism) based on
1049 the file's <tt>crlf</tt> attribute, or if <tt>crlf</tt> is unspecified,
1050 based on the file's contents. See <a href="gitattributes.html">gitattributes(5)</a>.
1051 </p>
1052 </dd>
1053 <dt>
1054 core.safecrlf
1055 </dt>
1056 <dd>
1058 If true, makes git check if converting <tt>CRLF</tt> as controlled by
1059 <tt>core.autocrlf</tt> is reversible. Git will verify if a command
1060 modifies a file in the work tree either directly or indirectly.
1061 For example, committing a file followed by checking out the
1062 same file should yield the original file in the work tree. If
1063 this is not the case for the current setting of
1064 <tt>core.autocrlf</tt>, git will reject the file. The variable can
1065 be set to "warn", in which case git will only warn about an
1066 irreversible conversion but continue the operation.
1067 </p>
1068 <div class="para"><p>CRLF conversion bears a slight chance of corrupting data.
1069 autocrlf=true will convert CRLF to LF during commit and LF to
1070 CRLF during checkout. A file that contains a mixture of LF and
1071 CRLF before the commit cannot be recreated by git. For text
1072 files this is the right thing to do: it corrects line endings
1073 such that we have only LF line endings in the repository.
1074 But for binary files that are accidentally classified as text the
1075 conversion can corrupt data.</p></div>
1076 <div class="para"><p>If you recognize such corruption early you can easily fix it by
1077 setting the conversion type explicitly in .gitattributes. Right
1078 after committing you still have the original file in your work
1079 tree and this file is not yet corrupted. You can explicitly tell
1080 git that this file is binary and git will handle the file
1081 appropriately.</p></div>
1082 <div class="para"><p>Unfortunately, the desired effect of cleaning up text files with
1083 mixed line endings and the undesired effect of corrupting binary
1084 files cannot be distinguished. In both cases CRLFs are removed
1085 in an irreversible way. For text files this is the right thing
1086 to do because CRLFs are line endings, while for binary files
1087 converting CRLFs corrupts data.</p></div>
1088 <div class="para"><p>Note, this safety check does not mean that a checkout will generate a
1089 file identical to the original file for a different setting of
1090 <tt>core.autocrlf</tt>, but only for the current one. For example, a text
1091 file with <tt>LF</tt> would be accepted with <tt>core.autocrlf=input</tt> and could
1092 later be checked out with <tt>core.autocrlf=true</tt>, in which case the
1093 resulting file would contain <tt>CRLF</tt>, although the original file
1094 contained <tt>LF</tt>. However, in both work trees the line endings would be
1095 consistent, that is either all <tt>LF</tt> or all <tt>CRLF</tt>, but never mixed. A
1096 file with mixed line endings would be reported by the <tt>core.safecrlf</tt>
1097 mechanism.</p></div>
1098 </dd>
1099 <dt>
1100 core.symlinks
1101 </dt>
1102 <dd>
1104 If false, symbolic links are checked out as small plain files that
1105 contain the link text. <a href="git-update-index.html">git-update-index(1)</a> and
1106 <a href="git-add.html">git-add(1)</a> will not change the recorded type to regular
1107 file. Useful on filesystems like FAT that do not support
1108 symbolic links.
1109 </p>
1110 <div class="para"><p>The default is true, except <a href="git-clone.html">git-clone(1)</a> or <a href="git-init.html">git-init(1)</a>
1111 will probe and set core.symlinks false if appropriate when the repository
1112 is created.</p></div>
1113 </dd>
1114 <dt>
1115 core.gitProxy
1116 </dt>
1117 <dd>
1119 A "proxy command" to execute (as <em>command host port</em>) instead
1120 of establishing direct connection to the remote server when
1121 using the git protocol for fetching. If the variable value is
1122 in the "COMMAND for DOMAIN" format, the command is applied only
1123 on hostnames ending with the specified domain string. This variable
1124 may be set multiple times and is matched in the given order;
1125 the first match wins.
1126 </p>
1127 <div class="para"><p>Can be overridden by the <em>GIT_PROXY_COMMAND</em> environment variable
1128 (which always applies universally, without the special "for"
1129 handling).</p></div>
1130 <div class="para"><p>The special string <tt>none</tt> can be used as the proxy command to
1131 specify that no proxy be used for a given domain pattern.
1132 This is useful for excluding servers inside a firewall from
1133 proxy use, while defaulting to a common proxy for external domains.</p></div>
1134 </dd>
1135 <dt>
1136 core.ignoreStat
1137 </dt>
1138 <dd>
1140 If true, commands which modify both the working tree and the index
1141 will mark the updated paths with the "assume unchanged" bit in the
1142 index. These marked files are then assumed to stay unchanged in the
1143 working copy, until you mark them otherwise manually - Git will not
1144 detect the file changes by lstat() calls. This is useful on systems
1145 where those are very slow, such as Microsoft Windows.
1146 See <a href="git-update-index.html">git-update-index(1)</a>.
1147 False by default.
1148 </p>
1149 </dd>
1150 <dt>
1151 core.preferSymlinkRefs
1152 </dt>
1153 <dd>
1155 Instead of the default "symref" format for HEAD
1156 and other symbolic reference files, use symbolic links.
1157 This is sometimes needed to work with old scripts that
1158 expect HEAD to be a symbolic link.
1159 </p>
1160 </dd>
1161 <dt>
1162 core.bare
1163 </dt>
1164 <dd>
1166 If true this repository is assumed to be <em>bare</em> and has no
1167 working directory associated with it. If this is the case a
1168 number of commands that require a working directory will be
1169 disabled, such as <a href="git-add.html">git-add(1)</a> or <a href="git-merge.html">git-merge(1)</a>.
1170 </p>
1171 <div class="para"><p>This setting is automatically guessed by <a href="git-clone.html">git-clone(1)</a> or
1172 <a href="git-init.html">git-init(1)</a> when the repository was created. By default a
1173 repository that ends in "/.git" is assumed to be not bare (bare =
1174 false), while all other repositories are assumed to be bare (bare
1175 = true).</p></div>
1176 </dd>
1177 <dt>
1178 core.worktree
1179 </dt>
1180 <dd>
1182 Set the path to the root of the work tree.
1183 This can be overridden by the GIT_WORK_TREE environment
1184 variable and the <em>--work-tree</em> command line option. It can be
1185 an absolute path or a relative path to the .git directory,
1186 either specified by --git-dir or GIT_DIR, or automatically
1187 discovered.
1188 If --git-dir or GIT_DIR are specified but none of
1189 --work-tree, GIT_WORK_TREE and core.worktree is specified,
1190 the current working directory is regarded as the root of the
1191 work tree.
1192 </p>
1193 <div class="para"><p>Note that this variable is honored even when set in a configuration
1194 file in a ".git" subdirectory of a directory, and its value differs
1195 from the latter directory (e.g. "/path/to/.git/config" has
1196 core.worktree set to "/different/path"), which is most likely a
1197 misconfiguration. Running git commands in "/path/to" directory will
1198 still use "/different/path" as the root of the work tree and can cause
1199 great confusion to the users.</p></div>
1200 </dd>
1201 <dt>
1202 core.logAllRefUpdates
1203 </dt>
1204 <dd>
1206 Enable the reflog. Updates to a ref &lt;ref&gt; is logged to the file
1207 "$GIT_DIR/logs/&lt;ref&gt;", by appending the new and old
1208 SHA1, the date/time and the reason of the update, but
1209 only when the file exists. If this configuration
1210 variable is set to true, missing "$GIT_DIR/logs/&lt;ref&gt;"
1211 file is automatically created for branch heads.
1212 </p>
1213 <div class="para"><p>This information can be used to determine what commit
1214 was the tip of a branch "2 days ago".</p></div>
1215 <div class="para"><p>This value is true by default in a repository that has
1216 a working directory associated with it, and false by
1217 default in a bare repository.</p></div>
1218 </dd>
1219 <dt>
1220 core.repositoryFormatVersion
1221 </dt>
1222 <dd>
1224 Internal variable identifying the repository format and layout
1225 version.
1226 </p>
1227 </dd>
1228 <dt>
1229 core.sharedRepository
1230 </dt>
1231 <dd>
1233 When <em>group</em> (or <em>true</em>), the repository is made shareable between
1234 several users in a group (making sure all the files and objects are
1235 group-writable). When <em>all</em> (or <em>world</em> or <em>everybody</em>), the
1236 repository will be readable by all users, additionally to being
1237 group-shareable. When <em>umask</em> (or <em>false</em>), git will use permissions
1238 reported by umask(2). When <em>0xxx</em>, where <em>0xxx</em> is an octal number,
1239 files in the repository will have this mode value. <em>0xxx</em> will override
1240 user's umask value (whereas the other options will only override
1241 requested parts of the user's umask value). Examples: <em>0660</em> will make
1242 the repo read/write-able for the owner and group, but inaccessible to
1243 others (equivalent to <em>group</em> unless umask is e.g. <em>0022</em>). <em>0640</em> is a
1244 repository that is group-readable but not group-writable.
1245 See <a href="git-init.html">git-init(1)</a>. False by default.
1246 </p>
1247 </dd>
1248 <dt>
1249 core.warnAmbiguousRefs
1250 </dt>
1251 <dd>
1253 If true, git will warn you if the ref name you passed it is ambiguous
1254 and might match multiple refs in the .git/refs/ tree. True by default.
1255 </p>
1256 </dd>
1257 <dt>
1258 core.compression
1259 </dt>
1260 <dd>
1262 An integer -1..9, indicating a default compression level.
1263 -1 is the zlib default. 0 means no compression,
1264 and 1..9 are various speed/size tradeoffs, 9 being slowest.
1265 If set, this provides a default to other compression variables,
1266 such as <em>core.loosecompression</em> and <em>pack.compression</em>.
1267 </p>
1268 </dd>
1269 <dt>
1270 core.loosecompression
1271 </dt>
1272 <dd>
1274 An integer -1..9, indicating the compression level for objects that
1275 are not in a pack file. -1 is the zlib default. 0 means no
1276 compression, and 1..9 are various speed/size tradeoffs, 9 being
1277 slowest. If not set, defaults to core.compression. If that is
1278 not set, defaults to 1 (best speed).
1279 </p>
1280 </dd>
1281 <dt>
1282 core.packedGitWindowSize
1283 </dt>
1284 <dd>
1286 Number of bytes of a pack file to map into memory in a
1287 single mapping operation. Larger window sizes may allow
1288 your system to process a smaller number of large pack files
1289 more quickly. Smaller window sizes will negatively affect
1290 performance due to increased calls to the operating system's
1291 memory manager, but may improve performance when accessing
1292 a large number of large pack files.
1293 </p>
1294 <div class="para"><p>Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32
1295 MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should
1296 be reasonable for all users/operating systems. You probably do
1297 not need to adjust this value.</p></div>
1298 <div class="para"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
1299 </dd>
1300 <dt>
1301 core.packedGitLimit
1302 </dt>
1303 <dd>
1305 Maximum number of bytes to map simultaneously into memory
1306 from pack files. If Git needs to access more than this many
1307 bytes at once to complete an operation it will unmap existing
1308 regions to reclaim virtual address space within the process.
1309 </p>
1310 <div class="para"><p>Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit platforms.
1311 This should be reasonable for all users/operating systems, except on
1312 the largest projects. You probably do not need to adjust this value.</p></div>
1313 <div class="para"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
1314 </dd>
1315 <dt>
1316 core.deltaBaseCacheLimit
1317 </dt>
1318 <dd>
1320 Maximum number of bytes to reserve for caching base objects
1321 that multiple deltafied objects reference. By storing the
1322 entire decompressed base objects in a cache Git is able
1323 to avoid unpacking and decompressing frequently used base
1324 objects multiple times.
1325 </p>
1326 <div class="para"><p>Default is 16 MiB on all platforms. This should be reasonable
1327 for all users/operating systems, except on the largest projects.
1328 You probably do not need to adjust this value.</p></div>
1329 <div class="para"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
1330 </dd>
1331 <dt>
1332 core.bigFileThreshold
1333 </dt>
1334 <dd>
1336 Files larger than this size are stored deflated, without
1337 attempting delta compression. Storing large files without
1338 delta compression avoids excessive memory usage, at the
1339 slight expense of increased disk usage.
1340 </p>
1341 <div class="para"><p>Default is 512 MiB on all platforms. This should be reasonable
1342 for most projects as source code and other text files can still
1343 be delta compressed, but larger binary media files won't be.</p></div>
1344 <div class="para"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
1345 <div class="para"><p>Currently only <a href="git-fast-import.html">git-fast-import(1)</a> honors this setting.</p></div>
1346 </dd>
1347 <dt>
1348 core.excludesfile
1349 </dt>
1350 <dd>
1352 In addition to <em>.gitignore</em> (per-directory) and
1353 <em>.git/info/exclude</em>, git looks into this file for patterns
1354 of files which are not meant to be tracked. "&#126;/" is expanded
1355 to the value of <tt>$HOME</tt> and "&#126;user/" to the specified user's
1356 home directory. See <a href="gitignore.html">gitignore(5)</a>.
1357 </p>
1358 </dd>
1359 <dt>
1360 core.editor
1361 </dt>
1362 <dd>
1364 Commands such as <tt>commit</tt> and <tt>tag</tt> that lets you edit
1365 messages by launching an editor uses the value of this
1366 variable when it is set, and the environment variable
1367 <tt>GIT_EDITOR</tt> is not set. See <a href="git-var.html">git-var(1)</a>.
1368 </p>
1369 </dd>
1370 <dt>
1371 core.pager
1372 </dt>
1373 <dd>
1375 The command that git will use to paginate output. Can
1376 be overridden with the <tt>GIT_PAGER</tt> environment
1377 variable. Note that git sets the <tt>LESS</tt> environment
1378 variable to <tt>FRSX</tt> if it is unset when it runs the
1379 pager. One can change these settings by setting the
1380 <tt>LESS</tt> variable to some other value. Alternately,
1381 these settings can be overridden on a project or
1382 global basis by setting the <tt>core.pager</tt> option.
1383 Setting <tt>core.pager</tt> has no affect on the <tt>LESS</tt>
1384 environment variable behaviour above, so if you want
1385 to override git's default settings this way, you need
1386 to be explicit. For example, to disable the S option
1387 in a backward compatible manner, set <tt>core.pager</tt>
1388 to <tt>less -+$LESS -FRX</tt>. This will be passed to the
1389 shell by git, which will translate the final command to
1390 <tt>LESS=FRSX less -+FRSX -FRX</tt>.
1391 </p>
1392 </dd>
1393 <dt>
1394 core.whitespace
1395 </dt>
1396 <dd>
1398 A comma separated list of common whitespace problems to
1399 notice. <em>git diff</em> will use <tt>color.diff.whitespace</tt> to
1400 highlight them, and <em>git apply --whitespace=error</em> will
1401 consider them as errors. You can prefix <tt>-</tt> to disable
1402 any of them (e.g. <tt>-trailing-space</tt>):
1403 </p>
1404 <div class="ilist"><ul>
1405 <li>
1407 <tt>blank-at-eol</tt> treats trailing whitespaces at the end of the line
1408 as an error (enabled by default).
1409 </p>
1410 </li>
1411 <li>
1413 <tt>space-before-tab</tt> treats a space character that appears immediately
1414 before a tab character in the initial indent part of the line as an
1415 error (enabled by default).
1416 </p>
1417 </li>
1418 <li>
1420 <tt>indent-with-non-tab</tt> treats a line that is indented with 8 or more
1421 space characters as an error (not enabled by default).
1422 </p>
1423 </li>
1424 <li>
1426 <tt>blank-at-eof</tt> treats blank lines added at the end of file as an error
1427 (enabled by default).
1428 </p>
1429 </li>
1430 <li>
1432 <tt>trailing-space</tt> is a short-hand to cover both <tt>blank-at-eol</tt> and
1433 <tt>blank-at-eof</tt>.
1434 </p>
1435 </li>
1436 <li>
1438 <tt>cr-at-eol</tt> treats a carriage-return at the end of line as
1439 part of the line terminator, i.e. with it, <tt>trailing-space</tt>
1440 does not trigger if the character before such a carriage-return
1441 is not a whitespace (not enabled by default).
1442 </p>
1443 </li>
1444 </ul></div>
1445 </dd>
1446 <dt>
1447 core.fsyncobjectfiles
1448 </dt>
1449 <dd>
1451 This boolean will enable <em>fsync()</em> when writing object files.
1452 </p>
1453 <div class="para"><p>This is a total waste of time and effort on a filesystem that orders
1454 data writes properly, but can be useful for filesystems that do not use
1455 journalling (traditional UNIX filesystems) or that only journal metadata
1456 and not file contents (OS X's HFS+, or Linux ext3 with "data=writeback").</p></div>
1457 </dd>
1458 <dt>
1459 core.preloadindex
1460 </dt>
1461 <dd>
1463 Enable parallel index preload for operations like <em>git diff</em>
1464 </p>
1465 <div class="para"><p>This can speed up operations like <em>git diff</em> and <em>git status</em> especially
1466 on filesystems like NFS that have weak caching semantics and thus
1467 relatively high IO latencies. With this set to <em>true</em>, git will do the
1468 index comparison to the filesystem data in parallel, allowing
1469 overlapping IO's.</p></div>
1470 </dd>
1471 <dt>
1472 core.createObject
1473 </dt>
1474 <dd>
1476 You can set this to <em>link</em>, in which case a hardlink followed by
1477 a delete of the source are used to make sure that object creation
1478 will not overwrite existing objects.
1479 </p>
1480 <div class="para"><p>On some file system/operating system combinations, this is unreliable.
1481 Set this config setting to <em>rename</em> there; However, This will remove the
1482 check that makes sure that existing object files will not get overwritten.</p></div>
1483 </dd>
1484 <dt>
1485 core.notesRef
1486 </dt>
1487 <dd>
1489 When showing commit messages, also show notes which are stored in
1490 the given ref. This ref is expected to contain files named
1491 after the full SHA-1 of the commit they annotate. The ref
1492 must be fully qualified.
1493 </p>
1494 <div class="para"><p>If such a file exists in the given ref, the referenced blob is read, and
1495 appended to the commit message, separated by a "Notes (&lt;refname&gt;):"
1496 line (shortened to "Notes:" in the case of "refs/notes/commits"). If the
1497 given ref itself does not exist, it is not an error, but means that no
1498 notes should be printed.</p></div>
1499 <div class="para"><p>This setting defaults to "refs/notes/commits", and can be overridden by
1500 the <tt>GIT_NOTES_REF</tt> environment variable.</p></div>
1501 </dd>
1502 <dt>
1503 core.sparseCheckout
1504 </dt>
1505 <dd>
1507 Enable "sparse checkout" feature. See section "Sparse checkout" in
1508 <a href="git-read-tree.html">git-read-tree(1)</a> for more information.
1509 </p>
1510 </dd>
1511 <dt>
1512 add.ignore-errors
1513 </dt>
1514 <dd>
1516 Tells <em>git add</em> to continue adding files when some files cannot be
1517 added due to indexing errors. Equivalent to the <em>--ignore-errors</em>
1518 option of <a href="git-add.html">git-add(1)</a>.
1519 </p>
1520 </dd>
1521 <dt>
1522 alias.*
1523 </dt>
1524 <dd>
1526 Command aliases for the <a href="git.html">git(1)</a> command wrapper - e.g.
1527 after defining "alias.last = cat-file commit HEAD", the invocation
1528 "git last" is equivalent to "git cat-file commit HEAD". To avoid
1529 confusion and troubles with script usage, aliases that
1530 hide existing git commands are ignored. Arguments are split by
1531 spaces, the usual shell quoting and escaping is supported.
1532 quote pair and a backslash can be used to quote them.
1533 </p>
1534 <div class="para"><p>If the alias expansion is prefixed with an exclamation point,
1535 it will be treated as a shell command. For example, defining
1536 "alias.new = !gitk --all --not ORIG_HEAD", the invocation
1537 "git new" is equivalent to running the shell command
1538 "gitk --all --not ORIG_HEAD". Note that shell commands will be
1539 executed from the top-level directory of a repository, which may
1540 not necessarily be the current directory.</p></div>
1541 </dd>
1542 <dt>
1543 am.keepcr
1544 </dt>
1545 <dd>
1547 If true, git-am will call git-mailsplit for patches in mbox format
1548 with parameter <em>--keep-cr</em>. In this case git-mailsplit will
1549 not remove <tt>\r</tt> from lines ending with <tt>\r\n</tt>. Can be overrriden
1550 by giving <em>--no-keep-cr</em> from the command line.
1551 See <a href="git-am.html">git-am(1)</a>, <a href="git-mailsplit.html">git-mailsplit(1)</a>.
1552 </p>
1553 </dd>
1554 <dt>
1555 apply.ignorewhitespace
1556 </dt>
1557 <dd>
1559 When set to <em>change</em>, tells <em>git apply</em> to ignore changes in
1560 whitespace, in the same way as the <em>--ignore-space-change</em>
1561 option.
1562 When set to one of: no, none, never, false tells <em>git apply</em> to
1563 respect all whitespace differences.
1564 See <a href="git-apply.html">git-apply(1)</a>.
1565 </p>
1566 </dd>
1567 <dt>
1568 apply.whitespace
1569 </dt>
1570 <dd>
1572 Tells <em>git apply</em> how to handle whitespaces, in the same way
1573 as the <em>--whitespace</em> option. See <a href="git-apply.html">git-apply(1)</a>.
1574 </p>
1575 </dd>
1576 <dt>
1577 branch.autosetupmerge
1578 </dt>
1579 <dd>
1581 Tells <em>git branch</em> and <em>git checkout</em> to set up new branches
1582 so that <a href="git-pull.html">git-pull(1)</a> will appropriately merge from the
1583 starting point branch. Note that even if this option is not set,
1584 this behavior can be chosen per-branch using the <tt>--track</tt>
1585 and <tt>--no-track</tt> options. The valid settings are: <tt>false</tt> &#8212; no
1586 automatic setup is done; <tt>true</tt> &#8212; automatic setup is done when the
1587 starting point is a remote branch; <tt>always</tt> &#8212; automatic setup is
1588 done when the starting point is either a local branch or remote
1589 branch. This option defaults to true.
1590 </p>
1591 </dd>
1592 <dt>
1593 branch.autosetuprebase
1594 </dt>
1595 <dd>
1597 When a new branch is created with <em>git branch</em> or <em>git checkout</em>
1598 that tracks another branch, this variable tells git to set
1599 up pull to rebase instead of merge (see "branch.&lt;name&gt;.rebase").
1600 When <tt>never</tt>, rebase is never automatically set to true.
1601 When <tt>local</tt>, rebase is set to true for tracked branches of
1602 other local branches.
1603 When <tt>remote</tt>, rebase is set to true for tracked branches of
1604 remote branches.
1605 When <tt>always</tt>, rebase will be set to true for all tracking
1606 branches.
1607 See "branch.autosetupmerge" for details on how to set up a
1608 branch to track another branch.
1609 This option defaults to never.
1610 </p>
1611 </dd>
1612 <dt>
1613 branch.&lt;name&gt;.remote
1614 </dt>
1615 <dd>
1617 When in branch &lt;name&gt;, it tells <em>git fetch</em> and <em>git push</em> which
1618 remote to fetch from/push to. It defaults to <tt>origin</tt> if no remote is
1619 configured. <tt>origin</tt> is also used if you are not on any branch.
1620 </p>
1621 </dd>
1622 <dt>
1623 branch.&lt;name&gt;.merge
1624 </dt>
1625 <dd>
1627 Defines, together with branch.&lt;name&gt;.remote, the upstream branch
1628 for the given branch. It tells <em>git fetch</em>/<em>git pull</em> which
1629 branch to merge and can also affect <em>git push</em> (see push.default).
1630 When in branch &lt;name&gt;, it tells <em>git fetch</em> the default
1631 refspec to be marked for merging in FETCH_HEAD. The value is
1632 handled like the remote part of a refspec, and must match a
1633 ref which is fetched from the remote given by
1634 "branch.&lt;name&gt;.remote".
1635 The merge information is used by <em>git pull</em> (which at first calls
1636 <em>git fetch</em>) to lookup the default branch for merging. Without
1637 this option, <em>git pull</em> defaults to merge the first refspec fetched.
1638 Specify multiple values to get an octopus merge.
1639 If you wish to setup <em>git pull</em> so that it merges into &lt;name&gt; from
1640 another branch in the local repository, you can point
1641 branch.&lt;name&gt;.merge to the desired branch, and use the special setting
1642 <tt>.</tt> (a period) for branch.&lt;name&gt;.remote.
1643 </p>
1644 </dd>
1645 <dt>
1646 branch.&lt;name&gt;.mergeoptions
1647 </dt>
1648 <dd>
1650 Sets default options for merging into branch &lt;name&gt;. The syntax and
1651 supported options are the same as those of <a href="git-merge.html">git-merge(1)</a>, but
1652 option values containing whitespace characters are currently not
1653 supported.
1654 </p>
1655 </dd>
1656 <dt>
1657 branch.&lt;name&gt;.rebase
1658 </dt>
1659 <dd>
1661 When true, rebase the branch &lt;name&gt; on top of the fetched branch,
1662 instead of merging the default branch from the default remote when
1663 "git pull" is run.
1664 <strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use
1665 it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a>
1666 for details).
1667 </p>
1668 </dd>
1669 <dt>
1670 browser.&lt;tool&gt;.cmd
1671 </dt>
1672 <dd>
1674 Specify the command to invoke the specified browser. The
1675 specified command is evaluated in shell with the URLs passed
1676 as arguments. (See <a href="git-web--browse.html">git-web--browse(1)</a>.)
1677 </p>
1678 </dd>
1679 <dt>
1680 browser.&lt;tool&gt;.path
1681 </dt>
1682 <dd>
1684 Override the path for the given tool that may be used to
1685 browse HTML help (see <em>-w</em> option in <a href="git-help.html">git-help(1)</a>) or a
1686 working repository in gitweb (see <a href="git-instaweb.html">git-instaweb(1)</a>).
1687 </p>
1688 </dd>
1689 <dt>
1690 clean.requireForce
1691 </dt>
1692 <dd>
1694 A boolean to make git-clean do nothing unless given -f
1695 or -n. Defaults to true.
1696 </p>
1697 </dd>
1698 <dt>
1699 color.branch
1700 </dt>
1701 <dd>
1703 A boolean to enable/disable color in the output of
1704 <a href="git-branch.html">git-branch(1)</a>. May be set to <tt>always</tt>,
1705 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used
1706 only when the output is to a terminal. Defaults to false.
1707 </p>
1708 </dd>
1709 <dt>
1710 color.branch.&lt;slot&gt;
1711 </dt>
1712 <dd>
1714 Use customized color for branch coloration. <tt>&lt;slot&gt;</tt> is one of
1715 <tt>current</tt> (the current branch), <tt>local</tt> (a local branch),
1716 <tt>remote</tt> (a tracking branch in refs/remotes/), <tt>plain</tt> (other
1717 refs).
1718 </p>
1719 <div class="para"><p>The value for these configuration variables is a list of colors (at most
1720 two) and attributes (at most one), separated by spaces. The colors
1721 accepted are <tt>normal</tt>, <tt>black</tt>, <tt>red</tt>, <tt>green</tt>, <tt>yellow</tt>, <tt>blue</tt>,
1722 <tt>magenta</tt>, <tt>cyan</tt> and <tt>white</tt>; the attributes are <tt>bold</tt>, <tt>dim</tt>, <tt>ul</tt>,
1723 <tt>blink</tt> and <tt>reverse</tt>. The first color given is the foreground; the
1724 second is the background. The position of the attribute, if any,
1725 doesn't matter.</p></div>
1726 </dd>
1727 <dt>
1728 color.diff
1729 </dt>
1730 <dd>
1732 When set to <tt>always</tt>, always use colors in patch.
1733 When false (or <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use
1734 colors only when the output is to the terminal. Defaults to false.
1735 </p>
1736 </dd>
1737 <dt>
1738 color.diff.&lt;slot&gt;
1739 </dt>
1740 <dd>
1742 Use customized color for diff colorization. <tt>&lt;slot&gt;</tt> specifies
1743 which part of the patch to use the specified color, and is one
1744 of <tt>plain</tt> (context text), <tt>meta</tt> (metainformation), <tt>frag</tt>
1745 (hunk header), <em>func</em> (function in hunk header), <tt>old</tt> (removed lines),
1746 <tt>new</tt> (added lines), <tt>commit</tt> (commit headers), or <tt>whitespace</tt>
1747 (highlighting whitespace errors). The values of these variables may be
1748 specified as in color.branch.&lt;slot&gt;.
1749 </p>
1750 </dd>
1751 <dt>
1752 color.grep
1753 </dt>
1754 <dd>
1756 When set to <tt>always</tt>, always highlight matches. When <tt>false</tt> (or
1757 <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use color only
1758 when the output is written to the terminal. Defaults to <tt>false</tt>.
1759 </p>
1760 </dd>
1761 <dt>
1762 color.grep.&lt;slot&gt;
1763 </dt>
1764 <dd>
1766 Use customized color for grep colorization. <tt>&lt;slot&gt;</tt> specifies which
1767 part of the line to use the specified color, and is one of
1768 </p>
1769 <div class="vlist"><dl>
1770 <dt>
1771 <tt>context</tt>
1772 </dt>
1773 <dd>
1775 non-matching text in context lines (when using <tt>-A</tt>, <tt>-B</tt>, or <tt>-C</tt>)
1776 </p>
1777 </dd>
1778 <dt>
1779 <tt>filename</tt>
1780 </dt>
1781 <dd>
1783 filename prefix (when not using <tt>-h</tt>)
1784 </p>
1785 </dd>
1786 <dt>
1787 <tt>function</tt>
1788 </dt>
1789 <dd>
1791 function name lines (when using <tt>-p</tt>)
1792 </p>
1793 </dd>
1794 <dt>
1795 <tt>linenumber</tt>
1796 </dt>
1797 <dd>
1799 line number prefix (when using <tt>-n</tt>)
1800 </p>
1801 </dd>
1802 <dt>
1803 <tt>match</tt>
1804 </dt>
1805 <dd>
1807 matching text
1808 </p>
1809 </dd>
1810 <dt>
1811 <tt>selected</tt>
1812 </dt>
1813 <dd>
1815 non-matching text in selected lines
1816 </p>
1817 </dd>
1818 <dt>
1819 <tt>separator</tt>
1820 </dt>
1821 <dd>
1823 separators between fields on a line (<tt>:</tt>, <tt>-</tt>, and <tt>=</tt>)
1824 and between hunks (<tt>--</tt>)
1825 </p>
1826 </dd>
1827 </dl></div>
1828 <div class="para"><p>The values of these variables may be specified as in color.branch.&lt;slot&gt;.</p></div>
1829 </dd>
1830 <dt>
1831 color.interactive
1832 </dt>
1833 <dd>
1835 When set to <tt>always</tt>, always use colors for interactive prompts
1836 and displays (such as those used by "git-add --interactive").
1837 When false (or <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use
1838 colors only when the output is to the terminal. Defaults to false.
1839 </p>
1840 </dd>
1841 <dt>
1842 color.interactive.&lt;slot&gt;
1843 </dt>
1844 <dd>
1846 Use customized color for <em>git add --interactive</em>
1847 output. <tt>&lt;slot&gt;</tt> may be <tt>prompt</tt>, <tt>header</tt>, <tt>help</tt> or <tt>error</tt>, for
1848 four distinct types of normal output from interactive
1849 commands. The values of these variables may be specified as
1850 in color.branch.&lt;slot&gt;.
1851 </p>
1852 </dd>
1853 <dt>
1854 color.pager
1855 </dt>
1856 <dd>
1858 A boolean to enable/disable colored output when the pager is in
1859 use (default is true).
1860 </p>
1861 </dd>
1862 <dt>
1863 color.showbranch
1864 </dt>
1865 <dd>
1867 A boolean to enable/disable color in the output of
1868 <a href="git-show-branch.html">git-show-branch(1)</a>. May be set to <tt>always</tt>,
1869 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used
1870 only when the output is to a terminal. Defaults to false.
1871 </p>
1872 </dd>
1873 <dt>
1874 color.status
1875 </dt>
1876 <dd>
1878 A boolean to enable/disable color in the output of
1879 <a href="git-status.html">git-status(1)</a>. May be set to <tt>always</tt>,
1880 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used
1881 only when the output is to a terminal. Defaults to false.
1882 </p>
1883 </dd>
1884 <dt>
1885 color.status.&lt;slot&gt;
1886 </dt>
1887 <dd>
1889 Use customized color for status colorization. <tt>&lt;slot&gt;</tt> is
1890 one of <tt>header</tt> (the header text of the status message),
1891 <tt>added</tt> or <tt>updated</tt> (files which are added but not committed),
1892 <tt>changed</tt> (files which are changed but not added in the index),
1893 <tt>untracked</tt> (files which are not tracked by git), or
1894 <tt>nobranch</tt> (the color the <em>no branch</em> warning is shown in, defaulting
1895 to red). The values of these variables may be specified as in
1896 color.branch.&lt;slot&gt;.
1897 </p>
1898 </dd>
1899 <dt>
1900 color.ui
1901 </dt>
1902 <dd>
1904 When set to <tt>always</tt>, always use colors in all git commands which
1905 are capable of colored output. When false (or <tt>never</tt>), never. When
1906 set to <tt>true</tt> or <tt>auto</tt>, use colors only when the output is to the
1907 terminal. When more specific variables of color.* are set, they always
1908 take precedence over this setting. Defaults to false.
1909 </p>
1910 </dd>
1911 <dt>
1912 commit.status
1913 </dt>
1914 <dd>
1916 A boolean to enable/disable inclusion of status information in the
1917 commit message template when using an editor to prepare the commit
1918 message. Defaults to true.
1919 </p>
1920 </dd>
1921 <dt>
1922 commit.template
1923 </dt>
1924 <dd>
1926 Specify a file to use as the template for new commit messages.
1927 "&#126;/" is expanded to the value of <tt>$HOME</tt> and "&#126;user/" to the
1928 specified user's home directory.
1929 </p>
1930 </dd>
1931 <dt>
1932 diff.autorefreshindex
1933 </dt>
1934 <dd>
1936 When using <em>git diff</em> to compare with work tree
1937 files, do not consider stat-only change as changed.
1938 Instead, silently run <tt>git update-index --refresh</tt> to
1939 update the cached stat information for paths whose
1940 contents in the work tree match the contents in the
1941 index. This option defaults to true. Note that this
1942 affects only <em>git diff</em> Porcelain, and not lower level
1943 <em>diff</em> commands such as <em>git diff-files</em>.
1944 </p>
1945 </dd>
1946 <dt>
1947 diff.external
1948 </dt>
1949 <dd>
1951 If this config variable is set, diff generation is not
1952 performed using the internal diff machinery, but using the
1953 given command. Can be overridden with the `GIT_EXTERNAL_DIFF'
1954 environment variable. The command is called with parameters
1955 as described under "git Diffs" in <a href="git.html">git(1)</a>. Note: if
1956 you want to use an external diff program only on a subset of
1957 your files, you might want to use <a href="gitattributes.html">gitattributes(5)</a> instead.
1958 </p>
1959 </dd>
1960 <dt>
1961 diff.mnemonicprefix
1962 </dt>
1963 <dd>
1965 If set, <em>git diff</em> uses a prefix pair that is different from the
1966 standard "a/" and "b/" depending on what is being compared. When
1967 this configuration is in effect, reverse diff output also swaps
1968 the order of the prefixes:
1969 </p>
1970 <div class="vlist"><dl>
1971 <dt>
1972 <tt>git diff</tt>
1973 </dt>
1974 <dd>
1976 compares the (i)ndex and the (w)ork tree;
1977 </p>
1978 </dd>
1979 <dt>
1980 <tt>git diff HEAD</tt>
1981 </dt>
1982 <dd>
1984 compares a (c)ommit and the (w)ork tree;
1985 </p>
1986 </dd>
1987 <dt>
1988 <tt>git diff --cached</tt>
1989 </dt>
1990 <dd>
1992 compares a (c)ommit and the (i)ndex;
1993 </p>
1994 </dd>
1995 <dt>
1996 <tt>git diff HEAD:file1 file2</tt>
1997 </dt>
1998 <dd>
2000 compares an (o)bject and a (w)ork tree entity;
2001 </p>
2002 </dd>
2003 <dt>
2004 <tt>git diff --no-index a b</tt>
2005 </dt>
2006 <dd>
2008 compares two non-git things (1) and (2).
2009 </p>
2010 </dd>
2011 </dl></div>
2012 </dd>
2013 <dt>
2014 diff.renameLimit
2015 </dt>
2016 <dd>
2018 The number of files to consider when performing the copy/rename
2019 detection; equivalent to the <em>git diff</em> option <em>-l</em>.
2020 </p>
2021 </dd>
2022 <dt>
2023 diff.renames
2024 </dt>
2025 <dd>
2027 Tells git to detect renames. If set to any boolean value, it
2028 will enable basic rename detection. If set to "copies" or
2029 "copy", it will detect copies, as well.
2030 </p>
2031 </dd>
2032 <dt>
2033 diff.suppressBlankEmpty
2034 </dt>
2035 <dd>
2037 A boolean to inhibit the standard behavior of printing a space
2038 before each empty output line. Defaults to false.
2039 </p>
2040 </dd>
2041 <dt>
2042 diff.tool
2043 </dt>
2044 <dd>
2046 Controls which diff tool is used. <tt>diff.tool</tt> overrides
2047 <tt>merge.tool</tt> when used by <a href="git-difftool.html">git-difftool(1)</a> and has
2048 the same valid values as <tt>merge.tool</tt> minus "tortoisemerge"
2049 and plus "kompare".
2050 </p>
2051 </dd>
2052 <dt>
2053 difftool.&lt;tool&gt;.path
2054 </dt>
2055 <dd>
2057 Override the path for the given tool. This is useful in case
2058 your tool is not in the PATH.
2059 </p>
2060 </dd>
2061 <dt>
2062 difftool.&lt;tool&gt;.cmd
2063 </dt>
2064 <dd>
2066 Specify the command to invoke the specified diff tool.
2067 The specified command is evaluated in shell with the following
2068 variables available: <em>LOCAL</em> is set to the name of the temporary
2069 file containing the contents of the diff pre-image and <em>REMOTE</em>
2070 is set to the name of the temporary file containing the contents
2071 of the diff post-image.
2072 </p>
2073 </dd>
2074 <dt>
2075 difftool.prompt
2076 </dt>
2077 <dd>
2079 Prompt before each invocation of the diff tool.
2080 </p>
2081 </dd>
2082 <dt>
2083 diff.wordRegex
2084 </dt>
2085 <dd>
2087 A POSIX Extended Regular Expression used to determine what is a "word"
2088 when performing word-by-word difference calculations. Character
2089 sequences that match the regular expression are "words", all other
2090 characters are <strong>ignorable</strong> whitespace.
2091 </p>
2092 </dd>
2093 <dt>
2094 fetch.unpackLimit
2095 </dt>
2096 <dd>
2098 If the number of objects fetched over the git native
2099 transfer is below this
2100 limit, then the objects will be unpacked into loose object
2101 files. However if the number of received objects equals or
2102 exceeds this limit then the received pack will be stored as
2103 a pack, after adding any missing delta bases. Storing the
2104 pack from a push can make the push operation complete faster,
2105 especially on slow filesystems. If not set, the value of
2106 <tt>transfer.unpackLimit</tt> is used instead.
2107 </p>
2108 </dd>
2109 <dt>
2110 format.attach
2111 </dt>
2112 <dd>
2114 Enable multipart/mixed attachments as the default for
2115 <em>format-patch</em>. The value can also be a double quoted string
2116 which will enable attachments as the default and set the
2117 value as the boundary. See the --attach option in
2118 <a href="git-format-patch.html">git-format-patch(1)</a>.
2119 </p>
2120 </dd>
2121 <dt>
2122 format.numbered
2123 </dt>
2124 <dd>
2126 A boolean which can enable or disable sequence numbers in patch
2127 subjects. It defaults to "auto" which enables it only if there
2128 is more than one patch. It can be enabled or disabled for all
2129 messages by setting it to "true" or "false". See --numbered
2130 option in <a href="git-format-patch.html">git-format-patch(1)</a>.
2131 </p>
2132 </dd>
2133 <dt>
2134 format.headers
2135 </dt>
2136 <dd>
2138 Additional email headers to include in a patch to be submitted
2139 by mail. See <a href="git-format-patch.html">git-format-patch(1)</a>.
2140 </p>
2141 </dd>
2142 <dt>
2143 format.cc
2144 </dt>
2145 <dd>
2147 Additional "Cc:" headers to include in a patch to be submitted
2148 by mail. See the --cc option in <a href="git-format-patch.html">git-format-patch(1)</a>.
2149 </p>
2150 </dd>
2151 <dt>
2152 format.subjectprefix
2153 </dt>
2154 <dd>
2156 The default for format-patch is to output files with the <em>[PATCH]</em>
2157 subject prefix. Use this variable to change that prefix.
2158 </p>
2159 </dd>
2160 <dt>
2161 format.suffix
2162 </dt>
2163 <dd>
2165 The default for format-patch is to output files with the suffix
2166 <tt>.patch</tt>. Use this variable to change that suffix (make sure to
2167 include the dot if you want it).
2168 </p>
2169 </dd>
2170 <dt>
2171 format.pretty
2172 </dt>
2173 <dd>
2175 The default pretty format for log/show/whatchanged command,
2176 See <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>,
2177 <a href="git-whatchanged.html">git-whatchanged(1)</a>.
2178 </p>
2179 </dd>
2180 <dt>
2181 format.thread
2182 </dt>
2183 <dd>
2185 The default threading style for <em>git format-patch</em>. Can be
2186 a boolean value, or <tt>shallow</tt> or <tt>deep</tt>. <tt>shallow</tt> threading
2187 makes every mail a reply to the head of the series,
2188 where the head is chosen from the cover letter, the
2189 <tt>--in-reply-to</tt>, and the first patch mail, in this order.
2190 <tt>deep</tt> threading makes every mail a reply to the previous one.
2191 A true boolean value is the same as <tt>shallow</tt>, and a false
2192 value disables threading.
2193 </p>
2194 </dd>
2195 <dt>
2196 format.signoff
2197 </dt>
2198 <dd>
2200 A boolean value which lets you enable the <tt>-s/--signoff</tt> option of
2201 format-patch by default. <strong>Note:</strong> Adding the Signed-off-by: line to a
2202 patch should be a conscious act and means that you certify you have
2203 the rights to submit this work under the same open source license.
2204 Please see the <em>SubmittingPatches</em> document for further discussion.
2205 </p>
2206 </dd>
2207 <dt>
2208 gc.aggressiveWindow
2209 </dt>
2210 <dd>
2212 The window size parameter used in the delta compression
2213 algorithm used by <em>git gc --aggressive</em>. This defaults
2214 to 10.
2215 </p>
2216 </dd>
2217 <dt>
2218 gc.auto
2219 </dt>
2220 <dd>
2222 When there are approximately more than this many loose
2223 objects in the repository, <tt>git gc --auto</tt> will pack them.
2224 Some Porcelain commands use this command to perform a
2225 light-weight garbage collection from time to time. The
2226 default value is 6700. Setting this to 0 disables it.
2227 </p>
2228 </dd>
2229 <dt>
2230 gc.autopacklimit
2231 </dt>
2232 <dd>
2234 When there are more than this many packs that are not
2235 marked with <tt>*.keep</tt> file in the repository, <tt>git gc
2236 --auto</tt> consolidates them into one larger pack. The
2237 default value is 50. Setting this to 0 disables it.
2238 </p>
2239 </dd>
2240 <dt>
2241 gc.packrefs
2242 </dt>
2243 <dd>
2245 Running <tt>git pack-refs</tt> in a repository renders it
2246 unclonable by Git versions prior to 1.5.1.2 over dumb
2247 transports such as HTTP. This variable determines whether
2248 <em>git gc</em> runs <tt>git pack-refs</tt>. This can be set to <tt>nobare</tt>
2249 to enable it within all non-bare repos or it can be set to a
2250 boolean value. The default is <tt>true</tt>.
2251 </p>
2252 </dd>
2253 <dt>
2254 gc.pruneexpire
2255 </dt>
2256 <dd>
2258 When <em>git gc</em> is run, it will call <em>prune --expire 2.weeks.ago</em>.
2259 Override the grace period with this config variable. The value
2260 "now" may be used to disable this grace period and always prune
2261 unreachable objects immediately.
2262 </p>
2263 </dd>
2264 <dt>
2265 gc.reflogexpire
2266 </dt>
2267 <dd>
2269 <em>git reflog expire</em> removes reflog entries older than
2270 this time; defaults to 90 days.
2271 </p>
2272 </dd>
2273 <dt>
2274 gc.reflogexpireunreachable
2275 </dt>
2276 <dd>
2278 <em>git reflog expire</em> removes reflog entries older than
2279 this time and are not reachable from the current tip;
2280 defaults to 30 days.
2281 </p>
2282 </dd>
2283 <dt>
2284 gc.rerereresolved
2285 </dt>
2286 <dd>
2288 Records of conflicted merge you resolved earlier are
2289 kept for this many days when <em>git rerere gc</em> is run.
2290 The default is 60 days. See <a href="git-rerere.html">git-rerere(1)</a>.
2291 </p>
2292 </dd>
2293 <dt>
2294 gc.rerereunresolved
2295 </dt>
2296 <dd>
2298 Records of conflicted merge you have not resolved are
2299 kept for this many days when <em>git rerere gc</em> is run.
2300 The default is 15 days. See <a href="git-rerere.html">git-rerere(1)</a>.
2301 </p>
2302 </dd>
2303 <dt>
2304 gitcvs.commitmsgannotation
2305 </dt>
2306 <dd>
2308 Append this string to each commit message. Set to empty string
2309 to disable this feature. Defaults to "via git-CVS emulator".
2310 </p>
2311 </dd>
2312 <dt>
2313 gitcvs.enabled
2314 </dt>
2315 <dd>
2317 Whether the CVS server interface is enabled for this repository.
2318 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2319 </p>
2320 </dd>
2321 <dt>
2322 gitcvs.logfile
2323 </dt>
2324 <dd>
2326 Path to a log file where the CVS server interface well&#8230; logs
2327 various stuff. See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2328 </p>
2329 </dd>
2330 <dt>
2331 gitcvs.usecrlfattr
2332 </dt>
2333 <dd>
2335 If true, the server will look up the <tt>crlf</tt> attribute for
2336 files to determine the <em>-k</em> modes to use. If <tt>crlf</tt> is set,
2337 the <em>-k</em> mode will be left blank, so cvs clients will
2338 treat it as text. If <tt>crlf</tt> is explicitly unset, the file
2339 will be set with <em>-kb</em> mode, which suppresses any newline munging
2340 the client might otherwise do. If <tt>crlf</tt> is not specified,
2341 then <em>gitcvs.allbinary</em> is used. See <a href="gitattributes.html">gitattributes(5)</a>.
2342 </p>
2343 </dd>
2344 <dt>
2345 gitcvs.allbinary
2346 </dt>
2347 <dd>
2349 This is used if <em>gitcvs.usecrlfattr</em> does not resolve
2350 the correct <em>-kb</em> mode to use. If true, all
2351 unresolved files are sent to the client in
2352 mode <em>-kb</em>. This causes the client to treat them
2353 as binary files, which suppresses any newline munging it
2354 otherwise might do. Alternatively, if it is set to "guess",
2355 then the contents of the file are examined to decide if
2356 it is binary, similar to <em>core.autocrlf</em>.
2357 </p>
2358 </dd>
2359 <dt>
2360 gitcvs.dbname
2361 </dt>
2362 <dd>
2364 Database used by git-cvsserver to cache revision information
2365 derived from the git repository. The exact meaning depends on the
2366 used database driver, for SQLite (which is the default driver) this
2367 is a filename. Supports variable substitution (see
2368 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). May not contain semicolons (<tt>;</tt>).
2369 Default: <em>%Ggitcvs.%m.sqlite</em>
2370 </p>
2371 </dd>
2372 <dt>
2373 gitcvs.dbdriver
2374 </dt>
2375 <dd>
2377 Used Perl DBI driver. You can specify any available driver
2378 for this here, but it might not work. git-cvsserver is tested
2379 with <em>DBD::SQLite</em>, reported to work with <em>DBD::Pg</em>, and
2380 reported <strong>not</strong> to work with <em>DBD::mysql</em>. Experimental feature.
2381 May not contain double colons (<tt>:</tt>). Default: <em>SQLite</em>.
2382 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2383 </p>
2384 </dd>
2385 <dt>
2386 gitcvs.dbuser, gitcvs.dbpass
2387 </dt>
2388 <dd>
2390 Database user and password. Only useful if setting <em>gitcvs.dbdriver</em>,
2391 since SQLite has no concept of database users and/or passwords.
2392 <em>gitcvs.dbuser</em> supports variable substitution (see
2393 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details).
2394 </p>
2395 </dd>
2396 <dt>
2397 gitcvs.dbTableNamePrefix
2398 </dt>
2399 <dd>
2401 Database table name prefix. Prepended to the names of any
2402 database tables used, allowing a single database to be used
2403 for several repositories. Supports variable substitution (see
2404 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). Any non-alphabetic
2405 characters will be replaced with underscores.
2406 </p>
2407 </dd>
2408 </dl></div>
2409 <div class="para"><p>All gitcvs variables except for <em>gitcvs.usecrlfattr</em> and
2410 <em>gitcvs.allbinary</em> can also be specified as
2411 <em>gitcvs.&lt;access_method&gt;.&lt;varname&gt;</em> (where <em>access_method</em>
2412 is one of "ext" and "pserver") to make them apply only for the given
2413 access method.</p></div>
2414 <div class="vlist"><dl>
2415 <dt>
2416 gui.commitmsgwidth
2417 </dt>
2418 <dd>
2420 Defines how wide the commit message window is in the
2421 <a href="git-gui.html">git-gui(1)</a>. "75" is the default.
2422 </p>
2423 </dd>
2424 <dt>
2425 gui.diffcontext
2426 </dt>
2427 <dd>
2429 Specifies how many context lines should be used in calls to diff
2430 made by the <a href="git-gui.html">git-gui(1)</a>. The default is "5".
2431 </p>
2432 </dd>
2433 <dt>
2434 gui.encoding
2435 </dt>
2436 <dd>
2438 Specifies the default encoding to use for displaying of
2439 file contents in <a href="git-gui.html">git-gui(1)</a> and <a href="gitk.html">gitk(1)</a>.
2440 It can be overridden by setting the <em>encoding</em> attribute
2441 for relevant files (see <a href="gitattributes.html">gitattributes(5)</a>).
2442 If this option is not set, the tools default to the
2443 locale encoding.
2444 </p>
2445 </dd>
2446 <dt>
2447 gui.matchtrackingbranch
2448 </dt>
2449 <dd>
2451 Determines if new branches created with <a href="git-gui.html">git-gui(1)</a> should
2452 default to tracking remote branches with matching names or
2453 not. Default: "false".
2454 </p>
2455 </dd>
2456 <dt>
2457 gui.newbranchtemplate
2458 </dt>
2459 <dd>
2461 Is used as suggested name when creating new branches using the
2462 <a href="git-gui.html">git-gui(1)</a>.
2463 </p>
2464 </dd>
2465 <dt>
2466 gui.pruneduringfetch
2467 </dt>
2468 <dd>
2470 "true" if <a href="git-gui.html">git-gui(1)</a> should prune tracking branches when
2471 performing a fetch. The default value is "false".
2472 </p>
2473 </dd>
2474 <dt>
2475 gui.trustmtime
2476 </dt>
2477 <dd>
2479 Determines if <a href="git-gui.html">git-gui(1)</a> should trust the file modification
2480 timestamp or not. By default the timestamps are not trusted.
2481 </p>
2482 </dd>
2483 <dt>
2484 gui.spellingdictionary
2485 </dt>
2486 <dd>
2488 Specifies the dictionary used for spell checking commit messages in
2489 the <a href="git-gui.html">git-gui(1)</a>. When set to "none" spell checking is turned
2490 off.
2491 </p>
2492 </dd>
2493 <dt>
2494 gui.fastcopyblame
2495 </dt>
2496 <dd>
2498 If true, <em>git gui blame</em> uses <tt>-C</tt> instead of <tt>-C -C</tt> for original
2499 location detection. It makes blame significantly faster on huge
2500 repositories at the expense of less thorough copy detection.
2501 </p>
2502 </dd>
2503 <dt>
2504 gui.copyblamethreshold
2505 </dt>
2506 <dd>
2508 Specifies the threshold to use in <em>git gui blame</em> original location
2509 detection, measured in alphanumeric characters. See the
2510 <a href="git-blame.html">git-blame(1)</a> manual for more information on copy detection.
2511 </p>
2512 </dd>
2513 <dt>
2514 gui.blamehistoryctx
2515 </dt>
2516 <dd>
2518 Specifies the radius of history context in days to show in
2519 <a href="gitk.html">gitk(1)</a> for the selected commit, when the <tt>Show History
2520 Context</tt> menu item is invoked from <em>git gui blame</em>. If this
2521 variable is set to zero, the whole history is shown.
2522 </p>
2523 </dd>
2524 <dt>
2525 guitool.&lt;name&gt;.cmd
2526 </dt>
2527 <dd>
2529 Specifies the shell command line to execute when the corresponding item
2530 of the <a href="git-gui.html">git-gui(1)</a> <tt>Tools</tt> menu is invoked. This option is
2531 mandatory for every tool. The command is executed from the root of
2532 the working directory, and in the environment it receives the name of
2533 the tool as <em>GIT_GUITOOL</em>, the name of the currently selected file as
2534 <em>FILENAME</em>, and the name of the current branch as <em>CUR_BRANCH</em> (if
2535 the head is detached, <em>CUR_BRANCH</em> is empty).
2536 </p>
2537 </dd>
2538 <dt>
2539 guitool.&lt;name&gt;.needsfile
2540 </dt>
2541 <dd>
2543 Run the tool only if a diff is selected in the GUI. It guarantees
2544 that <em>FILENAME</em> is not empty.
2545 </p>
2546 </dd>
2547 <dt>
2548 guitool.&lt;name&gt;.noconsole
2549 </dt>
2550 <dd>
2552 Run the command silently, without creating a window to display its
2553 output.
2554 </p>
2555 </dd>
2556 <dt>
2557 guitool.&lt;name&gt;.norescan
2558 </dt>
2559 <dd>
2561 Don't rescan the working directory for changes after the tool
2562 finishes execution.
2563 </p>
2564 </dd>
2565 <dt>
2566 guitool.&lt;name&gt;.confirm
2567 </dt>
2568 <dd>
2570 Show a confirmation dialog before actually running the tool.
2571 </p>
2572 </dd>
2573 <dt>
2574 guitool.&lt;name&gt;.argprompt
2575 </dt>
2576 <dd>
2578 Request a string argument from the user, and pass it to the tool
2579 through the <em>ARGS</em> environment variable. Since requesting an
2580 argument implies confirmation, the <em>confirm</em> option has no effect
2581 if this is enabled. If the option is set to <em>true</em>, <em>yes</em>, or <em>1</em>,
2582 the dialog uses a built-in generic prompt; otherwise the exact
2583 value of the variable is used.
2584 </p>
2585 </dd>
2586 <dt>
2587 guitool.&lt;name&gt;.revprompt
2588 </dt>
2589 <dd>
2591 Request a single valid revision from the user, and set the
2592 <em>REVISION</em> environment variable. In other aspects this option
2593 is similar to <em>argprompt</em>, and can be used together with it.
2594 </p>
2595 </dd>
2596 <dt>
2597 guitool.&lt;name&gt;.revunmerged
2598 </dt>
2599 <dd>
2601 Show only unmerged branches in the <em>revprompt</em> subdialog.
2602 This is useful for tools similar to merge or rebase, but not
2603 for things like checkout or reset.
2604 </p>
2605 </dd>
2606 <dt>
2607 guitool.&lt;name&gt;.title
2608 </dt>
2609 <dd>
2611 Specifies the title to use for the prompt dialog. The default
2612 is the tool name.
2613 </p>
2614 </dd>
2615 <dt>
2616 guitool.&lt;name&gt;.prompt
2617 </dt>
2618 <dd>
2620 Specifies the general prompt string to display at the top of
2621 the dialog, before subsections for <em>argprompt</em> and <em>revprompt</em>.
2622 The default value includes the actual command.
2623 </p>
2624 </dd>
2625 <dt>
2626 help.browser
2627 </dt>
2628 <dd>
2630 Specify the browser that will be used to display help in the
2631 <em>web</em> format. See <a href="git-help.html">git-help(1)</a>.
2632 </p>
2633 </dd>
2634 <dt>
2635 help.format
2636 </dt>
2637 <dd>
2639 Override the default help format used by <a href="git-help.html">git-help(1)</a>.
2640 Values <em>man</em>, <em>info</em>, <em>web</em> and <em>html</em> are supported. <em>man</em> is
2641 the default. <em>web</em> and <em>html</em> are the same.
2642 </p>
2643 </dd>
2644 <dt>
2645 help.autocorrect
2646 </dt>
2647 <dd>
2649 Automatically correct and execute mistyped commands after
2650 waiting for the given number of deciseconds (0.1 sec). If more
2651 than one command can be deduced from the entered text, nothing
2652 will be executed. If the value of this option is negative,
2653 the corrected command will be executed immediately. If the
2654 value is 0 - the command will be just shown but not executed.
2655 This is the default.
2656 </p>
2657 </dd>
2658 <dt>
2659 http.proxy
2660 </dt>
2661 <dd>
2663 Override the HTTP proxy, normally configured using the <em>http_proxy</em>
2664 environment variable (see <a href="curl.html">curl(1)</a>). This can be overridden
2665 on a per-remote basis; see remote.&lt;name&gt;.proxy
2666 </p>
2667 </dd>
2668 <dt>
2669 http.sslVerify
2670 </dt>
2671 <dd>
2673 Whether to verify the SSL certificate when fetching or pushing
2674 over HTTPS. Can be overridden by the <em>GIT_SSL_NO_VERIFY</em> environment
2675 variable.
2676 </p>
2677 </dd>
2678 <dt>
2679 http.sslCert
2680 </dt>
2681 <dd>
2683 File containing the SSL certificate when fetching or pushing
2684 over HTTPS. Can be overridden by the <em>GIT_SSL_CERT</em> environment
2685 variable.
2686 </p>
2687 </dd>
2688 <dt>
2689 http.sslKey
2690 </dt>
2691 <dd>
2693 File containing the SSL private key when fetching or pushing
2694 over HTTPS. Can be overridden by the <em>GIT_SSL_KEY</em> environment
2695 variable.
2696 </p>
2697 </dd>
2698 <dt>
2699 http.sslCertPasswordProtected
2700 </dt>
2701 <dd>
2703 Enable git's password prompt for the SSL certificate. Otherwise
2704 OpenSSL will prompt the user, possibly many times, if the
2705 certificate or private key is encrypted. Can be overridden by the
2706 <em>GIT_SSL_CERT_PASSWORD_PROTECTED</em> environment variable.
2707 </p>
2708 </dd>
2709 <dt>
2710 http.sslCAInfo
2711 </dt>
2712 <dd>
2714 File containing the certificates to verify the peer with when
2715 fetching or pushing over HTTPS. Can be overridden by the
2716 <em>GIT_SSL_CAINFO</em> environment variable.
2717 </p>
2718 </dd>
2719 <dt>
2720 http.sslCAPath
2721 </dt>
2722 <dd>
2724 Path containing files with the CA certificates to verify the peer
2725 with when fetching or pushing over HTTPS. Can be overridden
2726 by the <em>GIT_SSL_CAPATH</em> environment variable.
2727 </p>
2728 </dd>
2729 <dt>
2730 http.maxRequests
2731 </dt>
2732 <dd>
2734 How many HTTP requests to launch in parallel. Can be overridden
2735 by the <em>GIT_HTTP_MAX_REQUESTS</em> environment variable. Default is 5.
2736 </p>
2737 </dd>
2738 <dt>
2739 http.minSessions
2740 </dt>
2741 <dd>
2743 The number of curl sessions (counted across slots) to be kept across
2744 requests. They will not be ended with curl_easy_cleanup() until
2745 http_cleanup() is invoked. If USE_CURL_MULTI is not defined, this
2746 value will be capped at 1. Defaults to 1.
2747 </p>
2748 </dd>
2749 <dt>
2750 http.postBuffer
2751 </dt>
2752 <dd>
2754 Maximum size in bytes of the buffer used by smart HTTP
2755 transports when POSTing data to the remote system.
2756 For requests larger than this buffer size, HTTP/1.1 and
2757 Transfer-Encoding: chunked is used to avoid creating a
2758 massive pack file locally. Default is 1 MiB, which is
2759 sufficient for most requests.
2760 </p>
2761 </dd>
2762 <dt>
2763 http.lowSpeedLimit, http.lowSpeedTime
2764 </dt>
2765 <dd>
2767 If the HTTP transfer speed is less than <em>http.lowSpeedLimit</em>
2768 for longer than <em>http.lowSpeedTime</em> seconds, the transfer is aborted.
2769 Can be overridden by the <em>GIT_HTTP_LOW_SPEED_LIMIT</em> and
2770 <em>GIT_HTTP_LOW_SPEED_TIME</em> environment variables.
2771 </p>
2772 </dd>
2773 <dt>
2774 http.noEPSV
2775 </dt>
2776 <dd>
2778 A boolean which disables using of EPSV ftp command by curl.
2779 This can helpful with some "poor" ftp servers which don't
2780 support EPSV mode. Can be overridden by the <em>GIT_CURL_FTP_NO_EPSV</em>
2781 environment variable. Default is false (curl will use EPSV).
2782 </p>
2783 </dd>
2784 <dt>
2785 i18n.commitEncoding
2786 </dt>
2787 <dd>
2789 Character encoding the commit messages are stored in; git itself
2790 does not care per se, but this information is necessary e.g. when
2791 importing commits from emails or in the gitk graphical history
2792 browser (and possibly at other places in the future or in other
2793 porcelains). See e.g. <a href="git-mailinfo.html">git-mailinfo(1)</a>. Defaults to <em>utf-8</em>.
2794 </p>
2795 </dd>
2796 <dt>
2797 i18n.logOutputEncoding
2798 </dt>
2799 <dd>
2801 Character encoding the commit messages are converted to when
2802 running <em>git log</em> and friends.
2803 </p>
2804 </dd>
2805 <dt>
2806 imap
2807 </dt>
2808 <dd>
2810 The configuration variables in the <em>imap</em> section are described
2811 in <a href="git-imap-send.html">git-imap-send(1)</a>.
2812 </p>
2813 </dd>
2814 <dt>
2815 init.templatedir
2816 </dt>
2817 <dd>
2819 Specify the directory from which templates will be copied.
2820 (See the "TEMPLATE DIRECTORY" section of <a href="git-init.html">git-init(1)</a>.)
2821 </p>
2822 </dd>
2823 <dt>
2824 instaweb.browser
2825 </dt>
2826 <dd>
2828 Specify the program that will be used to browse your working
2829 repository in gitweb. See <a href="git-instaweb.html">git-instaweb(1)</a>.
2830 </p>
2831 </dd>
2832 <dt>
2833 instaweb.httpd
2834 </dt>
2835 <dd>
2837 The HTTP daemon command-line to start gitweb on your working
2838 repository. See <a href="git-instaweb.html">git-instaweb(1)</a>.
2839 </p>
2840 </dd>
2841 <dt>
2842 instaweb.local
2843 </dt>
2844 <dd>
2846 If true the web server started by <a href="git-instaweb.html">git-instaweb(1)</a> will
2847 be bound to the local IP (127.0.0.1).
2848 </p>
2849 </dd>
2850 <dt>
2851 instaweb.modulepath
2852 </dt>
2853 <dd>
2855 The module path for an apache httpd used by <a href="git-instaweb.html">git-instaweb(1)</a>.
2856 </p>
2857 </dd>
2858 <dt>
2859 instaweb.port
2860 </dt>
2861 <dd>
2863 The port number to bind the gitweb httpd to. See
2864 <a href="git-instaweb.html">git-instaweb(1)</a>.
2865 </p>
2866 </dd>
2867 <dt>
2868 interactive.singlekey
2869 </dt>
2870 <dd>
2872 In interactive commands, allow the user to provide one-letter
2873 input with a single key (i.e., without hitting enter).
2874 Currently this is used only by the <tt>--patch</tt> mode of
2875 <a href="git-add.html">git-add(1)</a>. Note that this setting is silently
2876 ignored if portable keystroke input is not available.
2877 </p>
2878 </dd>
2879 <dt>
2880 log.date
2881 </dt>
2882 <dd>
2884 Set default date-time mode for the log command. Setting log.date
2885 value is similar to using <em>git log</em>'s --date option. The value is one of the
2886 following alternatives: {relative,local,default,iso,rfc,short}.
2887 See <a href="git-log.html">git-log(1)</a>.
2888 </p>
2889 </dd>
2890 <dt>
2891 log.showroot
2892 </dt>
2893 <dd>
2895 If true, the initial commit will be shown as a big creation event.
2896 This is equivalent to a diff against an empty tree.
2897 Tools like <a href="git-log.html">git-log(1)</a> or <a href="git-whatchanged.html">git-whatchanged(1)</a>, which
2898 normally hide the root commit will now show it. True by default.
2899 </p>
2900 </dd>
2901 <dt>
2902 mailmap.file
2903 </dt>
2904 <dd>
2906 The location of an augmenting mailmap file. The default
2907 mailmap, located in the root of the repository, is loaded
2908 first, then the mailmap file pointed to by this variable.
2909 The location of the mailmap file may be in a repository
2910 subdirectory, or somewhere outside of the repository itself.
2911 See <a href="git-shortlog.html">git-shortlog(1)</a> and <a href="git-blame.html">git-blame(1)</a>.
2912 </p>
2913 </dd>
2914 <dt>
2915 man.viewer
2916 </dt>
2917 <dd>
2919 Specify the programs that may be used to display help in the
2920 <em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
2921 </p>
2922 </dd>
2923 <dt>
2924 man.&lt;tool&gt;.cmd
2925 </dt>
2926 <dd>
2928 Specify the command to invoke the specified man viewer. The
2929 specified command is evaluated in shell with the man page
2930 passed as argument. (See <a href="git-help.html">git-help(1)</a>.)
2931 </p>
2932 </dd>
2933 <dt>
2934 man.&lt;tool&gt;.path
2935 </dt>
2936 <dd>
2938 Override the path for the given tool that may be used to
2939 display help in the <em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
2940 </p>
2941 </dd>
2942 <dt>
2943 merge.conflictstyle
2944 </dt>
2945 <dd>
2947 Specify the style in which conflicted hunks are written out to
2948 working tree files upon merge. The default is "merge", which
2949 shows a <tt>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</tt> conflict marker, changes made by one side,
2950 a <tt>=======</tt> marker, changes made by the other side, and then
2951 a <tt>&gt;&gt;&gt;&gt;&gt;&gt;&gt;</tt> marker. An alternate style, "diff3", adds a <tt>|||||||</tt>
2952 marker and the original text before the <tt>=======</tt> marker.
2953 </p>
2954 </dd>
2955 <dt>
2956 merge.log
2957 </dt>
2958 <dd>
2960 Whether to include summaries of merged commits in newly created
2961 merge commit messages. False by default.
2962 </p>
2963 </dd>
2964 <dt>
2965 merge.renameLimit
2966 </dt>
2967 <dd>
2969 The number of files to consider when performing rename detection
2970 during a merge; if not specified, defaults to the value of
2971 diff.renameLimit.
2972 </p>
2973 </dd>
2974 <dt>
2975 merge.stat
2976 </dt>
2977 <dd>
2979 Whether to print the diffstat between ORIG_HEAD and the merge result
2980 at the end of the merge. True by default.
2981 </p>
2982 </dd>
2983 <dt>
2984 merge.tool
2985 </dt>
2986 <dd>
2988 Controls which merge resolution program is used by
2989 <a href="git-mergetool.html">git-mergetool(1)</a>. Valid built-in values are: "kdiff3",
2990 "tkdiff", "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff",
2991 "diffuse", "ecmerge", "tortoisemerge", "p4merge", "araxis" and
2992 "opendiff". Any other value is treated is custom merge tool
2993 and there must be a corresponding mergetool.&lt;tool&gt;.cmd option.
2994 </p>
2995 </dd>
2996 <dt>
2997 merge.verbosity
2998 </dt>
2999 <dd>
3001 Controls the amount of output shown by the recursive merge
3002 strategy. Level 0 outputs nothing except a final error
3003 message if conflicts were detected. Level 1 outputs only
3004 conflicts, 2 outputs conflicts and file changes. Level 5 and
3005 above outputs debugging information. The default is level 2.
3006 Can be overridden by the <em>GIT_MERGE_VERBOSITY</em> environment variable.
3007 </p>
3008 </dd>
3009 <dt>
3010 merge.&lt;driver&gt;.name
3011 </dt>
3012 <dd>
3014 Defines a human-readable name for a custom low-level
3015 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
3016 </p>
3017 </dd>
3018 <dt>
3019 merge.&lt;driver&gt;.driver
3020 </dt>
3021 <dd>
3023 Defines the command that implements a custom low-level
3024 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
3025 </p>
3026 </dd>
3027 <dt>
3028 merge.&lt;driver&gt;.recursive
3029 </dt>
3030 <dd>
3032 Names a low-level merge driver to be used when
3033 performing an internal merge between common ancestors.
3034 See <a href="gitattributes.html">gitattributes(5)</a> for details.
3035 </p>
3036 </dd>
3037 <dt>
3038 mergetool.&lt;tool&gt;.path
3039 </dt>
3040 <dd>
3042 Override the path for the given tool. This is useful in case
3043 your tool is not in the PATH.
3044 </p>
3045 </dd>
3046 <dt>
3047 mergetool.&lt;tool&gt;.cmd
3048 </dt>
3049 <dd>
3051 Specify the command to invoke the specified merge tool. The
3052 specified command is evaluated in shell with the following
3053 variables available: <em>BASE</em> is the name of a temporary file
3054 containing the common base of the files to be merged, if available;
3055 <em>LOCAL</em> is the name of a temporary file containing the contents of
3056 the file on the current branch; <em>REMOTE</em> is the name of a temporary
3057 file containing the contents of the file from the branch being
3058 merged; <em>MERGED</em> contains the name of the file to which the merge
3059 tool should write the results of a successful merge.
3060 </p>
3061 </dd>
3062 <dt>
3063 mergetool.&lt;tool&gt;.trustExitCode
3064 </dt>
3065 <dd>
3067 For a custom merge command, specify whether the exit code of
3068 the merge command can be used to determine whether the merge was
3069 successful. If this is not set to true then the merge target file
3070 timestamp is checked and the merge assumed to have been successful
3071 if the file has been updated, otherwise the user is prompted to
3072 indicate the success of the merge.
3073 </p>
3074 </dd>
3075 <dt>
3076 mergetool.keepBackup
3077 </dt>
3078 <dd>
3080 After performing a merge, the original file with conflict markers
3081 can be saved as a file with a <tt>.orig</tt> extension. If this variable
3082 is set to <tt>false</tt> then this file is not preserved. Defaults to
3083 <tt>true</tt> (i.e. keep the backup files).
3084 </p>
3085 </dd>
3086 <dt>
3087 mergetool.keepTemporaries
3088 </dt>
3089 <dd>
3091 When invoking a custom merge tool, git uses a set of temporary
3092 files to pass to the tool. If the tool returns an error and this
3093 variable is set to <tt>true</tt>, then these temporary files will be
3094 preserved, otherwise they will be removed after the tool has
3095 exited. Defaults to <tt>false</tt>.
3096 </p>
3097 </dd>
3098 <dt>
3099 mergetool.prompt
3100 </dt>
3101 <dd>
3103 Prompt before each invocation of the merge resolution program.
3104 </p>
3105 </dd>
3106 <dt>
3107 notes.displayRef
3108 </dt>
3109 <dd>
3111 The (fully qualified) refname from which to show notes when
3112 showing commit messages. The value of this variable can be set
3113 to a glob, in which case notes from all matching refs will be
3114 shown. You may also specify this configuration variable
3115 several times. A warning will be issued for refs that do not
3116 exist, but a glob that does not match any refs is silently
3117 ignored.
3118 </p>
3119 <div class="para"><p>This setting can be overridden with the <tt>GIT_NOTES_DISPLAY_REF</tt>
3120 environment variable, which must be a colon separated list of refs or
3121 globs.</p></div>
3122 <div class="para"><p>The effective value of "core.notesRef" (possibly overridden by
3123 GIT_NOTES_REF) is also implicitly added to the list of refs to be
3124 displayed.</p></div>
3125 </dd>
3126 <dt>
3127 notes.rewrite.&lt;command&gt;
3128 </dt>
3129 <dd>
3131 When rewriting commits with &lt;command&gt; (currently <tt>amend</tt> or
3132 <tt>rebase</tt>) and this variable is set to <tt>true</tt>, git
3133 automatically copies your notes from the original to the
3134 rewritten commit. Defaults to <tt>true</tt>, but see
3135 "notes.rewriteRef" below.
3136 </p>
3137 <div class="para"><p>This setting can be overridden with the <tt>GIT_NOTES_REWRITE_REF</tt>
3138 environment variable, which must be a colon separated list of refs or
3139 globs.</p></div>
3140 </dd>
3141 <dt>
3142 notes.rewriteMode
3143 </dt>
3144 <dd>
3146 When copying notes during a rewrite (see the
3147 "notes.rewrite.&lt;command&gt;" option), determines what to do if
3148 the target commit already has a note. Must be one of
3149 <tt>overwrite</tt>, <tt>concatenate</tt>, or <tt>ignore</tt>. Defaults to
3150 <tt>concatenate</tt>.
3151 </p>
3152 <div class="para"><p>This setting can be overridden with the <tt>GIT_NOTES_REWRITE_MODE</tt>
3153 environment variable.</p></div>
3154 </dd>
3155 <dt>
3156 notes.rewriteRef
3157 </dt>
3158 <dd>
3160 When copying notes during a rewrite, specifies the (fully
3161 qualified) ref whose notes should be copied. The ref may be a
3162 glob, in which case notes in all matching refs will be copied.
3163 You may also specify this configuration several times.
3164 </p>
3165 <div class="para"><p>Does not have a default value; you must configure this variable to
3166 enable note rewriting.</p></div>
3167 </dd>
3168 <dt>
3169 pack.window
3170 </dt>
3171 <dd>
3173 The size of the window used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
3174 window size is given on the command line. Defaults to 10.
3175 </p>
3176 </dd>
3177 <dt>
3178 pack.depth
3179 </dt>
3180 <dd>
3182 The maximum delta depth used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
3183 maximum depth is given on the command line. Defaults to 50.
3184 </p>
3185 </dd>
3186 <dt>
3187 pack.windowMemory
3188 </dt>
3189 <dd>
3191 The window memory size limit used by <a href="git-pack-objects.html">git-pack-objects(1)</a>
3192 when no limit is given on the command line. The value can be
3193 suffixed with "k", "m", or "g". Defaults to 0, meaning no
3194 limit.
3195 </p>
3196 </dd>
3197 <dt>
3198 pack.compression
3199 </dt>
3200 <dd>
3202 An integer -1..9, indicating the compression level for objects
3203 in a pack file. -1 is the zlib default. 0 means no
3204 compression, and 1..9 are various speed/size tradeoffs, 9 being
3205 slowest. If not set, defaults to core.compression. If that is
3206 not set, defaults to -1, the zlib default, which is "a default
3207 compromise between speed and compression (currently equivalent
3208 to level 6)."
3209 </p>
3210 </dd>
3211 <dt>
3212 pack.deltaCacheSize
3213 </dt>
3214 <dd>
3216 The maximum memory in bytes used for caching deltas in
3217 <a href="git-pack-objects.html">git-pack-objects(1)</a> before writing them out to a pack.
3218 This cache is used to speed up the writing object phase by not
3219 having to recompute the final delta result once the best match
3220 for all objects is found. Repacking large repositories on machines
3221 which are tight with memory might be badly impacted by this though,
3222 especially if this cache pushes the system into swapping.
3223 A value of 0 means no limit. The smallest size of 1 byte may be
3224 used to virtually disable this cache. Defaults to 256 MiB.
3225 </p>
3226 </dd>
3227 <dt>
3228 pack.deltaCacheLimit
3229 </dt>
3230 <dd>
3232 The maximum size of a delta, that is cached in
3233 <a href="git-pack-objects.html">git-pack-objects(1)</a>. This cache is used to speed up the
3234 writing object phase by not having to recompute the final delta
3235 result once the best match for all objects is found. Defaults to 1000.
3236 </p>
3237 </dd>
3238 <dt>
3239 pack.threads
3240 </dt>
3241 <dd>
3243 Specifies the number of threads to spawn when searching for best
3244 delta matches. This requires that <a href="git-pack-objects.html">git-pack-objects(1)</a>
3245 be compiled with pthreads otherwise this option is ignored with a
3246 warning. This is meant to reduce packing time on multiprocessor
3247 machines. The required amount of memory for the delta search window
3248 is however multiplied by the number of threads.
3249 Specifying 0 will cause git to auto-detect the number of CPU's
3250 and set the number of threads accordingly.
3251 </p>
3252 </dd>
3253 <dt>
3254 pack.indexVersion
3255 </dt>
3256 <dd>
3258 Specify the default pack index version. Valid values are 1 for
3259 legacy pack index used by Git versions prior to 1.5.2, and 2 for
3260 the new pack index with capabilities for packs larger than 4 GB
3261 as well as proper protection against the repacking of corrupted
3262 packs. Version 2 is the default. Note that version 2 is enforced
3263 and this config option ignored whenever the corresponding pack is
3264 larger than 2 GB.
3265 </p>
3266 <div class="para"><p>If you have an old git that does not understand the version 2 <tt>&#42;.idx</tt> file,
3267 cloning or fetching over a non native protocol (e.g. "http" and "rsync")
3268 that will copy both <tt>&#42;.pack</tt> file and corresponding <tt>&#42;.idx</tt> file from the
3269 other side may give you a repository that cannot be accessed with your
3270 older version of git. If the <tt>&#42;.pack</tt> file is smaller than 2 GB, however,
3271 you can use <a href="git-index-pack.html">git-index-pack(1)</a> on the *.pack file to regenerate
3272 the <tt>&#42;.idx</tt> file.</p></div>
3273 </dd>
3274 <dt>
3275 pack.packSizeLimit
3276 </dt>
3277 <dd>
3279 The maximum size of a pack. This setting only affects
3280 packing to a file when repacking, i.e. the git:// protocol
3281 is unaffected. It can be overridden by the <tt>--max-pack-size</tt>
3282 option of <a href="git-repack.html">git-repack(1)</a>. The minimum size allowed is
3283 limited to 1 MiB. The default is unlimited.
3284 Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are
3285 supported.
3286 </p>
3287 </dd>
3288 <dt>
3289 pager.&lt;cmd&gt;
3290 </dt>
3291 <dd>
3293 Allows turning on or off pagination of the output of a
3294 particular git subcommand when writing to a tty. If
3295 <tt>--paginate</tt> or <tt>--no-pager</tt> is specified on the command line,
3296 it takes precedence over this option. To disable pagination for
3297 all commands, set <tt>core.pager</tt> or <tt>GIT_PAGER</tt> to <tt>cat</tt>.
3298 </p>
3299 </dd>
3300 <dt>
3301 pull.octopus
3302 </dt>
3303 <dd>
3305 The default merge strategy to use when pulling multiple branches
3306 at once.
3307 </p>
3308 </dd>
3309 <dt>
3310 pull.twohead
3311 </dt>
3312 <dd>
3314 The default merge strategy to use when pulling a single branch.
3315 </p>
3316 </dd>
3317 <dt>
3318 push.default
3319 </dt>
3320 <dd>
3322 Defines the action git push should take if no refspec is given
3323 on the command line, no refspec is configured in the remote, and
3324 no refspec is implied by any of the options given on the command
3325 line. Possible values are:
3326 </p>
3327 <div class="ilist"><ul>
3328 <li>
3330 <tt>nothing</tt> do not push anything.
3331 </p>
3332 </li>
3333 <li>
3335 <tt>matching</tt> push all matching branches.
3336 All branches having the same name in both ends are considered to be
3337 matching. This is the default.
3338 </p>
3339 </li>
3340 <li>
3342 <tt>tracking</tt> push the current branch to its upstream branch.
3343 </p>
3344 </li>
3345 <li>
3347 <tt>current</tt> push the current branch to a branch of the same name.
3348 </p>
3349 </li>
3350 </ul></div>
3351 </dd>
3352 <dt>
3353 rebase.stat
3354 </dt>
3355 <dd>
3357 Whether to show a diffstat of what changed upstream since the last
3358 rebase. False by default.
3359 </p>
3360 </dd>
3361 <dt>
3362 receive.autogc
3363 </dt>
3364 <dd>
3366 By default, git-receive-pack will run "git-gc --auto" after
3367 receiving data from git-push and updating refs. You can stop
3368 it by setting this variable to false.
3369 </p>
3370 </dd>
3371 <dt>
3372 receive.fsckObjects
3373 </dt>
3374 <dd>
3376 If it is set to true, git-receive-pack will check all received
3377 objects. It will abort in the case of a malformed object or a
3378 broken link. The result of an abort are only dangling objects.
3379 Defaults to false.
3380 </p>
3381 </dd>
3382 <dt>
3383 receive.unpackLimit
3384 </dt>
3385 <dd>
3387 If the number of objects received in a push is below this
3388 limit then the objects will be unpacked into loose object
3389 files. However if the number of received objects equals or
3390 exceeds this limit then the received pack will be stored as
3391 a pack, after adding any missing delta bases. Storing the
3392 pack from a push can make the push operation complete faster,
3393 especially on slow filesystems. If not set, the value of
3394 <tt>transfer.unpackLimit</tt> is used instead.
3395 </p>
3396 </dd>
3397 <dt>
3398 receive.denyDeletes
3399 </dt>
3400 <dd>
3402 If set to true, git-receive-pack will deny a ref update that deletes
3403 the ref. Use this to prevent such a ref deletion via a push.
3404 </p>
3405 </dd>
3406 <dt>
3407 receive.denyCurrentBranch
3408 </dt>
3409 <dd>
3411 If set to true or "refuse", receive-pack will deny a ref update
3412 to the currently checked out branch of a non-bare repository.
3413 Such a push is potentially dangerous because it brings the HEAD
3414 out of sync with the index and working tree. If set to "warn",
3415 print a warning of such a push to stderr, but allow the push to
3416 proceed. If set to false or "ignore", allow such pushes with no
3417 message. Defaults to "refuse".
3418 </p>
3419 </dd>
3420 <dt>
3421 receive.denyNonFastForwards
3422 </dt>
3423 <dd>
3425 If set to true, git-receive-pack will deny a ref update which is
3426 not a fast-forward. Use this to prevent such an update via a push,
3427 even if that push is forced. This configuration variable is
3428 set when initializing a shared repository.
3429 </p>
3430 </dd>
3431 <dt>
3432 receive.updateserverinfo
3433 </dt>
3434 <dd>
3436 If set to true, git-receive-pack will run git-update-server-info
3437 after receiving data from git-push and updating refs.
3438 </p>
3439 </dd>
3440 <dt>
3441 remote.&lt;name&gt;.url
3442 </dt>
3443 <dd>
3445 The URL of a remote repository. See <a href="git-fetch.html">git-fetch(1)</a> or
3446 <a href="git-push.html">git-push(1)</a>.
3447 </p>
3448 </dd>
3449 <dt>
3450 remote.&lt;name&gt;.pushurl
3451 </dt>
3452 <dd>
3454 The push URL of a remote repository. See <a href="git-push.html">git-push(1)</a>.
3455 </p>
3456 </dd>
3457 <dt>
3458 remote.&lt;name&gt;.proxy
3459 </dt>
3460 <dd>
3462 For remotes that require curl (http, https and ftp), the URL to
3463 the proxy to use for that remote. Set to the empty string to
3464 disable proxying for that remote.
3465 </p>
3466 </dd>
3467 <dt>
3468 remote.&lt;name&gt;.fetch
3469 </dt>
3470 <dd>
3472 The default set of "refspec" for <a href="git-fetch.html">git-fetch(1)</a>. See
3473 <a href="git-fetch.html">git-fetch(1)</a>.
3474 </p>
3475 </dd>
3476 <dt>
3477 remote.&lt;name&gt;.push
3478 </dt>
3479 <dd>
3481 The default set of "refspec" for <a href="git-push.html">git-push(1)</a>. See
3482 <a href="git-push.html">git-push(1)</a>.
3483 </p>
3484 </dd>
3485 <dt>
3486 remote.&lt;name&gt;.mirror
3487 </dt>
3488 <dd>
3490 If true, pushing to this remote will automatically behave
3491 as if the <tt>--mirror</tt> option was given on the command line.
3492 </p>
3493 </dd>
3494 <dt>
3495 remote.&lt;name&gt;.skipDefaultUpdate
3496 </dt>
3497 <dd>
3499 If true, this remote will be skipped by default when updating
3500 using <a href="git-fetch.html">git-fetch(1)</a> or the <tt>update</tt> subcommand of
3501 <a href="git-remote.html">git-remote(1)</a>.
3502 </p>
3503 </dd>
3504 <dt>
3505 remote.&lt;name&gt;.skipFetchAll
3506 </dt>
3507 <dd>
3509 If true, this remote will be skipped by default when updating
3510 using <a href="git-fetch.html">git-fetch(1)</a> or the <tt>update</tt> subcommand of
3511 <a href="git-remote.html">git-remote(1)</a>.
3512 </p>
3513 </dd>
3514 <dt>
3515 remote.&lt;name&gt;.receivepack
3516 </dt>
3517 <dd>
3519 The default program to execute on the remote side when pushing. See
3520 option --receive-pack of <a href="git-push.html">git-push(1)</a>.
3521 </p>
3522 </dd>
3523 <dt>
3524 remote.&lt;name&gt;.uploadpack
3525 </dt>
3526 <dd>
3528 The default program to execute on the remote side when fetching. See
3529 option --upload-pack of <a href="git-fetch-pack.html">git-fetch-pack(1)</a>.
3530 </p>
3531 </dd>
3532 <dt>
3533 remote.&lt;name&gt;.tagopt
3534 </dt>
3535 <dd>
3537 Setting this value to --no-tags disables automatic tag following when
3538 fetching from remote &lt;name&gt;
3539 </p>
3540 </dd>
3541 <dt>
3542 remote.&lt;name&gt;.vcs
3543 </dt>
3544 <dd>
3546 Setting this to a value &lt;vcs&gt; will cause git to interact with
3547 the remote with the git-remote-&lt;vcs&gt; helper.
3548 </p>
3549 </dd>
3550 <dt>
3551 remotes.&lt;group&gt;
3552 </dt>
3553 <dd>
3555 The list of remotes which are fetched by "git remote update
3556 &lt;group&gt;". See <a href="git-remote.html">git-remote(1)</a>.
3557 </p>
3558 </dd>
3559 <dt>
3560 repack.usedeltabaseoffset
3561 </dt>
3562 <dd>
3564 By default, <a href="git-repack.html">git-repack(1)</a> creates packs that use
3565 delta-base offset. If you need to share your repository with
3566 git older than version 1.4.4, either directly or via a dumb
3567 protocol such as http, then you need to set this option to
3568 "false" and repack. Access from old git versions over the
3569 native protocol are unaffected by this option.
3570 </p>
3571 </dd>
3572 <dt>
3573 rerere.autoupdate
3574 </dt>
3575 <dd>
3577 When set to true, <tt>git-rerere</tt> updates the index with the
3578 resulting contents after it cleanly resolves conflicts using
3579 previously recorded resolution. Defaults to false.
3580 </p>
3581 </dd>
3582 <dt>
3583 rerere.enabled
3584 </dt>
3585 <dd>
3587 Activate recording of resolved conflicts, so that identical
3588 conflict hunks can be resolved automatically, should they
3589 be encountered again. <a href="git-rerere.html">git-rerere(1)</a> command is by
3590 default enabled if you create <tt>rr-cache</tt> directory under
3591 <tt>$GIT_DIR</tt>, but can be disabled by setting this option to false.
3592 </p>
3593 </dd>
3594 <dt>
3595 sendemail.identity
3596 </dt>
3597 <dd>
3599 A configuration identity. When given, causes values in the
3600 <em>sendemail.&lt;identity&gt;</em> subsection to take precedence over
3601 values in the <em>sendemail</em> section. The default identity is
3602 the value of <em>sendemail.identity</em>.
3603 </p>
3604 </dd>
3605 <dt>
3606 sendemail.smtpencryption
3607 </dt>
3608 <dd>
3610 See <a href="git-send-email.html">git-send-email(1)</a> for description. Note that this
3611 setting is not subject to the <em>identity</em> mechanism.
3612 </p>
3613 </dd>
3614 <dt>
3615 sendemail.smtpssl
3616 </dt>
3617 <dd>
3619 Deprecated alias for <em>sendemail.smtpencryption = ssl</em>.
3620 </p>
3621 </dd>
3622 <dt>
3623 sendemail.&lt;identity&gt;.*
3624 </dt>
3625 <dd>
3627 Identity-specific versions of the <em>sendemail.*</em> parameters
3628 found below, taking precedence over those when the this
3629 identity is selected, through command-line or
3630 <em>sendemail.identity</em>.
3631 </p>
3632 </dd>
3633 <dt>
3634 sendemail.aliasesfile
3635 </dt>
3636 <dt>
3637 sendemail.aliasfiletype
3638 </dt>
3639 <dt>
3640 sendemail.bcc
3641 </dt>
3642 <dt>
3643 sendemail.cc
3644 </dt>
3645 <dt>
3646 sendemail.cccmd
3647 </dt>
3648 <dt>
3649 sendemail.chainreplyto
3650 </dt>
3651 <dt>
3652 sendemail.confirm
3653 </dt>
3654 <dt>
3655 sendemail.envelopesender
3656 </dt>
3657 <dt>
3658 sendemail.from
3659 </dt>
3660 <dt>
3661 sendemail.multiedit
3662 </dt>
3663 <dt>
3664 sendemail.signedoffbycc
3665 </dt>
3666 <dt>
3667 sendemail.smtppass
3668 </dt>
3669 <dt>
3670 sendemail.suppresscc
3671 </dt>
3672 <dt>
3673 sendemail.suppressfrom
3674 </dt>
3675 <dt>
3676 sendemail.to
3677 </dt>
3678 <dt>
3679 sendemail.smtpserver
3680 </dt>
3681 <dt>
3682 sendemail.smtpserverport
3683 </dt>
3684 <dt>
3685 sendemail.smtpuser
3686 </dt>
3687 <dt>
3688 sendemail.thread
3689 </dt>
3690 <dt>
3691 sendemail.validate
3692 </dt>
3693 <dd>
3695 See <a href="git-send-email.html">git-send-email(1)</a> for description.
3696 </p>
3697 </dd>
3698 <dt>
3699 sendemail.signedoffcc
3700 </dt>
3701 <dd>
3703 Deprecated alias for <em>sendemail.signedoffbycc</em>.
3704 </p>
3705 </dd>
3706 <dt>
3707 showbranch.default
3708 </dt>
3709 <dd>
3711 The default set of branches for <a href="git-show-branch.html">git-show-branch(1)</a>.
3712 See <a href="git-show-branch.html">git-show-branch(1)</a>.
3713 </p>
3714 </dd>
3715 <dt>
3716 status.relativePaths
3717 </dt>
3718 <dd>
3720 By default, <a href="git-status.html">git-status(1)</a> shows paths relative to the
3721 current directory. Setting this variable to <tt>false</tt> shows paths
3722 relative to the repository root (this was the default for git
3723 prior to v1.5.4).
3724 </p>
3725 </dd>
3726 <dt>
3727 status.showUntrackedFiles
3728 </dt>
3729 <dd>
3731 By default, <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a> show
3732 files which are not currently tracked by Git. Directories which
3733 contain only untracked files, are shown with the directory name
3734 only. Showing untracked files means that Git needs to lstat() all
3735 all the files in the whole repository, which might be slow on some
3736 systems. So, this variable controls how the commands displays
3737 the untracked files. Possible values are:
3738 </p>
3739 <div class="ilist"><ul>
3740 <li>
3742 <em>no</em> - Show no untracked files
3743 </p>
3744 </li>
3745 <li>
3747 <em>normal</em> - Shows untracked files and directories
3748 </p>
3749 </li>
3750 <li>
3752 <em>all</em> - Shows also individual files in untracked directories.
3753 </p>
3754 </li>
3755 </ul></div>
3756 <div class="para"><p>If this variable is not specified, it defaults to <em>normal</em>.
3757 This variable can be overridden with the -u|--untracked-files option
3758 of <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a>.</p></div>
3759 </dd>
3760 <dt>
3761 tar.umask
3762 </dt>
3763 <dd>
3765 This variable can be used to restrict the permission bits of
3766 tar archive entries. The default is 0002, which turns off the
3767 world write bit. The special value "user" indicates that the
3768 archiving user's umask will be used instead. See umask(2) and
3769 <a href="git-archive.html">git-archive(1)</a>.
3770 </p>
3771 </dd>
3772 <dt>
3773 transfer.unpackLimit
3774 </dt>
3775 <dd>
3777 When <tt>fetch.unpackLimit</tt> or <tt>receive.unpackLimit</tt> are
3778 not set, the value of this variable is used instead.
3779 The default value is 100.
3780 </p>
3781 </dd>
3782 <dt>
3783 url.&lt;base&gt;.insteadOf
3784 </dt>
3785 <dd>
3787 Any URL that starts with this value will be rewritten to
3788 start, instead, with &lt;base&gt;. In cases where some site serves a
3789 large number of repositories, and serves them with multiple
3790 access methods, and some users need to use different access
3791 methods, this feature allows people to specify any of the
3792 equivalent URLs and have git automatically rewrite the URL to
3793 the best alternative for the particular user, even for a
3794 never-before-seen repository on the site. When more than one
3795 insteadOf strings match a given URL, the longest match is used.
3796 </p>
3797 </dd>
3798 <dt>
3799 url.&lt;base&gt;.pushInsteadOf
3800 </dt>
3801 <dd>
3803 Any URL that starts with this value will not be pushed to;
3804 instead, it will be rewritten to start with &lt;base&gt;, and the
3805 resulting URL will be pushed to. In cases where some site serves
3806 a large number of repositories, and serves them with multiple
3807 access methods, some of which do not allow push, this feature
3808 allows people to specify a pull-only URL and have git
3809 automatically use an appropriate URL to push, even for a
3810 never-before-seen repository on the site. When more than one
3811 pushInsteadOf strings match a given URL, the longest match is
3812 used. If a remote has an explicit pushurl, git will ignore this
3813 setting for that remote.
3814 </p>
3815 </dd>
3816 <dt>
3817 user.email
3818 </dt>
3819 <dd>
3821 Your email address to be recorded in any newly created commits.
3822 Can be overridden by the <em>GIT_AUTHOR_EMAIL</em>, <em>GIT_COMMITTER_EMAIL</em>, and
3823 <em>EMAIL</em> environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
3824 </p>
3825 </dd>
3826 <dt>
3827 user.name
3828 </dt>
3829 <dd>
3831 Your full name to be recorded in any newly created commits.
3832 Can be overridden by the <em>GIT_AUTHOR_NAME</em> and <em>GIT_COMMITTER_NAME</em>
3833 environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
3834 </p>
3835 </dd>
3836 <dt>
3837 user.signingkey
3838 </dt>
3839 <dd>
3841 If <a href="git-tag.html">git-tag(1)</a> is not selecting the key you want it to
3842 automatically when creating a signed tag, you can override the
3843 default selection with this variable. This option is passed
3844 unchanged to gpg's --local-user parameter, so you may specify a key
3845 using any method that gpg supports.
3846 </p>
3847 </dd>
3848 <dt>
3849 web.browser
3850 </dt>
3851 <dd>
3853 Specify a web browser that may be used by some commands.
3854 Currently only <a href="git-instaweb.html">git-instaweb(1)</a> and <a href="git-help.html">git-help(1)</a>
3855 may use it.
3856 </p>
3857 </dd>
3858 </dl></div>
3859 </div>
3860 <h2 id="_author">Author</h2>
3861 <div class="sectionbody">
3862 <div class="para"><p>Written by Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;</p></div>
3863 </div>
3864 <h2 id="_documentation">Documentation</h2>
3865 <div class="sectionbody">
3866 <div class="para"><p>Documentation by Johannes Schindelin, Petr Baudis and the git-list &lt;git@vger.kernel.org&gt;.</p></div>
3867 </div>
3868 <h2 id="_git">GIT</h2>
3869 <div class="sectionbody">
3870 <div class="para"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
3871 </div>
3872 <div id="footer">
3873 <div id="footer-text">
3874 Last updated 2010-03-25 00:38:20 UTC
3875 </div>
3876 </div>
3877 </body>
3878 </html>