Autogenerated HTML docs for v1.7.5.1-339-gb602ed
[git/jnareb-git.git] / git-config.html
blob59c73b28be70f6cd120f42e195ec277e92c7f521
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.4.5" />
7 <title>git-config(1)</title>
8 <style type="text/css">
9 /* Debug borders */
10 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
12 border: 1px solid red;
16 body {
17 margin: 1em 5% 1em 5%;
20 a {
21 color: blue;
22 text-decoration: underline;
24 a:visited {
25 color: fuchsia;
28 em {
29 font-style: italic;
30 color: navy;
33 strong {
34 font-weight: bold;
35 color: #083194;
38 tt {
39 color: navy;
42 h1, h2, h3, h4, h5, h6 {
43 color: #527bbd;
44 font-family: sans-serif;
45 margin-top: 1.2em;
46 margin-bottom: 0.5em;
47 line-height: 1.3;
50 h1, h2, h3 {
51 border-bottom: 2px solid silver;
53 h2 {
54 padding-top: 0.5em;
56 h3 {
57 float: left;
59 h3 + * {
60 clear: left;
63 div.sectionbody {
64 font-family: serif;
65 margin-left: 0;
68 hr {
69 border: 1px solid silver;
72 p {
73 margin-top: 0.5em;
74 margin-bottom: 0.5em;
77 ul, ol, li > p {
78 margin-top: 0;
81 pre {
82 padding: 0;
83 margin: 0;
86 span#author {
87 color: #527bbd;
88 font-family: sans-serif;
89 font-weight: bold;
90 font-size: 1.1em;
92 span#email {
94 span#revnumber, span#revdate, span#revremark {
95 font-family: sans-serif;
98 div#footer {
99 font-family: sans-serif;
100 font-size: small;
101 border-top: 2px solid silver;
102 padding-top: 0.5em;
103 margin-top: 4.0em;
105 div#footer-text {
106 float: left;
107 padding-bottom: 0.5em;
109 div#footer-badges {
110 float: right;
111 padding-bottom: 0.5em;
114 div#preamble {
115 margin-top: 1.5em;
116 margin-bottom: 1.5em;
118 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
119 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
120 div.admonitionblock {
121 margin-top: 1.5em;
122 margin-bottom: 1.5em;
124 div.admonitionblock {
125 margin-top: 2.5em;
126 margin-bottom: 2.5em;
129 div.content { /* Block element content. */
130 padding: 0;
133 /* Block element titles. */
134 div.title, caption.title {
135 color: #527bbd;
136 font-family: sans-serif;
137 font-weight: bold;
138 text-align: left;
139 margin-top: 1.0em;
140 margin-bottom: 0.5em;
142 div.title + * {
143 margin-top: 0;
146 td div.title:first-child {
147 margin-top: 0.0em;
149 div.content div.title:first-child {
150 margin-top: 0.0em;
152 div.content + div.title {
153 margin-top: 0.0em;
156 div.sidebarblock > div.content {
157 background: #ffffee;
158 border: 1px solid silver;
159 padding: 0.5em;
162 div.listingblock > div.content {
163 border: 1px solid silver;
164 background: #f4f4f4;
165 padding: 0.5em;
168 div.quoteblock {
169 padding-left: 2.0em;
170 margin-right: 10%;
172 div.quoteblock > div.attribution {
173 padding-top: 0.5em;
174 text-align: right;
177 div.verseblock {
178 padding-left: 2.0em;
179 margin-right: 10%;
181 div.verseblock > div.content {
182 white-space: pre;
184 div.verseblock > div.attribution {
185 padding-top: 0.75em;
186 text-align: left;
188 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
189 div.verseblock + div.attribution {
190 text-align: left;
193 div.admonitionblock .icon {
194 vertical-align: top;
195 font-size: 1.1em;
196 font-weight: bold;
197 text-decoration: underline;
198 color: #527bbd;
199 padding-right: 0.5em;
201 div.admonitionblock td.content {
202 padding-left: 0.5em;
203 border-left: 2px solid silver;
206 div.exampleblock > div.content {
207 border-left: 2px solid silver;
208 padding: 0.5em;
211 div.imageblock div.content { padding-left: 0; }
212 span.image img { border-style: none; }
213 a.image:visited { color: white; }
215 dl {
216 margin-top: 0.8em;
217 margin-bottom: 0.8em;
219 dt {
220 margin-top: 0.5em;
221 margin-bottom: 0;
222 font-style: normal;
223 color: navy;
225 dd > *:first-child {
226 margin-top: 0.1em;
229 ul, ol {
230 list-style-position: outside;
232 ol.arabic {
233 list-style-type: decimal;
235 ol.loweralpha {
236 list-style-type: lower-alpha;
238 ol.upperalpha {
239 list-style-type: upper-alpha;
241 ol.lowerroman {
242 list-style-type: lower-roman;
244 ol.upperroman {
245 list-style-type: upper-roman;
248 div.compact ul, div.compact ol,
249 div.compact p, div.compact p,
250 div.compact div, div.compact div {
251 margin-top: 0.1em;
252 margin-bottom: 0.1em;
255 div.tableblock > table {
256 border: 3px solid #527bbd;
258 thead {
259 font-family: sans-serif;
260 font-weight: bold;
262 tfoot {
263 font-weight: bold;
265 td > div.verse {
266 white-space: pre;
268 p.table {
269 margin-top: 0;
271 /* Because the table frame attribute is overriden by CSS in most browsers. */
272 div.tableblock > table[frame="void"] {
273 border-style: none;
275 div.tableblock > table[frame="hsides"] {
276 border-left-style: none;
277 border-right-style: none;
279 div.tableblock > table[frame="vsides"] {
280 border-top-style: none;
281 border-bottom-style: none;
285 div.hdlist {
286 margin-top: 0.8em;
287 margin-bottom: 0.8em;
289 div.hdlist tr {
290 padding-bottom: 15px;
292 dt.hdlist1.strong, td.hdlist1.strong {
293 font-weight: bold;
295 td.hdlist1 {
296 vertical-align: top;
297 font-style: normal;
298 padding-right: 0.8em;
299 color: navy;
301 td.hdlist2 {
302 vertical-align: top;
304 div.hdlist.compact tr {
305 margin: 0;
306 padding-bottom: 0;
309 .comment {
310 background: yellow;
313 @media print {
314 div#footer-badges { display: none; }
317 div#toctitle {
318 color: #527bbd;
319 font-family: sans-serif;
320 font-size: 1.1em;
321 font-weight: bold;
322 margin-top: 1.0em;
323 margin-bottom: 0.1em;
326 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
327 margin-top: 0;
328 margin-bottom: 0;
330 div.toclevel2 {
331 margin-left: 2em;
332 font-size: 0.9em;
334 div.toclevel3 {
335 margin-left: 4em;
336 font-size: 0.9em;
338 div.toclevel4 {
339 margin-left: 6em;
340 font-size: 0.9em;
342 /* Overrides for manpage documents */
343 h1 {
344 padding-top: 0.5em;
345 padding-bottom: 0.5em;
346 border-top: 2px solid silver;
347 border-bottom: 2px solid silver;
349 h2 {
350 border-style: none;
352 div.sectionbody {
353 margin-left: 5%;
356 @media print {
357 div#toc { display: none; }
360 /* Workarounds for IE6's broken and incomplete CSS2. */
362 div.sidebar-content {
363 background: #ffffee;
364 border: 1px solid silver;
365 padding: 0.5em;
367 div.sidebar-title, div.image-title {
368 color: #527bbd;
369 font-family: sans-serif;
370 font-weight: bold;
371 margin-top: 0.0em;
372 margin-bottom: 0.5em;
375 div.listingblock div.content {
376 border: 1px solid silver;
377 background: #f4f4f4;
378 padding: 0.5em;
381 div.quoteblock-attribution {
382 padding-top: 0.5em;
383 text-align: right;
386 div.verseblock-content {
387 white-space: pre;
389 div.verseblock-attribution {
390 padding-top: 0.75em;
391 text-align: left;
394 div.exampleblock-content {
395 border-left: 2px solid silver;
396 padding-left: 0.5em;
399 /* IE6 sets dynamically generated links as visited. */
400 div#toc a:visited { color: blue; }
401 </style>
402 </head>
403 <body>
404 <div id="header">
405 <h1>
406 git-config(1) Manual Page
407 </h1>
408 <h2>NAME</h2>
409 <div class="sectionbody">
410 <p>git-config -
411 Get and set repository or global options
412 </p>
413 </div>
414 </div>
415 <h2 id="_synopsis">SYNOPSIS</h2>
416 <div class="sectionbody">
417 <div class="verseblock">
418 <div class="verseblock-content"><em>git config</em> [&lt;file-option&gt;] [type] [-z|--null] name [value [value_regex]]
419 <em>git config</em> [&lt;file-option&gt;] [type] --add name value
420 <em>git config</em> [&lt;file-option&gt;] [type] --replace-all name value [value_regex]
421 <em>git config</em> [&lt;file-option&gt;] [type] [-z|--null] --get name [value_regex]
422 <em>git config</em> [&lt;file-option&gt;] [type] [-z|--null] --get-all name [value_regex]
423 <em>git config</em> [&lt;file-option&gt;] [type] [-z|--null] --get-regexp name_regex [value_regex]
424 <em>git config</em> [&lt;file-option&gt;] --unset name [value_regex]
425 <em>git config</em> [&lt;file-option&gt;] --unset-all name [value_regex]
426 <em>git config</em> [&lt;file-option&gt;] --rename-section old_name new_name
427 <em>git config</em> [&lt;file-option&gt;] --remove-section name
428 <em>git config</em> [&lt;file-option&gt;] [-z|--null] -l | --list
429 <em>git config</em> [&lt;file-option&gt;] --get-color name [default]
430 <em>git config</em> [&lt;file-option&gt;] --get-colorbool name [stdout-is-tty]
431 <em>git config</em> [&lt;file-option&gt;] -e | --edit</div>
432 <div class="verseblock-attribution">
433 </div></div>
434 </div>
435 <h2 id="_description">DESCRIPTION</h2>
436 <div class="sectionbody">
437 <div class="paragraph"><p>You can query/set/replace/unset options with this command. The name is
438 actually the section and the key separated by a dot, and the value will be
439 escaped.</p></div>
440 <div class="paragraph"><p>Multiple lines can be added to an option by using the <em>--add</em> option.
441 If you want to update or unset an option which can occur on multiple
442 lines, a POSIX regexp <tt>value_regex</tt> needs to be given. Only the
443 existing values that match the regexp are updated or unset. If
444 you want to handle the lines that do <strong>not</strong> match the regex, just
445 prepend a single exclamation mark in front (see also <a href="#EXAMPLES">[EXAMPLES]</a>).</p></div>
446 <div class="paragraph"><p>The type specifier can be either <em>--int</em> or <em>--bool</em>, to make
447 <em>git config</em> ensure that the variable(s) are of the given type and
448 convert the value to the canonical form (simple decimal number for int,
449 a "true" or "false" string for bool), or <em>--path</em>, which does some
450 path expansion (see <em>--path</em> below). If no type specifier is passed, no
451 checks or transformations are performed on the value.</p></div>
452 <div class="paragraph"><p>The file-option can be one of <em>--system</em>, <em>--global</em> or <em>--file</em>
453 which specify where the values will be read from or written to.
454 The default is to assume the config file of the current repository,
455 .git/config unless defined otherwise with GIT_DIR and GIT_CONFIG
456 (see <a href="#FILES">[FILES]</a>).</p></div>
457 <div class="paragraph"><p>This command will fail if:</p></div>
458 <div class="olist arabic"><ol class="arabic">
459 <li>
461 The config file is invalid,
462 </p>
463 </li>
464 <li>
466 Can not write to the config file,
467 </p>
468 </li>
469 <li>
471 no section was provided,
472 </p>
473 </li>
474 <li>
476 the section or key is invalid,
477 </p>
478 </li>
479 <li>
481 you try to unset an option which does not exist,
482 </p>
483 </li>
484 <li>
486 you try to unset/set an option for which multiple lines match, or
487 </p>
488 </li>
489 <li>
491 you use <em>--global</em> option without $HOME being properly set.
492 </p>
493 </li>
494 </ol></div>
495 </div>
496 <h2 id="_options">OPTIONS</h2>
497 <div class="sectionbody">
498 <div class="dlist"><dl>
499 <dt class="hdlist1">
500 --replace-all
501 </dt>
502 <dd>
504 Default behavior is to replace at most one line. This replaces
505 all lines matching the key (and optionally the value_regex).
506 </p>
507 </dd>
508 <dt class="hdlist1">
509 --add
510 </dt>
511 <dd>
513 Adds a new line to the option without altering any existing
514 values. This is the same as providing <em>^$</em> as the value_regex
515 in <tt>--replace-all</tt>.
516 </p>
517 </dd>
518 <dt class="hdlist1">
519 --get
520 </dt>
521 <dd>
523 Get the value for a given key (optionally filtered by a regex
524 matching the value). Returns error code 1 if the key was not
525 found and error code 2 if multiple key values were found.
526 </p>
527 </dd>
528 <dt class="hdlist1">
529 --get-all
530 </dt>
531 <dd>
533 Like get, but does not fail if the number of values for the key
534 is not exactly one.
535 </p>
536 </dd>
537 <dt class="hdlist1">
538 --get-regexp
539 </dt>
540 <dd>
542 Like --get-all, but interprets the name as a regular expression.
543 Also outputs the key names.
544 </p>
545 </dd>
546 <dt class="hdlist1">
547 --global
548 </dt>
549 <dd>
551 For writing options: write to global ~/.gitconfig file rather than
552 the repository .git/config.
553 </p>
554 <div class="paragraph"><p>For reading options: read only from global ~/.gitconfig rather than
555 from all available files.</p></div>
556 <div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
557 </dd>
558 <dt class="hdlist1">
559 --system
560 </dt>
561 <dd>
563 For writing options: write to system-wide $(prefix)/etc/gitconfig
564 rather than the repository .git/config.
565 </p>
566 <div class="paragraph"><p>For reading options: read only from system-wide $(prefix)/etc/gitconfig
567 rather than from all available files.</p></div>
568 <div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
569 </dd>
570 <dt class="hdlist1">
571 -f config-file
572 </dt>
573 <dt class="hdlist1">
574 --file config-file
575 </dt>
576 <dd>
578 Use the given config file instead of the one specified by GIT_CONFIG.
579 </p>
580 </dd>
581 <dt class="hdlist1">
582 --remove-section
583 </dt>
584 <dd>
586 Remove the given section from the configuration file.
587 </p>
588 </dd>
589 <dt class="hdlist1">
590 --rename-section
591 </dt>
592 <dd>
594 Rename the given section to a new name.
595 </p>
596 </dd>
597 <dt class="hdlist1">
598 --unset
599 </dt>
600 <dd>
602 Remove the line matching the key from config file.
603 </p>
604 </dd>
605 <dt class="hdlist1">
606 --unset-all
607 </dt>
608 <dd>
610 Remove all lines matching the key from config file.
611 </p>
612 </dd>
613 <dt class="hdlist1">
615 </dt>
616 <dt class="hdlist1">
617 --list
618 </dt>
619 <dd>
621 List all variables set in config file.
622 </p>
623 </dd>
624 <dt class="hdlist1">
625 --bool
626 </dt>
627 <dd>
629 <em>git config</em> will ensure that the output is "true" or "false"
630 </p>
631 </dd>
632 <dt class="hdlist1">
633 --int
634 </dt>
635 <dd>
637 <em>git config</em> will ensure that the output is a simple
638 decimal number. An optional value suffix of <em>k</em>, <em>m</em>, or <em>g</em>
639 in the config file will cause the value to be multiplied
640 by 1024, 1048576, or 1073741824 prior to output.
641 </p>
642 </dd>
643 <dt class="hdlist1">
644 --bool-or-int
645 </dt>
646 <dd>
648 <em>git config</em> will ensure that the output matches the format of
649 either --bool or --int, as described above.
650 </p>
651 </dd>
652 <dt class="hdlist1">
653 --path
654 </dt>
655 <dd>
657 <em>git-config</em> will expand leading <em>&#126;</em> to the value of
658 <em>$HOME</em>, and <em>&#126;user</em> to the home directory for the
659 specified user. This option has no effect when setting the
660 value (but you can use <em>git config bla &#126;/</em> from the
661 command line to let your shell do the expansion).
662 </p>
663 </dd>
664 <dt class="hdlist1">
666 </dt>
667 <dt class="hdlist1">
668 --null
669 </dt>
670 <dd>
672 For all options that output values and/or keys, always
673 end values with the null character (instead of a
674 newline). Use newline instead as a delimiter between
675 key and value. This allows for secure parsing of the
676 output without getting confused e.g. by values that
677 contain line breaks.
678 </p>
679 </dd>
680 <dt class="hdlist1">
681 --get-colorbool name [stdout-is-tty]
682 </dt>
683 <dd>
685 Find the color setting for <tt>name</tt> (e.g. <tt>color.diff</tt>) and output
686 "true" or "false". <tt>stdout-is-tty</tt> should be either "true" or
687 "false", and is taken into account when configuration says
688 "auto". If <tt>stdout-is-tty</tt> is missing, then checks the standard
689 output of the command itself, and exits with status 0 if color
690 is to be used, or exits with status 1 otherwise.
691 When the color setting for <tt>name</tt> is undefined, the command uses
692 <tt>color.ui</tt> as fallback.
693 </p>
694 </dd>
695 <dt class="hdlist1">
696 --get-color name [default]
697 </dt>
698 <dd>
700 Find the color configured for <tt>name</tt> (e.g. <tt>color.diff.new</tt>) and
701 output it as the ANSI color escape sequence to the standard
702 output. The optional <tt>default</tt> parameter is used instead, if
703 there is no color configured for <tt>name</tt>.
704 </p>
705 </dd>
706 <dt class="hdlist1">
708 </dt>
709 <dt class="hdlist1">
710 --edit
711 </dt>
712 <dd>
714 Opens an editor to modify the specified config file; either
715 <em>--system</em>, <em>--global</em>, or repository (default).
716 </p>
717 </dd>
718 </dl></div>
719 </div>
720 <h2 id="FILES">FILES</h2>
721 <div class="sectionbody">
722 <div class="paragraph"><p>If not set explicitly with <em>--file</em>, there are three files where
723 <em>git config</em> will search for configuration options:</p></div>
724 <div class="dlist"><dl>
725 <dt class="hdlist1">
726 $GIT_DIR/config
727 </dt>
728 <dd>
730 Repository specific configuration file. (The filename is
731 of course relative to the repository root, not the working
732 directory.)
733 </p>
734 </dd>
735 <dt class="hdlist1">
736 ~/.gitconfig
737 </dt>
738 <dd>
740 User-specific configuration file. Also called "global"
741 configuration file.
742 </p>
743 </dd>
744 <dt class="hdlist1">
745 $(prefix)/etc/gitconfig
746 </dt>
747 <dd>
749 System-wide configuration file.
750 </p>
751 </dd>
752 </dl></div>
753 <div class="paragraph"><p>If no further options are given, all reading options will read all of these
754 files that are available. If the global or the system-wide configuration
755 file are not available they will be ignored. If the repository configuration
756 file is not available or readable, <em>git config</em> will exit with a non-zero
757 error code. However, in neither case will an error message be issued.</p></div>
758 <div class="paragraph"><p>All writing options will per default write to the repository specific
759 configuration file. Note that this also affects options like <em>--replace-all</em>
760 and <em>--unset</em>. <strong><em>git config</em> will only ever change one file at a time</strong>.</p></div>
761 <div class="paragraph"><p>You can override these rules either by command line options or by environment
762 variables. The <em>--global</em> and the <em>--system</em> options will limit the file used
763 to the global or system-wide file respectively. The GIT_CONFIG environment
764 variable has a similar effect, but you can specify any filename you want.</p></div>
765 </div>
766 <h2 id="_environment">ENVIRONMENT</h2>
767 <div class="sectionbody">
768 <div class="dlist"><dl>
769 <dt class="hdlist1">
770 GIT_CONFIG
771 </dt>
772 <dd>
774 Take the configuration from the given file instead of .git/config.
775 Using the "--global" option forces this to ~/.gitconfig. Using the
776 "--system" option forces this to $(prefix)/etc/gitconfig.
777 </p>
778 </dd>
779 </dl></div>
780 <div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
781 </div>
782 <h2 id="EXAMPLES">EXAMPLES</h2>
783 <div class="sectionbody">
784 <div class="paragraph"><p>Given a .git/config like this:</p></div>
785 <div class="literalblock">
786 <div class="content">
787 <pre><tt>#
788 # This is the config file, and
789 # a '#' or ';' character indicates
790 # a comment
791 #</tt></pre>
792 </div></div>
793 <div class="literalblock">
794 <div class="content">
795 <pre><tt>; core variables
796 [core]
797 ; Don't trust file modes
798 filemode = false</tt></pre>
799 </div></div>
800 <div class="literalblock">
801 <div class="content">
802 <pre><tt>; Our diff algorithm
803 [diff]
804 external = /usr/local/bin/diff-wrapper
805 renames = true</tt></pre>
806 </div></div>
807 <div class="literalblock">
808 <div class="content">
809 <pre><tt>; Proxy settings
810 [core]
811 gitproxy="proxy-command" for kernel.org
812 gitproxy=default-proxy ; for all the rest</tt></pre>
813 </div></div>
814 <div class="paragraph"><p>you can set the filemode to true with</p></div>
815 <div class="listingblock">
816 <div class="content">
817 <pre><tt>% git config core.filemode true</tt></pre>
818 </div></div>
819 <div class="paragraph"><p>The hypothetical proxy command entries actually have a postfix to discern
820 what URL they apply to. Here is how to change the entry for kernel.org
821 to "ssh".</p></div>
822 <div class="listingblock">
823 <div class="content">
824 <pre><tt>% git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'</tt></pre>
825 </div></div>
826 <div class="paragraph"><p>This makes sure that only the key/value pair for kernel.org is replaced.</p></div>
827 <div class="paragraph"><p>To delete the entry for renames, do</p></div>
828 <div class="listingblock">
829 <div class="content">
830 <pre><tt>% git config --unset diff.renames</tt></pre>
831 </div></div>
832 <div class="paragraph"><p>If you want to delete an entry for a multivar (like core.gitproxy above),
833 you have to provide a regex matching the value of exactly one line.</p></div>
834 <div class="paragraph"><p>To query the value for a given key, do</p></div>
835 <div class="listingblock">
836 <div class="content">
837 <pre><tt>% git config --get core.filemode</tt></pre>
838 </div></div>
839 <div class="paragraph"><p>or</p></div>
840 <div class="listingblock">
841 <div class="content">
842 <pre><tt>% git config core.filemode</tt></pre>
843 </div></div>
844 <div class="paragraph"><p>or, to query a multivar:</p></div>
845 <div class="listingblock">
846 <div class="content">
847 <pre><tt>% git config --get core.gitproxy "for kernel.org$"</tt></pre>
848 </div></div>
849 <div class="paragraph"><p>If you want to know all the values for a multivar, do:</p></div>
850 <div class="listingblock">
851 <div class="content">
852 <pre><tt>% git config --get-all core.gitproxy</tt></pre>
853 </div></div>
854 <div class="paragraph"><p>If you like to live dangerously, you can replace <strong>all</strong> core.gitproxy by a
855 new one with</p></div>
856 <div class="listingblock">
857 <div class="content">
858 <pre><tt>% git config --replace-all core.gitproxy ssh</tt></pre>
859 </div></div>
860 <div class="paragraph"><p>However, if you really only want to replace the line for the default proxy,
861 i.e. the one without a "for &#8230;" postfix, do something like this:</p></div>
862 <div class="listingblock">
863 <div class="content">
864 <pre><tt>% git config core.gitproxy ssh '! for '</tt></pre>
865 </div></div>
866 <div class="paragraph"><p>To actually match only values with an exclamation mark, you have to</p></div>
867 <div class="listingblock">
868 <div class="content">
869 <pre><tt>% git config section.key value '[!]'</tt></pre>
870 </div></div>
871 <div class="paragraph"><p>To add a new proxy, without altering any of the existing ones, use</p></div>
872 <div class="listingblock">
873 <div class="content">
874 <pre><tt>% git config core.gitproxy '"proxy-command" for example.com'</tt></pre>
875 </div></div>
876 <div class="paragraph"><p>An example to use customized color from the configuration in your
877 script:</p></div>
878 <div class="listingblock">
879 <div class="content">
880 <pre><tt>#!/bin/sh
881 WS=$(git config --get-color color.diff.whitespace "blue reverse")
882 RESET=$(git config --get-color "" "reset")
883 echo "${WS}your whitespace color or blue reverse${RESET}"</tt></pre>
884 </div></div>
885 </div>
886 <h2 id="_configuration_file">CONFIGURATION FILE</h2>
887 <div class="sectionbody">
888 <div class="paragraph"><p>The git configuration file contains a number of variables that affect
889 the git command&#8217;s behavior. The <tt>.git/config</tt> file in each repository
890 is used to store the configuration for that repository, and
891 <tt>$HOME/.gitconfig</tt> is used to store a per-user configuration as
892 fallback values for the <tt>.git/config</tt> file. The file <tt>/etc/gitconfig</tt>
893 can be used to store a system-wide default configuration.</p></div>
894 <div class="paragraph"><p>The configuration variables are used by both the git plumbing
895 and the porcelains. The variables are divided into sections, wherein
896 the fully qualified variable name of the variable itself is the last
897 dot-separated segment and the section name is everything before the last
898 dot. The variable names are case-insensitive and only alphanumeric
899 characters are allowed. Some variables may appear multiple times.</p></div>
900 <h3 id="_syntax">Syntax</h3><div style="clear:left"></div>
901 <div class="paragraph"><p>The syntax is fairly flexible and permissive; whitespaces are mostly
902 ignored. The <em>#</em> and <em>;</em> characters begin comments to the end of line,
903 blank lines are ignored.</p></div>
904 <div class="paragraph"><p>The file consists of sections and variables. A section begins with
905 the name of the section in square brackets and continues until the next
906 section begins. Section names are not case sensitive. Only alphanumeric
907 characters, <tt>-</tt> and <tt>.</tt> are allowed in section names. Each variable
908 must belong to some section, which means that there must be a section
909 header before the first setting of a variable.</p></div>
910 <div class="paragraph"><p>Sections can be further divided into subsections. To begin a subsection
911 put its name in double quotes, separated by space from the section name,
912 in the section header, like in the example below:</p></div>
913 <div class="listingblock">
914 <div class="content">
915 <pre><tt> [section "subsection"]</tt></pre>
916 </div></div>
917 <div class="paragraph"><p>Subsection names are case sensitive and can contain any characters except
918 newline (doublequote <tt>"</tt> and backslash have to be escaped as <tt>\"</tt> and <tt>\\</tt>,
919 respectively). Section headers cannot span multiple
920 lines. Variables may belong directly to a section or to a given subsection.
921 You can have <tt>[section]</tt> if you have <tt>[section "subsection"]</tt>, but you
922 don&#8217;t need to.</p></div>
923 <div class="paragraph"><p>There is also a case insensitive alternative <tt>[section.subsection]</tt> syntax.
924 In this syntax, subsection names follow the same restrictions as for section
925 names.</p></div>
926 <div class="paragraph"><p>All the other lines (and the remainder of the line after the section
927 header) are recognized as setting variables, in the form
928 <em>name = value</em>. If there is no equal sign on the line, the entire line
929 is taken as <em>name</em> and the variable is recognized as boolean "true".
930 The variable names are case-insensitive and only alphanumeric
931 characters and <tt>-</tt> are allowed. There can be more than one value
932 for a given variable; we say then that variable is multivalued.</p></div>
933 <div class="paragraph"><p>Leading and trailing whitespace in a variable value is discarded.
934 Internal whitespace within a variable value is retained verbatim.</p></div>
935 <div class="paragraph"><p>The values following the equals sign in variable assign are all either
936 a string, an integer, or a boolean. Boolean values may be given as yes/no,
937 1/0, true/false or on/off. Case is not significant in boolean values, when
938 converting value to the canonical form using <em>--bool</em> type specifier;
939 <em>git config</em> will ensure that the output is "true" or "false".</p></div>
940 <div class="paragraph"><p>String values may be entirely or partially enclosed in double quotes.
941 You need to enclose variable values in double quotes if you want to
942 preserve leading or trailing whitespace, or if the variable value contains
943 comment characters (i.e. it contains <em>#</em> or <em>;</em>).
944 Double quote <tt>"</tt> and backslash <tt>\</tt> characters in variable values must
945 be escaped: use <tt>\"</tt> for <tt>"</tt> and <tt>\\</tt> for <tt>\</tt>.</p></div>
946 <div class="paragraph"><p>The following escape sequences (beside <tt>\"</tt> and <tt>\\</tt>) are recognized:
947 <tt>\n</tt> for newline character (NL), <tt>\t</tt> for horizontal tabulation (HT, TAB)
948 and <tt>\b</tt> for backspace (BS). No other char escape sequence, nor octal
949 char sequences are valid.</p></div>
950 <div class="paragraph"><p>Variable values ending in a <tt>\</tt> are continued on the next line in the
951 customary UNIX fashion.</p></div>
952 <div class="paragraph"><p>Some variables may require a special value format.</p></div>
953 <h3 id="_example">Example</h3><div style="clear:left"></div>
954 <div class="literalblock">
955 <div class="content">
956 <pre><tt># Core variables
957 [core]
958 ; Don't trust file modes
959 filemode = false</tt></pre>
960 </div></div>
961 <div class="literalblock">
962 <div class="content">
963 <pre><tt># Our diff algorithm
964 [diff]
965 external = /usr/local/bin/diff-wrapper
966 renames = true</tt></pre>
967 </div></div>
968 <div class="literalblock">
969 <div class="content">
970 <pre><tt>[branch "devel"]
971 remote = origin
972 merge = refs/heads/devel</tt></pre>
973 </div></div>
974 <div class="literalblock">
975 <div class="content">
976 <pre><tt># Proxy settings
977 [core]
978 gitProxy="ssh" for "kernel.org"
979 gitProxy=default-proxy ; for the rest</tt></pre>
980 </div></div>
981 <h3 id="_variables">Variables</h3><div style="clear:left"></div>
982 <div class="paragraph"><p>Note that this list is non-comprehensive and not necessarily complete.
983 For command-specific variables, you will find a more detailed description
984 in the appropriate manual page. You will find a description of non-core
985 porcelain configuration variables in the respective porcelain documentation.</p></div>
986 <div class="dlist"><dl>
987 <dt class="hdlist1">
988 advice.*
989 </dt>
990 <dd>
992 When set to <em>true</em>, display the given optional help message.
993 When set to <em>false</em>, do not display. The configuration variables
994 are:
995 </p>
996 <div class="dlist"><dl>
997 <dt class="hdlist1">
998 pushNonFastForward
999 </dt>
1000 <dd>
1002 Advice shown when <a href="git-push.html">git-push(1)</a> refuses
1003 non-fast-forward refs. Default: true.
1004 </p>
1005 </dd>
1006 <dt class="hdlist1">
1007 statusHints
1008 </dt>
1009 <dd>
1011 Directions on how to stage/unstage/add shown in the
1012 output of <a href="git-status.html">git-status(1)</a> and the template shown
1013 when writing commit messages. Default: true.
1014 </p>
1015 </dd>
1016 <dt class="hdlist1">
1017 commitBeforeMerge
1018 </dt>
1019 <dd>
1021 Advice shown when <a href="git-merge.html">git-merge(1)</a> refuses to
1022 merge to avoid overwriting local changes.
1023 Default: true.
1024 </p>
1025 </dd>
1026 <dt class="hdlist1">
1027 resolveConflict
1028 </dt>
1029 <dd>
1031 Advices shown by various commands when conflicts
1032 prevent the operation from being performed.
1033 Default: true.
1034 </p>
1035 </dd>
1036 <dt class="hdlist1">
1037 implicitIdentity
1038 </dt>
1039 <dd>
1041 Advice on how to set your identity configuration when
1042 your information is guessed from the system username and
1043 domain name. Default: true.
1044 </p>
1045 </dd>
1046 <dt class="hdlist1">
1047 detachedHead
1048 </dt>
1049 <dd>
1051 Advice shown when you used <a href=":git-checkout.html">:git-checkout(1)</a> to
1052 move to the detach HEAD state, to instruct how to create
1053 a local branch after the fact. Default: true.
1054 </p>
1055 </dd>
1056 </dl></div>
1057 </dd>
1058 <dt class="hdlist1">
1059 core.fileMode
1060 </dt>
1061 <dd>
1063 If false, the executable bit differences between the index and
1064 the working copy are ignored; useful on broken filesystems like FAT.
1065 See <a href="git-update-index.html">git-update-index(1)</a>.
1066 </p>
1067 <div class="paragraph"><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>
1068 will probe and set core.fileMode false if appropriate when the
1069 repository is created.</p></div>
1070 </dd>
1071 <dt class="hdlist1">
1072 core.ignoreCygwinFSTricks
1073 </dt>
1074 <dd>
1076 This option is only used by Cygwin implementation of Git. If false,
1077 the Cygwin stat() and lstat() functions are used. This may be useful
1078 if your repository consists of a few separate directories joined in
1079 one hierarchy using Cygwin mount. If true, Git uses native Win32 API
1080 whenever it is possible and falls back to Cygwin functions only to
1081 handle symbol links. The native mode is more than twice faster than
1082 normal Cygwin l/stat() functions. True by default, unless core.filemode
1083 is true, in which case ignoreCygwinFSTricks is ignored as Cygwin&#8217;s
1084 POSIX emulation is required to support core.filemode.
1085 </p>
1086 </dd>
1087 <dt class="hdlist1">
1088 core.ignorecase
1089 </dt>
1090 <dd>
1092 If true, this option enables various workarounds to enable
1093 git to work better on filesystems that are not case sensitive,
1094 like FAT. For example, if a directory listing finds
1095 "makefile" when git expects "Makefile", git will assume
1096 it is really the same file, and continue to remember it as
1097 "Makefile".
1098 </p>
1099 <div class="paragraph"><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>
1100 will probe and set core.ignorecase true if appropriate when the repository
1101 is created.</p></div>
1102 </dd>
1103 <dt class="hdlist1">
1104 core.trustctime
1105 </dt>
1106 <dd>
1108 If false, the ctime differences between the index and the
1109 working copy are ignored; useful when the inode change time
1110 is regularly modified by something outside Git (file system
1111 crawlers and some backup systems).
1112 See <a href="git-update-index.html">git-update-index(1)</a>. True by default.
1113 </p>
1114 </dd>
1115 <dt class="hdlist1">
1116 core.quotepath
1117 </dt>
1118 <dd>
1120 The commands that output paths (e.g. <em>ls-files</em>,
1121 <em>diff</em>), when not given the <tt>-z</tt> option, will quote
1122 "unusual" characters in the pathname by enclosing the
1123 pathname in a double-quote pair and with backslashes the
1124 same way strings in C source code are quoted. If this
1125 variable is set to false, the bytes higher than 0x80 are
1126 not quoted but output as verbatim. Note that double
1127 quote, backslash and control characters are always
1128 quoted without <tt>-z</tt> regardless of the setting of this
1129 variable.
1130 </p>
1131 </dd>
1132 <dt class="hdlist1">
1133 core.eol
1134 </dt>
1135 <dd>
1137 Sets the line ending type to use in the working directory for
1138 files that have the <tt>text</tt> property set. Alternatives are
1139 <em>lf</em>, <em>crlf</em> and <em>native</em>, which uses the platform&#8217;s native
1140 line ending. The default value is <tt>native</tt>. See
1141 <a href="gitattributes.html">gitattributes(5)</a> for more information on end-of-line
1142 conversion.
1143 </p>
1144 </dd>
1145 <dt class="hdlist1">
1146 core.safecrlf
1147 </dt>
1148 <dd>
1150 If true, makes git check if converting <tt>CRLF</tt> is reversible when
1151 end-of-line conversion is active. Git will verify if a command
1152 modifies a file in the work tree either directly or indirectly.
1153 For example, committing a file followed by checking out the
1154 same file should yield the original file in the work tree. If
1155 this is not the case for the current setting of
1156 <tt>core.autocrlf</tt>, git will reject the file. The variable can
1157 be set to "warn", in which case git will only warn about an
1158 irreversible conversion but continue the operation.
1159 </p>
1160 <div class="paragraph"><p>CRLF conversion bears a slight chance of corrupting data.
1161 When it is enabled, git will convert CRLF to LF during commit and LF to
1162 CRLF during checkout. A file that contains a mixture of LF and
1163 CRLF before the commit cannot be recreated by git. For text
1164 files this is the right thing to do: it corrects line endings
1165 such that we have only LF line endings in the repository.
1166 But for binary files that are accidentally classified as text the
1167 conversion can corrupt data.</p></div>
1168 <div class="paragraph"><p>If you recognize such corruption early you can easily fix it by
1169 setting the conversion type explicitly in .gitattributes. Right
1170 after committing you still have the original file in your work
1171 tree and this file is not yet corrupted. You can explicitly tell
1172 git that this file is binary and git will handle the file
1173 appropriately.</p></div>
1174 <div class="paragraph"><p>Unfortunately, the desired effect of cleaning up text files with
1175 mixed line endings and the undesired effect of corrupting binary
1176 files cannot be distinguished. In both cases CRLFs are removed
1177 in an irreversible way. For text files this is the right thing
1178 to do because CRLFs are line endings, while for binary files
1179 converting CRLFs corrupts data.</p></div>
1180 <div class="paragraph"><p>Note, this safety check does not mean that a checkout will generate a
1181 file identical to the original file for a different setting of
1182 <tt>core.eol</tt> and <tt>core.autocrlf</tt>, but only for the current one. For
1183 example, a text file with <tt>LF</tt> would be accepted with <tt>core.eol=lf</tt>
1184 and could later be checked out with <tt>core.eol=crlf</tt>, in which case the
1185 resulting file would contain <tt>CRLF</tt>, although the original file
1186 contained <tt>LF</tt>. However, in both work trees the line endings would be
1187 consistent, that is either all <tt>LF</tt> or all <tt>CRLF</tt>, but never mixed. A
1188 file with mixed line endings would be reported by the <tt>core.safecrlf</tt>
1189 mechanism.</p></div>
1190 </dd>
1191 <dt class="hdlist1">
1192 core.autocrlf
1193 </dt>
1194 <dd>
1196 Setting this variable to "true" is almost the same as setting
1197 the <tt>text</tt> attribute to "auto" on all files except that text
1198 files are not guaranteed to be normalized: files that contain
1199 <tt>CRLF</tt> in the repository will not be touched. Use this
1200 setting if you want to have <tt>CRLF</tt> line endings in your
1201 working directory even though the repository does not have
1202 normalized line endings. This variable can be set to <em>input</em>,
1203 in which case no output conversion is performed.
1204 </p>
1205 </dd>
1206 <dt class="hdlist1">
1207 core.symlinks
1208 </dt>
1209 <dd>
1211 If false, symbolic links are checked out as small plain files that
1212 contain the link text. <a href="git-update-index.html">git-update-index(1)</a> and
1213 <a href="git-add.html">git-add(1)</a> will not change the recorded type to regular
1214 file. Useful on filesystems like FAT that do not support
1215 symbolic links.
1216 </p>
1217 <div class="paragraph"><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>
1218 will probe and set core.symlinks false if appropriate when the repository
1219 is created.</p></div>
1220 </dd>
1221 <dt class="hdlist1">
1222 core.gitProxy
1223 </dt>
1224 <dd>
1226 A "proxy command" to execute (as <em>command host port</em>) instead
1227 of establishing direct connection to the remote server when
1228 using the git protocol for fetching. If the variable value is
1229 in the "COMMAND for DOMAIN" format, the command is applied only
1230 on hostnames ending with the specified domain string. This variable
1231 may be set multiple times and is matched in the given order;
1232 the first match wins.
1233 </p>
1234 <div class="paragraph"><p>Can be overridden by the <em>GIT_PROXY_COMMAND</em> environment variable
1235 (which always applies universally, without the special "for"
1236 handling).</p></div>
1237 <div class="paragraph"><p>The special string <tt>none</tt> can be used as the proxy command to
1238 specify that no proxy be used for a given domain pattern.
1239 This is useful for excluding servers inside a firewall from
1240 proxy use, while defaulting to a common proxy for external domains.</p></div>
1241 </dd>
1242 <dt class="hdlist1">
1243 core.ignoreStat
1244 </dt>
1245 <dd>
1247 If true, commands which modify both the working tree and the index
1248 will mark the updated paths with the "assume unchanged" bit in the
1249 index. These marked files are then assumed to stay unchanged in the
1250 working copy, until you mark them otherwise manually - Git will not
1251 detect the file changes by lstat() calls. This is useful on systems
1252 where those are very slow, such as Microsoft Windows.
1253 See <a href="git-update-index.html">git-update-index(1)</a>.
1254 False by default.
1255 </p>
1256 </dd>
1257 <dt class="hdlist1">
1258 core.preferSymlinkRefs
1259 </dt>
1260 <dd>
1262 Instead of the default "symref" format for HEAD
1263 and other symbolic reference files, use symbolic links.
1264 This is sometimes needed to work with old scripts that
1265 expect HEAD to be a symbolic link.
1266 </p>
1267 </dd>
1268 <dt class="hdlist1">
1269 core.bare
1270 </dt>
1271 <dd>
1273 If true this repository is assumed to be <em>bare</em> and has no
1274 working directory associated with it. If this is the case a
1275 number of commands that require a working directory will be
1276 disabled, such as <a href="git-add.html">git-add(1)</a> or <a href="git-merge.html">git-merge(1)</a>.
1277 </p>
1278 <div class="paragraph"><p>This setting is automatically guessed by <a href="git-clone.html">git-clone(1)</a> or
1279 <a href="git-init.html">git-init(1)</a> when the repository was created. By default a
1280 repository that ends in "/.git" is assumed to be not bare (bare =
1281 false), while all other repositories are assumed to be bare (bare
1282 = true).</p></div>
1283 </dd>
1284 <dt class="hdlist1">
1285 core.worktree
1286 </dt>
1287 <dd>
1289 Set the path to the root of the working tree.
1290 This can be overridden by the GIT_WORK_TREE environment
1291 variable and the <em>--work-tree</em> command line option.
1292 The value can be an absolute path or relative to the path to
1293 the .git directory, which is either specified by --git-dir
1294 or GIT_DIR, or automatically discovered.
1295 If --git-dir or GIT_DIR is specified but none of
1296 --work-tree, GIT_WORK_TREE and core.worktree is specified,
1297 the current working directory is regarded as the top level
1298 of your working tree.
1299 </p>
1300 <div class="paragraph"><p>Note that this variable is honored even when set in a configuration
1301 file in a ".git" subdirectory of a directory and its value differs
1302 from the latter directory (e.g. "/path/to/.git/config" has
1303 core.worktree set to "/different/path"), which is most likely a
1304 misconfiguration. Running git commands in the "/path/to" directory will
1305 still use "/different/path" as the root of the work tree and can cause
1306 confusion unless you know what you are doing (e.g. you are creating a
1307 read-only snapshot of the same index to a location different from the
1308 repository&#8217;s usual working tree).</p></div>
1309 </dd>
1310 <dt class="hdlist1">
1311 core.logAllRefUpdates
1312 </dt>
1313 <dd>
1315 Enable the reflog. Updates to a ref &lt;ref&gt; is logged to the file
1316 "$GIT_DIR/logs/&lt;ref&gt;", by appending the new and old
1317 SHA1, the date/time and the reason of the update, but
1318 only when the file exists. If this configuration
1319 variable is set to true, missing "$GIT_DIR/logs/&lt;ref&gt;"
1320 file is automatically created for branch heads.
1321 </p>
1322 <div class="paragraph"><p>This information can be used to determine what commit
1323 was the tip of a branch "2 days ago".</p></div>
1324 <div class="paragraph"><p>This value is true by default in a repository that has
1325 a working directory associated with it, and false by
1326 default in a bare repository.</p></div>
1327 </dd>
1328 <dt class="hdlist1">
1329 core.repositoryFormatVersion
1330 </dt>
1331 <dd>
1333 Internal variable identifying the repository format and layout
1334 version.
1335 </p>
1336 </dd>
1337 <dt class="hdlist1">
1338 core.sharedRepository
1339 </dt>
1340 <dd>
1342 When <em>group</em> (or <em>true</em>), the repository is made shareable between
1343 several users in a group (making sure all the files and objects are
1344 group-writable). When <em>all</em> (or <em>world</em> or <em>everybody</em>), the
1345 repository will be readable by all users, additionally to being
1346 group-shareable. When <em>umask</em> (or <em>false</em>), git will use permissions
1347 reported by umask(2). When <em>0xxx</em>, where <em>0xxx</em> is an octal number,
1348 files in the repository will have this mode value. <em>0xxx</em> will override
1349 user&#8217;s umask value (whereas the other options will only override
1350 requested parts of the user&#8217;s umask value). Examples: <em>0660</em> will make
1351 the repo read/write-able for the owner and group, but inaccessible to
1352 others (equivalent to <em>group</em> unless umask is e.g. <em>0022</em>). <em>0640</em> is a
1353 repository that is group-readable but not group-writable.
1354 See <a href="git-init.html">git-init(1)</a>. False by default.
1355 </p>
1356 </dd>
1357 <dt class="hdlist1">
1358 core.warnAmbiguousRefs
1359 </dt>
1360 <dd>
1362 If true, git will warn you if the ref name you passed it is ambiguous
1363 and might match multiple refs in the .git/refs/ tree. True by default.
1364 </p>
1365 </dd>
1366 <dt class="hdlist1">
1367 core.compression
1368 </dt>
1369 <dd>
1371 An integer -1..9, indicating a default compression level.
1372 -1 is the zlib default. 0 means no compression,
1373 and 1..9 are various speed/size tradeoffs, 9 being slowest.
1374 If set, this provides a default to other compression variables,
1375 such as <em>core.loosecompression</em> and <em>pack.compression</em>.
1376 </p>
1377 </dd>
1378 <dt class="hdlist1">
1379 core.loosecompression
1380 </dt>
1381 <dd>
1383 An integer -1..9, indicating the compression level for objects that
1384 are not in a pack file. -1 is the zlib default. 0 means no
1385 compression, and 1..9 are various speed/size tradeoffs, 9 being
1386 slowest. If not set, defaults to core.compression. If that is
1387 not set, defaults to 1 (best speed).
1388 </p>
1389 </dd>
1390 <dt class="hdlist1">
1391 core.packedGitWindowSize
1392 </dt>
1393 <dd>
1395 Number of bytes of a pack file to map into memory in a
1396 single mapping operation. Larger window sizes may allow
1397 your system to process a smaller number of large pack files
1398 more quickly. Smaller window sizes will negatively affect
1399 performance due to increased calls to the operating system&#8217;s
1400 memory manager, but may improve performance when accessing
1401 a large number of large pack files.
1402 </p>
1403 <div class="paragraph"><p>Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32
1404 MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should
1405 be reasonable for all users/operating systems. You probably do
1406 not need to adjust this value.</p></div>
1407 <div class="paragraph"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
1408 </dd>
1409 <dt class="hdlist1">
1410 core.packedGitLimit
1411 </dt>
1412 <dd>
1414 Maximum number of bytes to map simultaneously into memory
1415 from pack files. If Git needs to access more than this many
1416 bytes at once to complete an operation it will unmap existing
1417 regions to reclaim virtual address space within the process.
1418 </p>
1419 <div class="paragraph"><p>Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit platforms.
1420 This should be reasonable for all users/operating systems, except on
1421 the largest projects. You probably do not need to adjust this value.</p></div>
1422 <div class="paragraph"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
1423 </dd>
1424 <dt class="hdlist1">
1425 core.deltaBaseCacheLimit
1426 </dt>
1427 <dd>
1429 Maximum number of bytes to reserve for caching base objects
1430 that may be referenced by multiple deltified objects. By storing the
1431 entire decompressed base objects in a cache Git is able
1432 to avoid unpacking and decompressing frequently used base
1433 objects multiple times.
1434 </p>
1435 <div class="paragraph"><p>Default is 16 MiB on all platforms. This should be reasonable
1436 for all users/operating systems, except on the largest projects.
1437 You probably do not need to adjust this value.</p></div>
1438 <div class="paragraph"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
1439 </dd>
1440 <dt class="hdlist1">
1441 core.bigFileThreshold
1442 </dt>
1443 <dd>
1445 Files larger than this size are stored deflated, without
1446 attempting delta compression. Storing large files without
1447 delta compression avoids excessive memory usage, at the
1448 slight expense of increased disk usage.
1449 </p>
1450 <div class="paragraph"><p>Default is 512 MiB on all platforms. This should be reasonable
1451 for most projects as source code and other text files can still
1452 be delta compressed, but larger binary media files won&#8217;t be.</p></div>
1453 <div class="paragraph"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
1454 </dd>
1455 <dt class="hdlist1">
1456 core.excludesfile
1457 </dt>
1458 <dd>
1460 In addition to <em>.gitignore</em> (per-directory) and
1461 <em>.git/info/exclude</em>, git looks into this file for patterns
1462 of files which are not meant to be tracked. "&#126;/" is expanded
1463 to the value of <tt>$HOME</tt> and "&#126;user/" to the specified user&#8217;s
1464 home directory. See <a href="gitignore.html">gitignore(5)</a>.
1465 </p>
1466 </dd>
1467 <dt class="hdlist1">
1468 core.askpass
1469 </dt>
1470 <dd>
1472 Some commands (e.g. svn and http interfaces) that interactively
1473 ask for a password can be told to use an external program given
1474 via the value of this variable. Can be overridden by the <em>GIT_ASKPASS</em>
1475 environment variable. If not set, fall back to the value of the
1476 <em>SSH_ASKPASS</em> environment variable or, failing that, a simple password
1477 prompt. The external program shall be given a suitable prompt as
1478 command line argument and write the password on its STDOUT.
1479 </p>
1480 </dd>
1481 <dt class="hdlist1">
1482 core.attributesfile
1483 </dt>
1484 <dd>
1486 In addition to <em>.gitattributes</em> (per-directory) and
1487 <em>.git/info/attributes</em>, git looks into this file for attributes
1488 (see <a href="gitattributes.html">gitattributes(5)</a>). Path expansions are made the same
1489 way as for <tt>core.excludesfile</tt>.
1490 </p>
1491 </dd>
1492 <dt class="hdlist1">
1493 core.editor
1494 </dt>
1495 <dd>
1497 Commands such as <tt>commit</tt> and <tt>tag</tt> that lets you edit
1498 messages by launching an editor uses the value of this
1499 variable when it is set, and the environment variable
1500 <tt>GIT_EDITOR</tt> is not set. See <a href="git-var.html">git-var(1)</a>.
1501 </p>
1502 </dd>
1503 <dt class="hdlist1">
1504 core.pager
1505 </dt>
1506 <dd>
1508 The command that git will use to paginate output. Can
1509 be overridden with the <tt>GIT_PAGER</tt> environment
1510 variable. Note that git sets the <tt>LESS</tt> environment
1511 variable to <tt>FRSX</tt> if it is unset when it runs the
1512 pager. One can change these settings by setting the
1513 <tt>LESS</tt> variable to some other value. Alternately,
1514 these settings can be overridden on a project or
1515 global basis by setting the <tt>core.pager</tt> option.
1516 Setting <tt>core.pager</tt> has no affect on the <tt>LESS</tt>
1517 environment variable behaviour above, so if you want
1518 to override git&#8217;s default settings this way, you need
1519 to be explicit. For example, to disable the S option
1520 in a backward compatible manner, set <tt>core.pager</tt>
1521 to <tt>less -+$LESS -FRX</tt>. This will be passed to the
1522 shell by git, which will translate the final command to
1523 <tt>LESS=FRSX less -+FRSX -FRX</tt>.
1524 </p>
1525 </dd>
1526 <dt class="hdlist1">
1527 core.whitespace
1528 </dt>
1529 <dd>
1531 A comma separated list of common whitespace problems to
1532 notice. <em>git diff</em> will use <tt>color.diff.whitespace</tt> to
1533 highlight them, and <em>git apply --whitespace=error</em> will
1534 consider them as errors. You can prefix <tt>-</tt> to disable
1535 any of them (e.g. <tt>-trailing-space</tt>):
1536 </p>
1537 <div class="ulist"><ul>
1538 <li>
1540 <tt>blank-at-eol</tt> treats trailing whitespaces at the end of the line
1541 as an error (enabled by default).
1542 </p>
1543 </li>
1544 <li>
1546 <tt>space-before-tab</tt> treats a space character that appears immediately
1547 before a tab character in the initial indent part of the line as an
1548 error (enabled by default).
1549 </p>
1550 </li>
1551 <li>
1553 <tt>indent-with-non-tab</tt> treats a line that is indented with 8 or more
1554 space characters as an error (not enabled by default).
1555 </p>
1556 </li>
1557 <li>
1559 <tt>tab-in-indent</tt> treats a tab character in the initial indent part of
1560 the line as an error (not enabled by default).
1561 </p>
1562 </li>
1563 <li>
1565 <tt>blank-at-eof</tt> treats blank lines added at the end of file as an error
1566 (enabled by default).
1567 </p>
1568 </li>
1569 <li>
1571 <tt>trailing-space</tt> is a short-hand to cover both <tt>blank-at-eol</tt> and
1572 <tt>blank-at-eof</tt>.
1573 </p>
1574 </li>
1575 <li>
1577 <tt>cr-at-eol</tt> treats a carriage-return at the end of line as
1578 part of the line terminator, i.e. with it, <tt>trailing-space</tt>
1579 does not trigger if the character before such a carriage-return
1580 is not a whitespace (not enabled by default).
1581 </p>
1582 </li>
1583 <li>
1585 <tt>tabwidth=&lt;n&gt;</tt> tells how many character positions a tab occupies; this
1586 is relevant for <tt>indent-with-non-tab</tt> and when git fixes <tt>tab-in-indent</tt>
1587 errors. The default tab width is 8. Allowed values are 1 to 63.
1588 </p>
1589 </li>
1590 </ul></div>
1591 </dd>
1592 <dt class="hdlist1">
1593 core.fsyncobjectfiles
1594 </dt>
1595 <dd>
1597 This boolean will enable <em>fsync()</em> when writing object files.
1598 </p>
1599 <div class="paragraph"><p>This is a total waste of time and effort on a filesystem that orders
1600 data writes properly, but can be useful for filesystems that do not use
1601 journalling (traditional UNIX filesystems) or that only journal metadata
1602 and not file contents (OS X&#8217;s HFS+, or Linux ext3 with "data=writeback").</p></div>
1603 </dd>
1604 <dt class="hdlist1">
1605 core.preloadindex
1606 </dt>
1607 <dd>
1609 Enable parallel index preload for operations like <em>git diff</em>
1610 </p>
1611 <div class="paragraph"><p>This can speed up operations like <em>git diff</em> and <em>git status</em> especially
1612 on filesystems like NFS that have weak caching semantics and thus
1613 relatively high IO latencies. With this set to <em>true</em>, git will do the
1614 index comparison to the filesystem data in parallel, allowing
1615 overlapping IO&#8217;s.</p></div>
1616 </dd>
1617 <dt class="hdlist1">
1618 core.createObject
1619 </dt>
1620 <dd>
1622 You can set this to <em>link</em>, in which case a hardlink followed by
1623 a delete of the source are used to make sure that object creation
1624 will not overwrite existing objects.
1625 </p>
1626 <div class="paragraph"><p>On some file system/operating system combinations, this is unreliable.
1627 Set this config setting to <em>rename</em> there; However, This will remove the
1628 check that makes sure that existing object files will not get overwritten.</p></div>
1629 </dd>
1630 <dt class="hdlist1">
1631 core.notesRef
1632 </dt>
1633 <dd>
1635 When showing commit messages, also show notes which are stored in
1636 the given ref. The ref must be fully qualified. If the given
1637 ref does not exist, it is not an error but means that no
1638 notes should be printed.
1639 </p>
1640 <div class="paragraph"><p>This setting defaults to "refs/notes/commits", and it can be overridden by
1641 the <em>GIT_NOTES_REF</em> environment variable. See <a href="git-notes.html">git-notes(1)</a>.</p></div>
1642 </dd>
1643 <dt class="hdlist1">
1644 core.sparseCheckout
1645 </dt>
1646 <dd>
1648 Enable "sparse checkout" feature. See section "Sparse checkout" in
1649 <a href="git-read-tree.html">git-read-tree(1)</a> for more information.
1650 </p>
1651 </dd>
1652 <dt class="hdlist1">
1653 core.abbrev
1654 </dt>
1655 <dd>
1657 Set the length object names are abbreviated to. If unspecified,
1658 many commands abbreviate to 7 hexdigits, which may not be enough
1659 for abbreviated object names to stay unique for sufficiently long
1660 time.
1661 </p>
1662 </dd>
1663 <dt class="hdlist1">
1664 add.ignore-errors
1665 </dt>
1666 <dt class="hdlist1">
1667 add.ignoreErrors
1668 </dt>
1669 <dd>
1671 Tells <em>git add</em> to continue adding files when some files cannot be
1672 added due to indexing errors. Equivalent to the <em>--ignore-errors</em>
1673 option of <a href="git-add.html">git-add(1)</a>. Older versions of git accept only
1674 <tt>add.ignore-errors</tt>, which does not follow the usual naming
1675 convention for configuration variables. Newer versions of git
1676 honor <tt>add.ignoreErrors</tt> as well.
1677 </p>
1678 </dd>
1679 <dt class="hdlist1">
1680 alias.*
1681 </dt>
1682 <dd>
1684 Command aliases for the <a href="git.html">git(1)</a> command wrapper - e.g.
1685 after defining "alias.last = cat-file commit HEAD", the invocation
1686 "git last" is equivalent to "git cat-file commit HEAD". To avoid
1687 confusion and troubles with script usage, aliases that
1688 hide existing git commands are ignored. Arguments are split by
1689 spaces, the usual shell quoting and escaping is supported.
1690 quote pair and a backslash can be used to quote them.
1691 </p>
1692 <div class="paragraph"><p>If the alias expansion is prefixed with an exclamation point,
1693 it will be treated as a shell command. For example, defining
1694 "alias.new = !gitk --all --not ORIG_HEAD", the invocation
1695 "git new" is equivalent to running the shell command
1696 "gitk --all --not ORIG_HEAD". Note that shell commands will be
1697 executed from the top-level directory of a repository, which may
1698 not necessarily be the current directory.
1699 <em>GIT_PREFIX</em> is set as returned by running <em>git rev-parse --show-prefix</em>
1700 from the original current directory. See <a href="git-rev-parse.html">git-rev-parse(1)</a>.</p></div>
1701 </dd>
1702 <dt class="hdlist1">
1703 am.keepcr
1704 </dt>
1705 <dd>
1707 If true, git-am will call git-mailsplit for patches in mbox format
1708 with parameter <em>--keep-cr</em>. In this case git-mailsplit will
1709 not remove <tt>\r</tt> from lines ending with <tt>\r\n</tt>. Can be overridden
1710 by giving <em>--no-keep-cr</em> from the command line.
1711 See <a href="git-am.html">git-am(1)</a>, <a href="git-mailsplit.html">git-mailsplit(1)</a>.
1712 </p>
1713 </dd>
1714 <dt class="hdlist1">
1715 apply.ignorewhitespace
1716 </dt>
1717 <dd>
1719 When set to <em>change</em>, tells <em>git apply</em> to ignore changes in
1720 whitespace, in the same way as the <em>--ignore-space-change</em>
1721 option.
1722 When set to one of: no, none, never, false tells <em>git apply</em> to
1723 respect all whitespace differences.
1724 See <a href="git-apply.html">git-apply(1)</a>.
1725 </p>
1726 </dd>
1727 <dt class="hdlist1">
1728 apply.whitespace
1729 </dt>
1730 <dd>
1732 Tells <em>git apply</em> how to handle whitespaces, in the same way
1733 as the <em>--whitespace</em> option. See <a href="git-apply.html">git-apply(1)</a>.
1734 </p>
1735 </dd>
1736 <dt class="hdlist1">
1737 branch.autosetupmerge
1738 </dt>
1739 <dd>
1741 Tells <em>git branch</em> and <em>git checkout</em> to set up new branches
1742 so that <a href="git-pull.html">git-pull(1)</a> will appropriately merge from the
1743 starting point branch. Note that even if this option is not set,
1744 this behavior can be chosen per-branch using the <tt>--track</tt>
1745 and <tt>--no-track</tt> options. The valid settings are: <tt>false</tt>&#8201;&#8212;&#8201;no
1746 automatic setup is done; <tt>true</tt>&#8201;&#8212;&#8201;automatic setup is done when the
1747 starting point is a remote-tracking branch; <tt>always</tt>&#8201;&#8212;&#8201; automatic setup is done when the starting point is either a
1748 local branch or remote-tracking
1749 branch. This option defaults to true.
1750 </p>
1751 </dd>
1752 <dt class="hdlist1">
1753 branch.autosetuprebase
1754 </dt>
1755 <dd>
1757 When a new branch is created with <em>git branch</em> or <em>git checkout</em>
1758 that tracks another branch, this variable tells git to set
1759 up pull to rebase instead of merge (see "branch.&lt;name&gt;.rebase").
1760 When <tt>never</tt>, rebase is never automatically set to true.
1761 When <tt>local</tt>, rebase is set to true for tracked branches of
1762 other local branches.
1763 When <tt>remote</tt>, rebase is set to true for tracked branches of
1764 remote-tracking branches.
1765 When <tt>always</tt>, rebase will be set to true for all tracking
1766 branches.
1767 See "branch.autosetupmerge" for details on how to set up a
1768 branch to track another branch.
1769 This option defaults to never.
1770 </p>
1771 </dd>
1772 <dt class="hdlist1">
1773 branch.&lt;name&gt;.remote
1774 </dt>
1775 <dd>
1777 When in branch &lt;name&gt;, it tells <em>git fetch</em> and <em>git push</em> which
1778 remote to fetch from/push to. It defaults to <tt>origin</tt> if no remote is
1779 configured. <tt>origin</tt> is also used if you are not on any branch.
1780 </p>
1781 </dd>
1782 <dt class="hdlist1">
1783 branch.&lt;name&gt;.merge
1784 </dt>
1785 <dd>
1787 Defines, together with branch.&lt;name&gt;.remote, the upstream branch
1788 for the given branch. It tells <em>git fetch</em>/<em>git pull</em>/<em>git rebase</em> which
1789 branch to merge and can also affect <em>git push</em> (see push.default).
1790 When in branch &lt;name&gt;, it tells <em>git fetch</em> the default
1791 refspec to be marked for merging in FETCH_HEAD. The value is
1792 handled like the remote part of a refspec, and must match a
1793 ref which is fetched from the remote given by
1794 "branch.&lt;name&gt;.remote".
1795 The merge information is used by <em>git pull</em> (which at first calls
1796 <em>git fetch</em>) to lookup the default branch for merging. Without
1797 this option, <em>git pull</em> defaults to merge the first refspec fetched.
1798 Specify multiple values to get an octopus merge.
1799 If you wish to setup <em>git pull</em> so that it merges into &lt;name&gt; from
1800 another branch in the local repository, you can point
1801 branch.&lt;name&gt;.merge to the desired branch, and use the special setting
1802 <tt>.</tt> (a period) for branch.&lt;name&gt;.remote.
1803 </p>
1804 </dd>
1805 <dt class="hdlist1">
1806 branch.&lt;name&gt;.mergeoptions
1807 </dt>
1808 <dd>
1810 Sets default options for merging into branch &lt;name&gt;. The syntax and
1811 supported options are the same as those of <a href="git-merge.html">git-merge(1)</a>, but
1812 option values containing whitespace characters are currently not
1813 supported.
1814 </p>
1815 </dd>
1816 <dt class="hdlist1">
1817 branch.&lt;name&gt;.rebase
1818 </dt>
1819 <dd>
1821 When true, rebase the branch &lt;name&gt; on top of the fetched branch,
1822 instead of merging the default branch from the default remote when
1823 "git pull" is run.
1824 <strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use
1825 it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a>
1826 for details).
1827 </p>
1828 </dd>
1829 <dt class="hdlist1">
1830 browser.&lt;tool&gt;.cmd
1831 </dt>
1832 <dd>
1834 Specify the command to invoke the specified browser. The
1835 specified command is evaluated in shell with the URLs passed
1836 as arguments. (See <a href="git-web&#8212;browse.html">git-web&#8212;browse(1)</a>.)
1837 </p>
1838 </dd>
1839 <dt class="hdlist1">
1840 browser.&lt;tool&gt;.path
1841 </dt>
1842 <dd>
1844 Override the path for the given tool that may be used to
1845 browse HTML help (see <em>-w</em> option in <a href="git-help.html">git-help(1)</a>) or a
1846 working repository in gitweb (see <a href="git-instaweb.html">git-instaweb(1)</a>).
1847 </p>
1848 </dd>
1849 <dt class="hdlist1">
1850 clean.requireForce
1851 </dt>
1852 <dd>
1854 A boolean to make git-clean do nothing unless given -f
1855 or -n. Defaults to true.
1856 </p>
1857 </dd>
1858 <dt class="hdlist1">
1859 color.branch
1860 </dt>
1861 <dd>
1863 A boolean to enable/disable color in the output of
1864 <a href="git-branch.html">git-branch(1)</a>. May be set to <tt>always</tt>,
1865 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used
1866 only when the output is to a terminal. Defaults to false.
1867 </p>
1868 </dd>
1869 <dt class="hdlist1">
1870 color.branch.&lt;slot&gt;
1871 </dt>
1872 <dd>
1874 Use customized color for branch coloration. <tt>&lt;slot&gt;</tt> is one of
1875 <tt>current</tt> (the current branch), <tt>local</tt> (a local branch),
1876 <tt>remote</tt> (a remote-tracking branch in refs/remotes/), <tt>plain</tt> (other
1877 refs).
1878 </p>
1879 <div class="paragraph"><p>The value for these configuration variables is a list of colors (at most
1880 two) and attributes (at most one), separated by spaces. The colors
1881 accepted are <tt>normal</tt>, <tt>black</tt>, <tt>red</tt>, <tt>green</tt>, <tt>yellow</tt>, <tt>blue</tt>,
1882 <tt>magenta</tt>, <tt>cyan</tt> and <tt>white</tt>; the attributes are <tt>bold</tt>, <tt>dim</tt>, <tt>ul</tt>,
1883 <tt>blink</tt> and <tt>reverse</tt>. The first color given is the foreground; the
1884 second is the background. The position of the attribute, if any,
1885 doesn&#8217;t matter.</p></div>
1886 </dd>
1887 <dt class="hdlist1">
1888 color.diff
1889 </dt>
1890 <dd>
1892 Whether to use ANSI escape sequences to add color to patches.
1893 If this is set to <tt>always</tt>, <a href="git-diff.html">git-diff(1)</a>,
1894 <a href="git-log.html">git-log(1)</a>, and <a href="git-show.html">git-show(1)</a> will use color
1895 for all patches. If it is set to <tt>true</tt> or <tt>auto</tt>, those
1896 commands will only use color when output is to the terminal.
1897 Defaults to false.
1898 </p>
1899 <div class="paragraph"><p>This does not affect <a href="git-format-patch.html">git-format-patch(1)</a> nor the
1900 <em>git-diff-&#42;</em> plumbing commands. Can be overridden on the
1901 command line with the <tt>--color[=&lt;when&gt;]</tt> option.</p></div>
1902 </dd>
1903 <dt class="hdlist1">
1904 color.diff.&lt;slot&gt;
1905 </dt>
1906 <dd>
1908 Use customized color for diff colorization. <tt>&lt;slot&gt;</tt> specifies
1909 which part of the patch to use the specified color, and is one
1910 of <tt>plain</tt> (context text), <tt>meta</tt> (metainformation), <tt>frag</tt>
1911 (hunk header), <em>func</em> (function in hunk header), <tt>old</tt> (removed lines),
1912 <tt>new</tt> (added lines), <tt>commit</tt> (commit headers), or <tt>whitespace</tt>
1913 (highlighting whitespace errors). The values of these variables may be
1914 specified as in color.branch.&lt;slot&gt;.
1915 </p>
1916 </dd>
1917 <dt class="hdlist1">
1918 color.decorate.&lt;slot&gt;
1919 </dt>
1920 <dd>
1922 Use customized color for <em>git log --decorate</em> output. <tt>&lt;slot&gt;</tt> is one
1923 of <tt>branch</tt>, <tt>remoteBranch</tt>, <tt>tag</tt>, <tt>stash</tt> or <tt>HEAD</tt> for local
1924 branches, remote-tracking branches, tags, stash and HEAD, respectively.
1925 </p>
1926 </dd>
1927 <dt class="hdlist1">
1928 color.grep
1929 </dt>
1930 <dd>
1932 When set to <tt>always</tt>, always highlight matches. When <tt>false</tt> (or
1933 <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use color only
1934 when the output is written to the terminal. Defaults to <tt>false</tt>.
1935 </p>
1936 </dd>
1937 <dt class="hdlist1">
1938 color.grep.&lt;slot&gt;
1939 </dt>
1940 <dd>
1942 Use customized color for grep colorization. <tt>&lt;slot&gt;</tt> specifies which
1943 part of the line to use the specified color, and is one of
1944 </p>
1945 <div class="dlist"><dl>
1946 <dt class="hdlist1">
1947 <tt>context</tt>
1948 </dt>
1949 <dd>
1951 non-matching text in context lines (when using <tt>-A</tt>, <tt>-B</tt>, or <tt>-C</tt>)
1952 </p>
1953 </dd>
1954 <dt class="hdlist1">
1955 <tt>filename</tt>
1956 </dt>
1957 <dd>
1959 filename prefix (when not using <tt>-h</tt>)
1960 </p>
1961 </dd>
1962 <dt class="hdlist1">
1963 <tt>function</tt>
1964 </dt>
1965 <dd>
1967 function name lines (when using <tt>-p</tt>)
1968 </p>
1969 </dd>
1970 <dt class="hdlist1">
1971 <tt>linenumber</tt>
1972 </dt>
1973 <dd>
1975 line number prefix (when using <tt>-n</tt>)
1976 </p>
1977 </dd>
1978 <dt class="hdlist1">
1979 <tt>match</tt>
1980 </dt>
1981 <dd>
1983 matching text
1984 </p>
1985 </dd>
1986 <dt class="hdlist1">
1987 <tt>selected</tt>
1988 </dt>
1989 <dd>
1991 non-matching text in selected lines
1992 </p>
1993 </dd>
1994 <dt class="hdlist1">
1995 <tt>separator</tt>
1996 </dt>
1997 <dd>
1999 separators between fields on a line (<tt>:</tt>, <tt>-</tt>, and <tt>=</tt>)
2000 and between hunks (<tt>--</tt>)
2001 </p>
2002 </dd>
2003 </dl></div>
2004 <div class="paragraph"><p>The values of these variables may be specified as in color.branch.&lt;slot&gt;.</p></div>
2005 </dd>
2006 <dt class="hdlist1">
2007 color.interactive
2008 </dt>
2009 <dd>
2011 When set to <tt>always</tt>, always use colors for interactive prompts
2012 and displays (such as those used by "git-add --interactive").
2013 When false (or <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use
2014 colors only when the output is to the terminal. Defaults to false.
2015 </p>
2016 </dd>
2017 <dt class="hdlist1">
2018 color.interactive.&lt;slot&gt;
2019 </dt>
2020 <dd>
2022 Use customized color for <em>git add --interactive</em>
2023 output. <tt>&lt;slot&gt;</tt> may be <tt>prompt</tt>, <tt>header</tt>, <tt>help</tt> or <tt>error</tt>, for
2024 four distinct types of normal output from interactive
2025 commands. The values of these variables may be specified as
2026 in color.branch.&lt;slot&gt;.
2027 </p>
2028 </dd>
2029 <dt class="hdlist1">
2030 color.pager
2031 </dt>
2032 <dd>
2034 A boolean to enable/disable colored output when the pager is in
2035 use (default is true).
2036 </p>
2037 </dd>
2038 <dt class="hdlist1">
2039 color.showbranch
2040 </dt>
2041 <dd>
2043 A boolean to enable/disable color in the output of
2044 <a href="git-show-branch.html">git-show-branch(1)</a>. May be set to <tt>always</tt>,
2045 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used
2046 only when the output is to a terminal. Defaults to false.
2047 </p>
2048 </dd>
2049 <dt class="hdlist1">
2050 color.status
2051 </dt>
2052 <dd>
2054 A boolean to enable/disable color in the output of
2055 <a href="git-status.html">git-status(1)</a>. May be set to <tt>always</tt>,
2056 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used
2057 only when the output is to a terminal. Defaults to false.
2058 </p>
2059 </dd>
2060 <dt class="hdlist1">
2061 color.status.&lt;slot&gt;
2062 </dt>
2063 <dd>
2065 Use customized color for status colorization. <tt>&lt;slot&gt;</tt> is
2066 one of <tt>header</tt> (the header text of the status message),
2067 <tt>added</tt> or <tt>updated</tt> (files which are added but not committed),
2068 <tt>changed</tt> (files which are changed but not added in the index),
2069 <tt>untracked</tt> (files which are not tracked by git),
2070 <tt>branch</tt> (the current branch), or
2071 <tt>nobranch</tt> (the color the <em>no branch</em> warning is shown in, defaulting
2072 to red). The values of these variables may be specified as in
2073 color.branch.&lt;slot&gt;.
2074 </p>
2075 </dd>
2076 <dt class="hdlist1">
2077 color.ui
2078 </dt>
2079 <dd>
2081 This variable determines the default value for variables such
2082 as <tt>color.diff</tt> and <tt>color.grep</tt> that control the use of color
2083 per command family. Its scope will expand as more commands learn
2084 configuration to set a default for the <tt>--color</tt> option. Set it
2085 to <tt>always</tt> if you want all output not intended for machine
2086 consumption to use color, to <tt>true</tt> or <tt>auto</tt> if you want such
2087 output to use color when written to the terminal, or to <tt>false</tt> or
2088 <tt>never</tt> if you prefer git commands not to use color unless enabled
2089 explicitly with some other configuration or the <tt>--color</tt> option.
2090 </p>
2091 </dd>
2092 <dt class="hdlist1">
2093 commit.status
2094 </dt>
2095 <dd>
2097 A boolean to enable/disable inclusion of status information in the
2098 commit message template when using an editor to prepare the commit
2099 message. Defaults to true.
2100 </p>
2101 </dd>
2102 <dt class="hdlist1">
2103 commit.template
2104 </dt>
2105 <dd>
2107 Specify a file to use as the template for new commit messages.
2108 "&#126;/" is expanded to the value of <tt>$HOME</tt> and "&#126;user/" to the
2109 specified user&#8217;s home directory.
2110 </p>
2111 </dd>
2112 <dt class="hdlist1">
2113 diff.autorefreshindex
2114 </dt>
2115 <dd>
2117 When using <em>git diff</em> to compare with work tree
2118 files, do not consider stat-only change as changed.
2119 Instead, silently run <tt>git update-index --refresh</tt> to
2120 update the cached stat information for paths whose
2121 contents in the work tree match the contents in the
2122 index. This option defaults to true. Note that this
2123 affects only <em>git diff</em> Porcelain, and not lower level
2124 <em>diff</em> commands such as <em>git diff-files</em>.
2125 </p>
2126 </dd>
2127 <dt class="hdlist1">
2128 diff.dirstat
2129 </dt>
2130 <dd>
2132 A comma separated list of <tt>--dirstat</tt> parameters specifying the
2133 default behavior of the <tt>--dirstat</tt> option to <a href="git-diff.html">git-diff(1)</a>`
2134 and friends. The defaults can be overridden on the command line
2135 (using <tt>--dirstat=&lt;param1,param2,&#8230;&gt;</tt>). The fallback defaults
2136 (when not changed by <tt>diff.dirstat</tt>) are <tt>changes,noncumulative,3</tt>.
2137 The following parameters are available:
2138 </p>
2139 <div class="dlist"><dl>
2140 <dt class="hdlist1">
2141 <tt>changes</tt>
2142 </dt>
2143 <dd>
2145 Compute the dirstat numbers by counting the lines that have been
2146 removed from the source, or added to the destination. This ignores
2147 the amount of pure code movements within a file. In other words,
2148 rearranging lines in a file is not counted as much as other changes.
2149 This is the default behavior when no parameter is given.
2150 </p>
2151 </dd>
2152 <dt class="hdlist1">
2153 <tt>lines</tt>
2154 </dt>
2155 <dd>
2157 Compute the dirstat numbers by doing the regular line-based diff
2158 analysis, and summing the removed/added line counts. (For binary
2159 files, count 64-byte chunks instead, since binary files have no
2160 natural concept of lines). This is a more expensive <tt>--dirstat</tt>
2161 behavior than the <tt>changes</tt> behavior, but it does count rearranged
2162 lines within a file as much as other changes. The resulting output
2163 is consistent with what you get from the other <tt>--*stat</tt> options.
2164 </p>
2165 </dd>
2166 <dt class="hdlist1">
2167 <tt>files</tt>
2168 </dt>
2169 <dd>
2171 Compute the dirstat numbers by counting the number of files changed.
2172 Each changed file counts equally in the dirstat analysis. This is
2173 the computationally cheapest <tt>--dirstat</tt> behavior, since it does
2174 not have to look at the file contents at all.
2175 </p>
2176 </dd>
2177 <dt class="hdlist1">
2178 <tt>cumulative</tt>
2179 </dt>
2180 <dd>
2182 Count changes in a child directory for the parent directory as well.
2183 Note that when using <tt>cumulative</tt>, the sum of the percentages
2184 reported may exceed 100%. The default (non-cumulative) behavior can
2185 be specified with the <tt>noncumulative</tt> parameter.
2186 </p>
2187 </dd>
2188 <dt class="hdlist1">
2189 &lt;limit&gt;
2190 </dt>
2191 <dd>
2193 An integer parameter specifies a cut-off percent (3% by default).
2194 Directories contributing less than this percentage of the changes
2195 are not shown in the output.
2196 </p>
2197 </dd>
2198 </dl></div>
2199 <div class="paragraph"><p>Example: The following will count changed files, while ignoring
2200 directories with less than 10% of the total amount of changed files,
2201 and accumulating child directory counts in the parent directories:
2202 <tt>files,10,cumulative</tt>.</p></div>
2203 </dd>
2204 <dt class="hdlist1">
2205 diff.external
2206 </dt>
2207 <dd>
2209 If this config variable is set, diff generation is not
2210 performed using the internal diff machinery, but using the
2211 given command. Can be overridden with the &#8216;GIT_EXTERNAL_DIFF&#8217;
2212 environment variable. The command is called with parameters
2213 as described under "git Diffs" in <a href="git.html">git(1)</a>. Note: if
2214 you want to use an external diff program only on a subset of
2215 your files, you might want to use <a href="gitattributes.html">gitattributes(5)</a> instead.
2216 </p>
2217 </dd>
2218 <dt class="hdlist1">
2219 diff.ignoreSubmodules
2220 </dt>
2221 <dd>
2223 Sets the default value of --ignore-submodules. Note that this
2224 affects only <em>git diff</em> Porcelain, and not lower level <em>diff</em>
2225 commands such as <em>git diff-files</em>. <em>git checkout</em> also honors
2226 this setting when reporting uncommitted changes.
2227 </p>
2228 </dd>
2229 <dt class="hdlist1">
2230 diff.mnemonicprefix
2231 </dt>
2232 <dd>
2234 If set, <em>git diff</em> uses a prefix pair that is different from the
2235 standard "a/" and "b/" depending on what is being compared. When
2236 this configuration is in effect, reverse diff output also swaps
2237 the order of the prefixes:
2238 </p>
2239 <div class="dlist"><dl>
2240 <dt class="hdlist1">
2241 <tt>git diff</tt>
2242 </dt>
2243 <dd>
2245 compares the (i)ndex and the (w)ork tree;
2246 </p>
2247 </dd>
2248 <dt class="hdlist1">
2249 <tt>git diff HEAD</tt>
2250 </dt>
2251 <dd>
2253 compares a (c)ommit and the (w)ork tree;
2254 </p>
2255 </dd>
2256 <dt class="hdlist1">
2257 <tt>git diff --cached</tt>
2258 </dt>
2259 <dd>
2261 compares a (c)ommit and the (i)ndex;
2262 </p>
2263 </dd>
2264 <dt class="hdlist1">
2265 <tt>git diff HEAD:file1 file2</tt>
2266 </dt>
2267 <dd>
2269 compares an (o)bject and a (w)ork tree entity;
2270 </p>
2271 </dd>
2272 <dt class="hdlist1">
2273 <tt>git diff --no-index a b</tt>
2274 </dt>
2275 <dd>
2277 compares two non-git things (1) and (2).
2278 </p>
2279 </dd>
2280 </dl></div>
2281 </dd>
2282 <dt class="hdlist1">
2283 diff.noprefix
2284 </dt>
2285 <dd>
2287 If set, <em>git diff</em> does not show any source or destination prefix.
2288 </p>
2289 </dd>
2290 <dt class="hdlist1">
2291 diff.renameLimit
2292 </dt>
2293 <dd>
2295 The number of files to consider when performing the copy/rename
2296 detection; equivalent to the <em>git diff</em> option <em>-l</em>.
2297 </p>
2298 </dd>
2299 <dt class="hdlist1">
2300 diff.renames
2301 </dt>
2302 <dd>
2304 Tells git to detect renames. If set to any boolean value, it
2305 will enable basic rename detection. If set to "copies" or
2306 "copy", it will detect copies, as well.
2307 </p>
2308 </dd>
2309 <dt class="hdlist1">
2310 diff.suppressBlankEmpty
2311 </dt>
2312 <dd>
2314 A boolean to inhibit the standard behavior of printing a space
2315 before each empty output line. Defaults to false.
2316 </p>
2317 </dd>
2318 <dt class="hdlist1">
2319 diff.&lt;driver&gt;.command
2320 </dt>
2321 <dd>
2323 The custom diff driver command. See <a href="gitattributes.html">gitattributes(5)</a>
2324 for details.
2325 </p>
2326 </dd>
2327 <dt class="hdlist1">
2328 diff.&lt;driver&gt;.xfuncname
2329 </dt>
2330 <dd>
2332 The regular expression that the diff driver should use to
2333 recognize the hunk header. A built-in pattern may also be used.
2334 See <a href="gitattributes.html">gitattributes(5)</a> for details.
2335 </p>
2336 </dd>
2337 <dt class="hdlist1">
2338 diff.&lt;driver&gt;.binary
2339 </dt>
2340 <dd>
2342 Set this option to true to make the diff driver treat files as
2343 binary. See <a href="gitattributes.html">gitattributes(5)</a> for details.
2344 </p>
2345 </dd>
2346 <dt class="hdlist1">
2347 diff.&lt;driver&gt;.textconv
2348 </dt>
2349 <dd>
2351 The command that the diff driver should call to generate the
2352 text-converted version of a file. The result of the
2353 conversion is used to generate a human-readable diff. See
2354 <a href="gitattributes.html">gitattributes(5)</a> for details.
2355 </p>
2356 </dd>
2357 <dt class="hdlist1">
2358 diff.&lt;driver&gt;.wordregex
2359 </dt>
2360 <dd>
2362 The regular expression that the diff driver should use to
2363 split words in a line. See <a href="gitattributes.html">gitattributes(5)</a> for
2364 details.
2365 </p>
2366 </dd>
2367 <dt class="hdlist1">
2368 diff.&lt;driver&gt;.cachetextconv
2369 </dt>
2370 <dd>
2372 Set this option to true to make the diff driver cache the text
2373 conversion outputs. See <a href="gitattributes.html">gitattributes(5)</a> for details.
2374 </p>
2375 </dd>
2376 <dt class="hdlist1">
2377 diff.tool
2378 </dt>
2379 <dd>
2381 The diff tool to be used by <a href="git-difftool.html">git-difftool(1)</a>. This
2382 option overrides <tt>merge.tool</tt>, and has the same valid built-in
2383 values as <tt>merge.tool</tt> minus "tortoisemerge" and plus
2384 "kompare". Any other value is treated as a custom diff tool,
2385 and there must be a corresponding <tt>difftool.&lt;tool&gt;.cmd</tt>
2386 option.
2387 </p>
2388 </dd>
2389 <dt class="hdlist1">
2390 difftool.&lt;tool&gt;.path
2391 </dt>
2392 <dd>
2394 Override the path for the given tool. This is useful in case
2395 your tool is not in the PATH.
2396 </p>
2397 </dd>
2398 <dt class="hdlist1">
2399 difftool.&lt;tool&gt;.cmd
2400 </dt>
2401 <dd>
2403 Specify the command to invoke the specified diff tool.
2404 The specified command is evaluated in shell with the following
2405 variables available: <em>LOCAL</em> is set to the name of the temporary
2406 file containing the contents of the diff pre-image and <em>REMOTE</em>
2407 is set to the name of the temporary file containing the contents
2408 of the diff post-image.
2409 </p>
2410 </dd>
2411 <dt class="hdlist1">
2412 difftool.prompt
2413 </dt>
2414 <dd>
2416 Prompt before each invocation of the diff tool.
2417 </p>
2418 </dd>
2419 <dt class="hdlist1">
2420 diff.wordRegex
2421 </dt>
2422 <dd>
2424 A POSIX Extended Regular Expression used to determine what is a "word"
2425 when performing word-by-word difference calculations. Character
2426 sequences that match the regular expression are "words", all other
2427 characters are <strong>ignorable</strong> whitespace.
2428 </p>
2429 </dd>
2430 <dt class="hdlist1">
2431 fetch.recurseSubmodules
2432 </dt>
2433 <dd>
2435 This option can be either set to a boolean value or to <em>on-demand</em>.
2436 Setting it to a boolean changes the behavior of fetch and pull to
2437 unconditionally recurse into submodules when set to true or to not
2438 recurse at all when set to false. When set to <em>on-demand</em> (the default
2439 value), fetch and pull will only recurse into a populated submodule
2440 when its superproject retrieves a commit that updates the submodule&#8217;s
2441 reference.
2442 </p>
2443 </dd>
2444 <dt class="hdlist1">
2445 fetch.unpackLimit
2446 </dt>
2447 <dd>
2449 If the number of objects fetched over the git native
2450 transfer is below this
2451 limit, then the objects will be unpacked into loose object
2452 files. However if the number of received objects equals or
2453 exceeds this limit then the received pack will be stored as
2454 a pack, after adding any missing delta bases. Storing the
2455 pack from a push can make the push operation complete faster,
2456 especially on slow filesystems. If not set, the value of
2457 <tt>transfer.unpackLimit</tt> is used instead.
2458 </p>
2459 </dd>
2460 <dt class="hdlist1">
2461 format.attach
2462 </dt>
2463 <dd>
2465 Enable multipart/mixed attachments as the default for
2466 <em>format-patch</em>. The value can also be a double quoted string
2467 which will enable attachments as the default and set the
2468 value as the boundary. See the --attach option in
2469 <a href="git-format-patch.html">git-format-patch(1)</a>.
2470 </p>
2471 </dd>
2472 <dt class="hdlist1">
2473 format.numbered
2474 </dt>
2475 <dd>
2477 A boolean which can enable or disable sequence numbers in patch
2478 subjects. It defaults to "auto" which enables it only if there
2479 is more than one patch. It can be enabled or disabled for all
2480 messages by setting it to "true" or "false". See --numbered
2481 option in <a href="git-format-patch.html">git-format-patch(1)</a>.
2482 </p>
2483 </dd>
2484 <dt class="hdlist1">
2485 format.headers
2486 </dt>
2487 <dd>
2489 Additional email headers to include in a patch to be submitted
2490 by mail. See <a href="git-format-patch.html">git-format-patch(1)</a>.
2491 </p>
2492 </dd>
2493 <dt class="hdlist1">
2494 format.to
2495 </dt>
2496 <dt class="hdlist1">
2497 format.cc
2498 </dt>
2499 <dd>
2501 Additional recipients to include in a patch to be submitted
2502 by mail. See the --to and --cc options in
2503 <a href="git-format-patch.html">git-format-patch(1)</a>.
2504 </p>
2505 </dd>
2506 <dt class="hdlist1">
2507 format.subjectprefix
2508 </dt>
2509 <dd>
2511 The default for format-patch is to output files with the <em>[PATCH]</em>
2512 subject prefix. Use this variable to change that prefix.
2513 </p>
2514 </dd>
2515 <dt class="hdlist1">
2516 format.signature
2517 </dt>
2518 <dd>
2520 The default for format-patch is to output a signature containing
2521 the git version number. Use this variable to change that default.
2522 Set this variable to the empty string ("") to suppress
2523 signature generation.
2524 </p>
2525 </dd>
2526 <dt class="hdlist1">
2527 format.suffix
2528 </dt>
2529 <dd>
2531 The default for format-patch is to output files with the suffix
2532 <tt>.patch</tt>. Use this variable to change that suffix (make sure to
2533 include the dot if you want it).
2534 </p>
2535 </dd>
2536 <dt class="hdlist1">
2537 format.pretty
2538 </dt>
2539 <dd>
2541 The default pretty format for log/show/whatchanged command,
2542 See <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>,
2543 <a href="git-whatchanged.html">git-whatchanged(1)</a>.
2544 </p>
2545 </dd>
2546 <dt class="hdlist1">
2547 format.thread
2548 </dt>
2549 <dd>
2551 The default threading style for <em>git format-patch</em>. Can be
2552 a boolean value, or <tt>shallow</tt> or <tt>deep</tt>. <tt>shallow</tt> threading
2553 makes every mail a reply to the head of the series,
2554 where the head is chosen from the cover letter, the
2555 <tt>--in-reply-to</tt>, and the first patch mail, in this order.
2556 <tt>deep</tt> threading makes every mail a reply to the previous one.
2557 A true boolean value is the same as <tt>shallow</tt>, and a false
2558 value disables threading.
2559 </p>
2560 </dd>
2561 <dt class="hdlist1">
2562 format.signoff
2563 </dt>
2564 <dd>
2566 A boolean value which lets you enable the <tt>-s/--signoff</tt> option of
2567 format-patch by default. <strong>Note:</strong> Adding the Signed-off-by: line to a
2568 patch should be a conscious act and means that you certify you have
2569 the rights to submit this work under the same open source license.
2570 Please see the <em>SubmittingPatches</em> document for further discussion.
2571 </p>
2572 </dd>
2573 <dt class="hdlist1">
2574 filter.&lt;driver&gt;.clean
2575 </dt>
2576 <dd>
2578 The command which is used to convert the content of a worktree
2579 file to a blob upon checkin. See <a href="gitattributes.html">gitattributes(5)</a> for
2580 details.
2581 </p>
2582 </dd>
2583 <dt class="hdlist1">
2584 filter.&lt;driver&gt;.smudge
2585 </dt>
2586 <dd>
2588 The command which is used to convert the content of a blob
2589 object to a worktree file upon checkout. See
2590 <a href="gitattributes.html">gitattributes(5)</a> for details.
2591 </p>
2592 </dd>
2593 <dt class="hdlist1">
2594 gc.aggressiveWindow
2595 </dt>
2596 <dd>
2598 The window size parameter used in the delta compression
2599 algorithm used by <em>git gc --aggressive</em>. This defaults
2600 to 250.
2601 </p>
2602 </dd>
2603 <dt class="hdlist1">
2604 gc.auto
2605 </dt>
2606 <dd>
2608 When there are approximately more than this many loose
2609 objects in the repository, <tt>git gc --auto</tt> will pack them.
2610 Some Porcelain commands use this command to perform a
2611 light-weight garbage collection from time to time. The
2612 default value is 6700. Setting this to 0 disables it.
2613 </p>
2614 </dd>
2615 <dt class="hdlist1">
2616 gc.autopacklimit
2617 </dt>
2618 <dd>
2620 When there are more than this many packs that are not
2621 marked with <tt>*.keep</tt> file in the repository, <tt>git gc
2622 --auto</tt> consolidates them into one larger pack. The
2623 default value is 50. Setting this to 0 disables it.
2624 </p>
2625 </dd>
2626 <dt class="hdlist1">
2627 gc.packrefs
2628 </dt>
2629 <dd>
2631 Running <tt>git pack-refs</tt> in a repository renders it
2632 unclonable by Git versions prior to 1.5.1.2 over dumb
2633 transports such as HTTP. This variable determines whether
2634 <em>git gc</em> runs <tt>git pack-refs</tt>. This can be set to <tt>notbare</tt>
2635 to enable it within all non-bare repos or it can be set to a
2636 boolean value. The default is <tt>true</tt>.
2637 </p>
2638 </dd>
2639 <dt class="hdlist1">
2640 gc.pruneexpire
2641 </dt>
2642 <dd>
2644 When <em>git gc</em> is run, it will call <em>prune --expire 2.weeks.ago</em>.
2645 Override the grace period with this config variable. The value
2646 "now" may be used to disable this grace period and always prune
2647 unreachable objects immediately.
2648 </p>
2649 </dd>
2650 <dt class="hdlist1">
2651 gc.reflogexpire
2652 </dt>
2653 <dt class="hdlist1">
2654 gc.&lt;pattern&gt;.reflogexpire
2655 </dt>
2656 <dd>
2658 <em>git reflog expire</em> removes reflog entries older than
2659 this time; defaults to 90 days. With "&lt;pattern&gt;" (e.g.
2660 "refs/stash") in the middle the setting applies only to
2661 the refs that match the &lt;pattern&gt;.
2662 </p>
2663 </dd>
2664 <dt class="hdlist1">
2665 gc.reflogexpireunreachable
2666 </dt>
2667 <dt class="hdlist1">
2668 gc.&lt;ref&gt;.reflogexpireunreachable
2669 </dt>
2670 <dd>
2672 <em>git reflog expire</em> removes reflog entries older than
2673 this time and are not reachable from the current tip;
2674 defaults to 30 days. With "&lt;pattern&gt;" (e.g. "refs/stash")
2675 in the middle, the setting applies only to the refs that
2676 match the &lt;pattern&gt;.
2677 </p>
2678 </dd>
2679 <dt class="hdlist1">
2680 gc.rerereresolved
2681 </dt>
2682 <dd>
2684 Records of conflicted merge you resolved earlier are
2685 kept for this many days when <em>git rerere gc</em> is run.
2686 The default is 60 days. See <a href="git-rerere.html">git-rerere(1)</a>.
2687 </p>
2688 </dd>
2689 <dt class="hdlist1">
2690 gc.rerereunresolved
2691 </dt>
2692 <dd>
2694 Records of conflicted merge you have not resolved are
2695 kept for this many days when <em>git rerere gc</em> is run.
2696 The default is 15 days. See <a href="git-rerere.html">git-rerere(1)</a>.
2697 </p>
2698 </dd>
2699 <dt class="hdlist1">
2700 gitcvs.commitmsgannotation
2701 </dt>
2702 <dd>
2704 Append this string to each commit message. Set to empty string
2705 to disable this feature. Defaults to "via git-CVS emulator".
2706 </p>
2707 </dd>
2708 <dt class="hdlist1">
2709 gitcvs.enabled
2710 </dt>
2711 <dd>
2713 Whether the CVS server interface is enabled for this repository.
2714 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2715 </p>
2716 </dd>
2717 <dt class="hdlist1">
2718 gitcvs.logfile
2719 </dt>
2720 <dd>
2722 Path to a log file where the CVS server interface well&#8230; logs
2723 various stuff. See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2724 </p>
2725 </dd>
2726 <dt class="hdlist1">
2727 gitcvs.usecrlfattr
2728 </dt>
2729 <dd>
2731 If true, the server will look up the end-of-line conversion
2732 attributes for files to determine the <em>-k</em> modes to use. If
2733 the attributes force git to treat a file as text,
2734 the <em>-k</em> mode will be left blank so CVS clients will
2735 treat it as text. If they suppress text conversion, the file
2736 will be set with <em>-kb</em> mode, which suppresses any newline munging
2737 the client might otherwise do. If the attributes do not allow
2738 the file type to be determined, then <em>gitcvs.allbinary</em> is
2739 used. See <a href="gitattributes.html">gitattributes(5)</a>.
2740 </p>
2741 </dd>
2742 <dt class="hdlist1">
2743 gitcvs.allbinary
2744 </dt>
2745 <dd>
2747 This is used if <em>gitcvs.usecrlfattr</em> does not resolve
2748 the correct <em>-kb</em> mode to use. If true, all
2749 unresolved files are sent to the client in
2750 mode <em>-kb</em>. This causes the client to treat them
2751 as binary files, which suppresses any newline munging it
2752 otherwise might do. Alternatively, if it is set to "guess",
2753 then the contents of the file are examined to decide if
2754 it is binary, similar to <em>core.autocrlf</em>.
2755 </p>
2756 </dd>
2757 <dt class="hdlist1">
2758 gitcvs.dbname
2759 </dt>
2760 <dd>
2762 Database used by git-cvsserver to cache revision information
2763 derived from the git repository. The exact meaning depends on the
2764 used database driver, for SQLite (which is the default driver) this
2765 is a filename. Supports variable substitution (see
2766 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). May not contain semicolons (<tt>;</tt>).
2767 Default: <em>%Ggitcvs.%m.sqlite</em>
2768 </p>
2769 </dd>
2770 <dt class="hdlist1">
2771 gitcvs.dbdriver
2772 </dt>
2773 <dd>
2775 Used Perl DBI driver. You can specify any available driver
2776 for this here, but it might not work. git-cvsserver is tested
2777 with <em>DBD::SQLite</em>, reported to work with <em>DBD::Pg</em>, and
2778 reported <strong>not</strong> to work with <em>DBD::mysql</em>. Experimental feature.
2779 May not contain double colons (<tt>:</tt>). Default: <em>SQLite</em>.
2780 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2781 </p>
2782 </dd>
2783 <dt class="hdlist1">
2784 gitcvs.dbuser, gitcvs.dbpass
2785 </dt>
2786 <dd>
2788 Database user and password. Only useful if setting <em>gitcvs.dbdriver</em>,
2789 since SQLite has no concept of database users and/or passwords.
2790 <em>gitcvs.dbuser</em> supports variable substitution (see
2791 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details).
2792 </p>
2793 </dd>
2794 <dt class="hdlist1">
2795 gitcvs.dbTableNamePrefix
2796 </dt>
2797 <dd>
2799 Database table name prefix. Prepended to the names of any
2800 database tables used, allowing a single database to be used
2801 for several repositories. Supports variable substitution (see
2802 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). Any non-alphabetic
2803 characters will be replaced with underscores.
2804 </p>
2805 </dd>
2806 </dl></div>
2807 <div class="paragraph"><p>All gitcvs variables except for <em>gitcvs.usecrlfattr</em> and
2808 <em>gitcvs.allbinary</em> can also be specified as
2809 <em>gitcvs.&lt;access_method&gt;.&lt;varname&gt;</em> (where <em>access_method</em>
2810 is one of "ext" and "pserver") to make them apply only for the given
2811 access method.</p></div>
2812 <div class="dlist"><dl>
2813 <dt class="hdlist1">
2814 grep.lineNumber
2815 </dt>
2816 <dd>
2818 If set to true, enable <em>-n</em> option by default.
2819 </p>
2820 </dd>
2821 <dt class="hdlist1">
2822 grep.extendedRegexp
2823 </dt>
2824 <dd>
2826 If set to true, enable <em>--extended-regexp</em> option by default.
2827 </p>
2828 </dd>
2829 <dt class="hdlist1">
2830 gui.commitmsgwidth
2831 </dt>
2832 <dd>
2834 Defines how wide the commit message window is in the
2835 <a href="git-gui.html">git-gui(1)</a>. "75" is the default.
2836 </p>
2837 </dd>
2838 <dt class="hdlist1">
2839 gui.diffcontext
2840 </dt>
2841 <dd>
2843 Specifies how many context lines should be used in calls to diff
2844 made by the <a href="git-gui.html">git-gui(1)</a>. The default is "5".
2845 </p>
2846 </dd>
2847 <dt class="hdlist1">
2848 gui.encoding
2849 </dt>
2850 <dd>
2852 Specifies the default encoding to use for displaying of
2853 file contents in <a href="git-gui.html">git-gui(1)</a> and <a href="gitk.html">gitk(1)</a>.
2854 It can be overridden by setting the <em>encoding</em> attribute
2855 for relevant files (see <a href="gitattributes.html">gitattributes(5)</a>).
2856 If this option is not set, the tools default to the
2857 locale encoding.
2858 </p>
2859 </dd>
2860 <dt class="hdlist1">
2861 gui.matchtrackingbranch
2862 </dt>
2863 <dd>
2865 Determines if new branches created with <a href="git-gui.html">git-gui(1)</a> should
2866 default to tracking remote branches with matching names or
2867 not. Default: "false".
2868 </p>
2869 </dd>
2870 <dt class="hdlist1">
2871 gui.newbranchtemplate
2872 </dt>
2873 <dd>
2875 Is used as suggested name when creating new branches using the
2876 <a href="git-gui.html">git-gui(1)</a>.
2877 </p>
2878 </dd>
2879 <dt class="hdlist1">
2880 gui.pruneduringfetch
2881 </dt>
2882 <dd>
2884 "true" if <a href="git-gui.html">git-gui(1)</a> should prune remote-tracking branches when
2885 performing a fetch. The default value is "false".
2886 </p>
2887 </dd>
2888 <dt class="hdlist1">
2889 gui.trustmtime
2890 </dt>
2891 <dd>
2893 Determines if <a href="git-gui.html">git-gui(1)</a> should trust the file modification
2894 timestamp or not. By default the timestamps are not trusted.
2895 </p>
2896 </dd>
2897 <dt class="hdlist1">
2898 gui.spellingdictionary
2899 </dt>
2900 <dd>
2902 Specifies the dictionary used for spell checking commit messages in
2903 the <a href="git-gui.html">git-gui(1)</a>. When set to "none" spell checking is turned
2904 off.
2905 </p>
2906 </dd>
2907 <dt class="hdlist1">
2908 gui.fastcopyblame
2909 </dt>
2910 <dd>
2912 If true, <em>git gui blame</em> uses <tt>-C</tt> instead of <tt>-C -C</tt> for original
2913 location detection. It makes blame significantly faster on huge
2914 repositories at the expense of less thorough copy detection.
2915 </p>
2916 </dd>
2917 <dt class="hdlist1">
2918 gui.copyblamethreshold
2919 </dt>
2920 <dd>
2922 Specifies the threshold to use in <em>git gui blame</em> original location
2923 detection, measured in alphanumeric characters. See the
2924 <a href="git-blame.html">git-blame(1)</a> manual for more information on copy detection.
2925 </p>
2926 </dd>
2927 <dt class="hdlist1">
2928 gui.blamehistoryctx
2929 </dt>
2930 <dd>
2932 Specifies the radius of history context in days to show in
2933 <a href="gitk.html">gitk(1)</a> for the selected commit, when the <tt>Show History
2934 Context</tt> menu item is invoked from <em>git gui blame</em>. If this
2935 variable is set to zero, the whole history is shown.
2936 </p>
2937 </dd>
2938 <dt class="hdlist1">
2939 guitool.&lt;name&gt;.cmd
2940 </dt>
2941 <dd>
2943 Specifies the shell command line to execute when the corresponding item
2944 of the <a href="git-gui.html">git-gui(1)</a> <tt>Tools</tt> menu is invoked. This option is
2945 mandatory for every tool. The command is executed from the root of
2946 the working directory, and in the environment it receives the name of
2947 the tool as <em>GIT_GUITOOL</em>, the name of the currently selected file as
2948 <em>FILENAME</em>, and the name of the current branch as <em>CUR_BRANCH</em> (if
2949 the head is detached, <em>CUR_BRANCH</em> is empty).
2950 </p>
2951 </dd>
2952 <dt class="hdlist1">
2953 guitool.&lt;name&gt;.needsfile
2954 </dt>
2955 <dd>
2957 Run the tool only if a diff is selected in the GUI. It guarantees
2958 that <em>FILENAME</em> is not empty.
2959 </p>
2960 </dd>
2961 <dt class="hdlist1">
2962 guitool.&lt;name&gt;.noconsole
2963 </dt>
2964 <dd>
2966 Run the command silently, without creating a window to display its
2967 output.
2968 </p>
2969 </dd>
2970 <dt class="hdlist1">
2971 guitool.&lt;name&gt;.norescan
2972 </dt>
2973 <dd>
2975 Don&#8217;t rescan the working directory for changes after the tool
2976 finishes execution.
2977 </p>
2978 </dd>
2979 <dt class="hdlist1">
2980 guitool.&lt;name&gt;.confirm
2981 </dt>
2982 <dd>
2984 Show a confirmation dialog before actually running the tool.
2985 </p>
2986 </dd>
2987 <dt class="hdlist1">
2988 guitool.&lt;name&gt;.argprompt
2989 </dt>
2990 <dd>
2992 Request a string argument from the user, and pass it to the tool
2993 through the <em>ARGS</em> environment variable. Since requesting an
2994 argument implies confirmation, the <em>confirm</em> option has no effect
2995 if this is enabled. If the option is set to <em>true</em>, <em>yes</em>, or <em>1</em>,
2996 the dialog uses a built-in generic prompt; otherwise the exact
2997 value of the variable is used.
2998 </p>
2999 </dd>
3000 <dt class="hdlist1">
3001 guitool.&lt;name&gt;.revprompt
3002 </dt>
3003 <dd>
3005 Request a single valid revision from the user, and set the
3006 <em>REVISION</em> environment variable. In other aspects this option
3007 is similar to <em>argprompt</em>, and can be used together with it.
3008 </p>
3009 </dd>
3010 <dt class="hdlist1">
3011 guitool.&lt;name&gt;.revunmerged
3012 </dt>
3013 <dd>
3015 Show only unmerged branches in the <em>revprompt</em> subdialog.
3016 This is useful for tools similar to merge or rebase, but not
3017 for things like checkout or reset.
3018 </p>
3019 </dd>
3020 <dt class="hdlist1">
3021 guitool.&lt;name&gt;.title
3022 </dt>
3023 <dd>
3025 Specifies the title to use for the prompt dialog. The default
3026 is the tool name.
3027 </p>
3028 </dd>
3029 <dt class="hdlist1">
3030 guitool.&lt;name&gt;.prompt
3031 </dt>
3032 <dd>
3034 Specifies the general prompt string to display at the top of
3035 the dialog, before subsections for <em>argprompt</em> and <em>revprompt</em>.
3036 The default value includes the actual command.
3037 </p>
3038 </dd>
3039 <dt class="hdlist1">
3040 help.browser
3041 </dt>
3042 <dd>
3044 Specify the browser that will be used to display help in the
3045 <em>web</em> format. See <a href="git-help.html">git-help(1)</a>.
3046 </p>
3047 </dd>
3048 <dt class="hdlist1">
3049 help.format
3050 </dt>
3051 <dd>
3053 Override the default help format used by <a href="git-help.html">git-help(1)</a>.
3054 Values <em>man</em>, <em>info</em>, <em>web</em> and <em>html</em> are supported. <em>man</em> is
3055 the default. <em>web</em> and <em>html</em> are the same.
3056 </p>
3057 </dd>
3058 <dt class="hdlist1">
3059 help.autocorrect
3060 </dt>
3061 <dd>
3063 Automatically correct and execute mistyped commands after
3064 waiting for the given number of deciseconds (0.1 sec). If more
3065 than one command can be deduced from the entered text, nothing
3066 will be executed. If the value of this option is negative,
3067 the corrected command will be executed immediately. If the
3068 value is 0 - the command will be just shown but not executed.
3069 This is the default.
3070 </p>
3071 </dd>
3072 <dt class="hdlist1">
3073 http.proxy
3074 </dt>
3075 <dd>
3077 Override the HTTP proxy, normally configured using the <em>http_proxy</em>
3078 environment variable (see <a href="curl.html">curl(1)</a>). This can be overridden
3079 on a per-remote basis; see remote.&lt;name&gt;.proxy
3080 </p>
3081 </dd>
3082 <dt class="hdlist1">
3083 http.sslVerify
3084 </dt>
3085 <dd>
3087 Whether to verify the SSL certificate when fetching or pushing
3088 over HTTPS. Can be overridden by the <em>GIT_SSL_NO_VERIFY</em> environment
3089 variable.
3090 </p>
3091 </dd>
3092 <dt class="hdlist1">
3093 http.sslCert
3094 </dt>
3095 <dd>
3097 File containing the SSL certificate when fetching or pushing
3098 over HTTPS. Can be overridden by the <em>GIT_SSL_CERT</em> environment
3099 variable.
3100 </p>
3101 </dd>
3102 <dt class="hdlist1">
3103 http.sslKey
3104 </dt>
3105 <dd>
3107 File containing the SSL private key when fetching or pushing
3108 over HTTPS. Can be overridden by the <em>GIT_SSL_KEY</em> environment
3109 variable.
3110 </p>
3111 </dd>
3112 <dt class="hdlist1">
3113 http.sslCertPasswordProtected
3114 </dt>
3115 <dd>
3117 Enable git&#8217;s password prompt for the SSL certificate. Otherwise
3118 OpenSSL will prompt the user, possibly many times, if the
3119 certificate or private key is encrypted. Can be overridden by the
3120 <em>GIT_SSL_CERT_PASSWORD_PROTECTED</em> environment variable.
3121 </p>
3122 </dd>
3123 <dt class="hdlist1">
3124 http.sslCAInfo
3125 </dt>
3126 <dd>
3128 File containing the certificates to verify the peer with when
3129 fetching or pushing over HTTPS. Can be overridden by the
3130 <em>GIT_SSL_CAINFO</em> environment variable.
3131 </p>
3132 </dd>
3133 <dt class="hdlist1">
3134 http.sslCAPath
3135 </dt>
3136 <dd>
3138 Path containing files with the CA certificates to verify the peer
3139 with when fetching or pushing over HTTPS. Can be overridden
3140 by the <em>GIT_SSL_CAPATH</em> environment variable.
3141 </p>
3142 </dd>
3143 <dt class="hdlist1">
3144 http.maxRequests
3145 </dt>
3146 <dd>
3148 How many HTTP requests to launch in parallel. Can be overridden
3149 by the <em>GIT_HTTP_MAX_REQUESTS</em> environment variable. Default is 5.
3150 </p>
3151 </dd>
3152 <dt class="hdlist1">
3153 http.minSessions
3154 </dt>
3155 <dd>
3157 The number of curl sessions (counted across slots) to be kept across
3158 requests. They will not be ended with curl_easy_cleanup() until
3159 http_cleanup() is invoked. If USE_CURL_MULTI is not defined, this
3160 value will be capped at 1. Defaults to 1.
3161 </p>
3162 </dd>
3163 <dt class="hdlist1">
3164 http.postBuffer
3165 </dt>
3166 <dd>
3168 Maximum size in bytes of the buffer used by smart HTTP
3169 transports when POSTing data to the remote system.
3170 For requests larger than this buffer size, HTTP/1.1 and
3171 Transfer-Encoding: chunked is used to avoid creating a
3172 massive pack file locally. Default is 1 MiB, which is
3173 sufficient for most requests.
3174 </p>
3175 </dd>
3176 <dt class="hdlist1">
3177 http.lowSpeedLimit, http.lowSpeedTime
3178 </dt>
3179 <dd>
3181 If the HTTP transfer speed is less than <em>http.lowSpeedLimit</em>
3182 for longer than <em>http.lowSpeedTime</em> seconds, the transfer is aborted.
3183 Can be overridden by the <em>GIT_HTTP_LOW_SPEED_LIMIT</em> and
3184 <em>GIT_HTTP_LOW_SPEED_TIME</em> environment variables.
3185 </p>
3186 </dd>
3187 <dt class="hdlist1">
3188 http.noEPSV
3189 </dt>
3190 <dd>
3192 A boolean which disables using of EPSV ftp command by curl.
3193 This can helpful with some "poor" ftp servers which don&#8217;t
3194 support EPSV mode. Can be overridden by the <em>GIT_CURL_FTP_NO_EPSV</em>
3195 environment variable. Default is false (curl will use EPSV).
3196 </p>
3197 </dd>
3198 <dt class="hdlist1">
3199 http.useragent
3200 </dt>
3201 <dd>
3203 The HTTP USER_AGENT string presented to an HTTP server. The default
3204 value represents the version of the client git such as git/1.7.1.
3205 This option allows you to override this value to a more common value
3206 such as Mozilla/4.0. This may be necessary, for instance, if
3207 connecting through a firewall that restricts HTTP connections to a set
3208 of common USER_AGENT strings (but not including those like git/1.7.1).
3209 Can be overridden by the <em>GIT_HTTP_USER_AGENT</em> environment variable.
3210 </p>
3211 </dd>
3212 <dt class="hdlist1">
3213 i18n.commitEncoding
3214 </dt>
3215 <dd>
3217 Character encoding the commit messages are stored in; git itself
3218 does not care per se, but this information is necessary e.g. when
3219 importing commits from emails or in the gitk graphical history
3220 browser (and possibly at other places in the future or in other
3221 porcelains). See e.g. <a href="git-mailinfo.html">git-mailinfo(1)</a>. Defaults to <em>utf-8</em>.
3222 </p>
3223 </dd>
3224 <dt class="hdlist1">
3225 i18n.logOutputEncoding
3226 </dt>
3227 <dd>
3229 Character encoding the commit messages are converted to when
3230 running <em>git log</em> and friends.
3231 </p>
3232 </dd>
3233 <dt class="hdlist1">
3234 imap
3235 </dt>
3236 <dd>
3238 The configuration variables in the <em>imap</em> section are described
3239 in <a href="git-imap-send.html">git-imap-send(1)</a>.
3240 </p>
3241 </dd>
3242 <dt class="hdlist1">
3243 init.templatedir
3244 </dt>
3245 <dd>
3247 Specify the directory from which templates will be copied.
3248 (See the "TEMPLATE DIRECTORY" section of <a href="git-init.html">git-init(1)</a>.)
3249 </p>
3250 </dd>
3251 <dt class="hdlist1">
3252 instaweb.browser
3253 </dt>
3254 <dd>
3256 Specify the program that will be used to browse your working
3257 repository in gitweb. See <a href="git-instaweb.html">git-instaweb(1)</a>.
3258 </p>
3259 </dd>
3260 <dt class="hdlist1">
3261 instaweb.httpd
3262 </dt>
3263 <dd>
3265 The HTTP daemon command-line to start gitweb on your working
3266 repository. See <a href="git-instaweb.html">git-instaweb(1)</a>.
3267 </p>
3268 </dd>
3269 <dt class="hdlist1">
3270 instaweb.local
3271 </dt>
3272 <dd>
3274 If true the web server started by <a href="git-instaweb.html">git-instaweb(1)</a> will
3275 be bound to the local IP (127.0.0.1).
3276 </p>
3277 </dd>
3278 <dt class="hdlist1">
3279 instaweb.modulepath
3280 </dt>
3281 <dd>
3283 The default module path for <a href="git-instaweb.html">git-instaweb(1)</a> to use
3284 instead of /usr/lib/apache2/modules. Only used if httpd
3285 is Apache.
3286 </p>
3287 </dd>
3288 <dt class="hdlist1">
3289 instaweb.port
3290 </dt>
3291 <dd>
3293 The port number to bind the gitweb httpd to. See
3294 <a href="git-instaweb.html">git-instaweb(1)</a>.
3295 </p>
3296 </dd>
3297 <dt class="hdlist1">
3298 interactive.singlekey
3299 </dt>
3300 <dd>
3302 In interactive commands, allow the user to provide one-letter
3303 input with a single key (i.e., without hitting enter).
3304 Currently this is used by the <tt>--patch</tt> mode of
3305 <a href="git-add.html">git-add(1)</a>, <a href="git-checkout.html">git-checkout(1)</a>, <a href="git-commit.html">git-commit(1)</a>,
3306 <a href="git-reset.html">git-reset(1)</a>, and <a href="git-stash.html">git-stash(1)</a>. Note that this
3307 setting is silently ignored if portable keystroke input
3308 is not available.
3309 </p>
3310 </dd>
3311 <dt class="hdlist1">
3312 log.date
3313 </dt>
3314 <dd>
3316 Set the default date-time mode for the <em>log</em> command.
3317 Setting a value for log.date is similar to using <em>git log</em>'s
3318 <tt>--date</tt> option. Possible values are <tt>relative</tt>, <tt>local</tt>,
3319 <tt>default</tt>, <tt>iso</tt>, <tt>rfc</tt>, and <tt>short</tt>; see <a href="git-log.html">git-log(1)</a>
3320 for details.
3321 </p>
3322 </dd>
3323 <dt class="hdlist1">
3324 log.decorate
3325 </dt>
3326 <dd>
3328 Print out the ref names of any commits that are shown by the log
3329 command. If <em>short</em> is specified, the ref name prefixes <em>refs/heads/</em>,
3330 <em>refs/tags/</em> and <em>refs/remotes/</em> will not be printed. If <em>full</em> is
3331 specified, the full ref name (including prefix) will be printed.
3332 This is the same as the log commands <em>--decorate</em> option.
3333 </p>
3334 </dd>
3335 <dt class="hdlist1">
3336 log.showroot
3337 </dt>
3338 <dd>
3340 If true, the initial commit will be shown as a big creation event.
3341 This is equivalent to a diff against an empty tree.
3342 Tools like <a href="git-log.html">git-log(1)</a> or <a href="git-whatchanged.html">git-whatchanged(1)</a>, which
3343 normally hide the root commit will now show it. True by default.
3344 </p>
3345 </dd>
3346 <dt class="hdlist1">
3347 mailmap.file
3348 </dt>
3349 <dd>
3351 The location of an augmenting mailmap file. The default
3352 mailmap, located in the root of the repository, is loaded
3353 first, then the mailmap file pointed to by this variable.
3354 The location of the mailmap file may be in a repository
3355 subdirectory, or somewhere outside of the repository itself.
3356 See <a href="git-shortlog.html">git-shortlog(1)</a> and <a href="git-blame.html">git-blame(1)</a>.
3357 </p>
3358 </dd>
3359 <dt class="hdlist1">
3360 man.viewer
3361 </dt>
3362 <dd>
3364 Specify the programs that may be used to display help in the
3365 <em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
3366 </p>
3367 </dd>
3368 <dt class="hdlist1">
3369 man.&lt;tool&gt;.cmd
3370 </dt>
3371 <dd>
3373 Specify the command to invoke the specified man viewer. The
3374 specified command is evaluated in shell with the man page
3375 passed as argument. (See <a href="git-help.html">git-help(1)</a>.)
3376 </p>
3377 </dd>
3378 <dt class="hdlist1">
3379 man.&lt;tool&gt;.path
3380 </dt>
3381 <dd>
3383 Override the path for the given tool that may be used to
3384 display help in the <em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
3385 </p>
3386 </dd>
3387 <dt class="hdlist1">
3388 merge.conflictstyle
3389 </dt>
3390 <dd>
3392 Specify the style in which conflicted hunks are written out to
3393 working tree files upon merge. The default is "merge", which
3394 shows a <tt>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</tt> conflict marker, changes made by one side,
3395 a <tt>=======</tt> marker, changes made by the other side, and then
3396 a <tt>&gt;&gt;&gt;&gt;&gt;&gt;&gt;</tt> marker. An alternate style, "diff3", adds a <tt>|||||||</tt>
3397 marker and the original text before the <tt>=======</tt> marker.
3398 </p>
3399 </dd>
3400 <dt class="hdlist1">
3401 merge.defaultToUpstream
3402 </dt>
3403 <dd>
3405 If merge is called without any commit argument, merge the upstream
3406 branches configured for the current branch by using their last
3407 observed values stored in their remote tracking branches.
3408 The values of the <tt>branch.&lt;current branch&gt;.merge</tt> that name the
3409 branches at the remote named by <tt>branch.&lt;current branch&gt;.remote</tt>
3410 are consulted, and then they are mapped via <tt>remote.&lt;remote&gt;.fetch</tt>
3411 to their corresponding remote tracking branches, and the tips of
3412 these tracking branches are merged.
3413 </p>
3414 </dd>
3415 <dt class="hdlist1">
3416 merge.ff
3417 </dt>
3418 <dd>
3420 By default, git does not create an extra merge commit when merging
3421 a commit that is a descendant of the current commit. Instead, the
3422 tip of the current branch is fast-forwarded. When set to <tt>false</tt>,
3423 this variable tells git to create an extra merge commit in such
3424 a case (equivalent to giving the <tt>--no-ff</tt> option from the command
3425 line). When set to <tt>only</tt>, only such fast-forward merges are
3426 allowed (equivalent to giving the <tt>--ff-only</tt> option from the
3427 command line).
3428 </p>
3429 </dd>
3430 <dt class="hdlist1">
3431 merge.log
3432 </dt>
3433 <dd>
3435 In addition to branch names, populate the log message with at
3436 most the specified number of one-line descriptions from the
3437 actual commits that are being merged. Defaults to false, and
3438 true is a synonym for 20.
3439 </p>
3440 </dd>
3441 <dt class="hdlist1">
3442 merge.renameLimit
3443 </dt>
3444 <dd>
3446 The number of files to consider when performing rename detection
3447 during a merge; if not specified, defaults to the value of
3448 diff.renameLimit.
3449 </p>
3450 </dd>
3451 <dt class="hdlist1">
3452 merge.renormalize
3453 </dt>
3454 <dd>
3456 Tell git that canonical representation of files in the
3457 repository has changed over time (e.g. earlier commits record
3458 text files with CRLF line endings, but recent ones use LF line
3459 endings). In such a repository, git can convert the data
3460 recorded in commits to a canonical form before performing a
3461 merge to reduce unnecessary conflicts. For more information,
3462 see section "Merging branches with differing checkin/checkout
3463 attributes" in <a href="gitattributes.html">gitattributes(5)</a>.
3464 </p>
3465 </dd>
3466 <dt class="hdlist1">
3467 merge.stat
3468 </dt>
3469 <dd>
3471 Whether to print the diffstat between ORIG_HEAD and the merge result
3472 at the end of the merge. True by default.
3473 </p>
3474 </dd>
3475 <dt class="hdlist1">
3476 merge.tool
3477 </dt>
3478 <dd>
3480 Controls which merge resolution program is used by
3481 <a href="git-mergetool.html">git-mergetool(1)</a>. Valid built-in values are: "araxis",
3482 "bc3", "diffuse", "ecmerge", "emerge", "gvimdiff", "kdiff3", "meld",
3483 "opendiff", "p4merge", "tkdiff", "tortoisemerge", "vimdiff"
3484 and "xxdiff". Any other value is treated is custom merge tool
3485 and there must be a corresponding mergetool.&lt;tool&gt;.cmd option.
3486 </p>
3487 </dd>
3488 <dt class="hdlist1">
3489 merge.verbosity
3490 </dt>
3491 <dd>
3493 Controls the amount of output shown by the recursive merge
3494 strategy. Level 0 outputs nothing except a final error
3495 message if conflicts were detected. Level 1 outputs only
3496 conflicts, 2 outputs conflicts and file changes. Level 5 and
3497 above outputs debugging information. The default is level 2.
3498 Can be overridden by the <em>GIT_MERGE_VERBOSITY</em> environment variable.
3499 </p>
3500 </dd>
3501 <dt class="hdlist1">
3502 merge.&lt;driver&gt;.name
3503 </dt>
3504 <dd>
3506 Defines a human-readable name for a custom low-level
3507 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
3508 </p>
3509 </dd>
3510 <dt class="hdlist1">
3511 merge.&lt;driver&gt;.driver
3512 </dt>
3513 <dd>
3515 Defines the command that implements a custom low-level
3516 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
3517 </p>
3518 </dd>
3519 <dt class="hdlist1">
3520 merge.&lt;driver&gt;.recursive
3521 </dt>
3522 <dd>
3524 Names a low-level merge driver to be used when
3525 performing an internal merge between common ancestors.
3526 See <a href="gitattributes.html">gitattributes(5)</a> for details.
3527 </p>
3528 </dd>
3529 <dt class="hdlist1">
3530 mergetool.&lt;tool&gt;.path
3531 </dt>
3532 <dd>
3534 Override the path for the given tool. This is useful in case
3535 your tool is not in the PATH.
3536 </p>
3537 </dd>
3538 <dt class="hdlist1">
3539 mergetool.&lt;tool&gt;.cmd
3540 </dt>
3541 <dd>
3543 Specify the command to invoke the specified merge tool. The
3544 specified command is evaluated in shell with the following
3545 variables available: <em>BASE</em> is the name of a temporary file
3546 containing the common base of the files to be merged, if available;
3547 <em>LOCAL</em> is the name of a temporary file containing the contents of
3548 the file on the current branch; <em>REMOTE</em> is the name of a temporary
3549 file containing the contents of the file from the branch being
3550 merged; <em>MERGED</em> contains the name of the file to which the merge
3551 tool should write the results of a successful merge.
3552 </p>
3553 </dd>
3554 <dt class="hdlist1">
3555 mergetool.&lt;tool&gt;.trustExitCode
3556 </dt>
3557 <dd>
3559 For a custom merge command, specify whether the exit code of
3560 the merge command can be used to determine whether the merge was
3561 successful. If this is not set to true then the merge target file
3562 timestamp is checked and the merge assumed to have been successful
3563 if the file has been updated, otherwise the user is prompted to
3564 indicate the success of the merge.
3565 </p>
3566 </dd>
3567 <dt class="hdlist1">
3568 mergetool.keepBackup
3569 </dt>
3570 <dd>
3572 After performing a merge, the original file with conflict markers
3573 can be saved as a file with a <tt>.orig</tt> extension. If this variable
3574 is set to <tt>false</tt> then this file is not preserved. Defaults to
3575 <tt>true</tt> (i.e. keep the backup files).
3576 </p>
3577 </dd>
3578 <dt class="hdlist1">
3579 mergetool.keepTemporaries
3580 </dt>
3581 <dd>
3583 When invoking a custom merge tool, git uses a set of temporary
3584 files to pass to the tool. If the tool returns an error and this
3585 variable is set to <tt>true</tt>, then these temporary files will be
3586 preserved, otherwise they will be removed after the tool has
3587 exited. Defaults to <tt>false</tt>.
3588 </p>
3589 </dd>
3590 <dt class="hdlist1">
3591 mergetool.prompt
3592 </dt>
3593 <dd>
3595 Prompt before each invocation of the merge resolution program.
3596 </p>
3597 </dd>
3598 <dt class="hdlist1">
3599 notes.displayRef
3600 </dt>
3601 <dd>
3603 The (fully qualified) refname from which to show notes when
3604 showing commit messages. The value of this variable can be set
3605 to a glob, in which case notes from all matching refs will be
3606 shown. You may also specify this configuration variable
3607 several times. A warning will be issued for refs that do not
3608 exist, but a glob that does not match any refs is silently
3609 ignored.
3610 </p>
3611 <div class="paragraph"><p>This setting can be overridden with the <tt>GIT_NOTES_DISPLAY_REF</tt>
3612 environment variable, which must be a colon separated list of refs or
3613 globs.</p></div>
3614 <div class="paragraph"><p>The effective value of "core.notesRef" (possibly overridden by
3615 GIT_NOTES_REF) is also implicitly added to the list of refs to be
3616 displayed.</p></div>
3617 </dd>
3618 <dt class="hdlist1">
3619 notes.rewrite.&lt;command&gt;
3620 </dt>
3621 <dd>
3623 When rewriting commits with &lt;command&gt; (currently <tt>amend</tt> or
3624 <tt>rebase</tt>) and this variable is set to <tt>true</tt>, git
3625 automatically copies your notes from the original to the
3626 rewritten commit. Defaults to <tt>true</tt>, but see
3627 "notes.rewriteRef" below.
3628 </p>
3629 </dd>
3630 <dt class="hdlist1">
3631 notes.rewriteMode
3632 </dt>
3633 <dd>
3635 When copying notes during a rewrite (see the
3636 "notes.rewrite.&lt;command&gt;" option), determines what to do if
3637 the target commit already has a note. Must be one of
3638 <tt>overwrite</tt>, <tt>concatenate</tt>, or <tt>ignore</tt>. Defaults to
3639 <tt>concatenate</tt>.
3640 </p>
3641 <div class="paragraph"><p>This setting can be overridden with the <tt>GIT_NOTES_REWRITE_MODE</tt>
3642 environment variable.</p></div>
3643 </dd>
3644 <dt class="hdlist1">
3645 notes.rewriteRef
3646 </dt>
3647 <dd>
3649 When copying notes during a rewrite, specifies the (fully
3650 qualified) ref whose notes should be copied. The ref may be a
3651 glob, in which case notes in all matching refs will be copied.
3652 You may also specify this configuration several times.
3653 </p>
3654 <div class="paragraph"><p>Does not have a default value; you must configure this variable to
3655 enable note rewriting.</p></div>
3656 <div class="paragraph"><p>This setting can be overridden with the <tt>GIT_NOTES_REWRITE_REF</tt>
3657 environment variable, which must be a colon separated list of refs or
3658 globs.</p></div>
3659 </dd>
3660 <dt class="hdlist1">
3661 pack.window
3662 </dt>
3663 <dd>
3665 The size of the window used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
3666 window size is given on the command line. Defaults to 10.
3667 </p>
3668 </dd>
3669 <dt class="hdlist1">
3670 pack.depth
3671 </dt>
3672 <dd>
3674 The maximum delta depth used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
3675 maximum depth is given on the command line. Defaults to 50.
3676 </p>
3677 </dd>
3678 <dt class="hdlist1">
3679 pack.windowMemory
3680 </dt>
3681 <dd>
3683 The window memory size limit used by <a href="git-pack-objects.html">git-pack-objects(1)</a>
3684 when no limit is given on the command line. The value can be
3685 suffixed with "k", "m", or "g". Defaults to 0, meaning no
3686 limit.
3687 </p>
3688 </dd>
3689 <dt class="hdlist1">
3690 pack.compression
3691 </dt>
3692 <dd>
3694 An integer -1..9, indicating the compression level for objects
3695 in a pack file. -1 is the zlib default. 0 means no
3696 compression, and 1..9 are various speed/size tradeoffs, 9 being
3697 slowest. If not set, defaults to core.compression. If that is
3698 not set, defaults to -1, the zlib default, which is "a default
3699 compromise between speed and compression (currently equivalent
3700 to level 6)."
3701 </p>
3702 <div class="paragraph"><p>Note that changing the compression level will not automatically recompress
3703 all existing objects. You can force recompression by passing the -F option
3704 to <a href="git-repack.html">git-repack(1)</a>.</p></div>
3705 </dd>
3706 <dt class="hdlist1">
3707 pack.deltaCacheSize
3708 </dt>
3709 <dd>
3711 The maximum memory in bytes used for caching deltas in
3712 <a href="git-pack-objects.html">git-pack-objects(1)</a> before writing them out to a pack.
3713 This cache is used to speed up the writing object phase by not
3714 having to recompute the final delta result once the best match
3715 for all objects is found. Repacking large repositories on machines
3716 which are tight with memory might be badly impacted by this though,
3717 especially if this cache pushes the system into swapping.
3718 A value of 0 means no limit. The smallest size of 1 byte may be
3719 used to virtually disable this cache. Defaults to 256 MiB.
3720 </p>
3721 </dd>
3722 <dt class="hdlist1">
3723 pack.deltaCacheLimit
3724 </dt>
3725 <dd>
3727 The maximum size of a delta, that is cached in
3728 <a href="git-pack-objects.html">git-pack-objects(1)</a>. This cache is used to speed up the
3729 writing object phase by not having to recompute the final delta
3730 result once the best match for all objects is found. Defaults to 1000.
3731 </p>
3732 </dd>
3733 <dt class="hdlist1">
3734 pack.threads
3735 </dt>
3736 <dd>
3738 Specifies the number of threads to spawn when searching for best
3739 delta matches. This requires that <a href="git-pack-objects.html">git-pack-objects(1)</a>
3740 be compiled with pthreads otherwise this option is ignored with a
3741 warning. This is meant to reduce packing time on multiprocessor
3742 machines. The required amount of memory for the delta search window
3743 is however multiplied by the number of threads.
3744 Specifying 0 will cause git to auto-detect the number of CPU&#8217;s
3745 and set the number of threads accordingly.
3746 </p>
3747 </dd>
3748 <dt class="hdlist1">
3749 pack.indexVersion
3750 </dt>
3751 <dd>
3753 Specify the default pack index version. Valid values are 1 for
3754 legacy pack index used by Git versions prior to 1.5.2, and 2 for
3755 the new pack index with capabilities for packs larger than 4 GB
3756 as well as proper protection against the repacking of corrupted
3757 packs. Version 2 is the default. Note that version 2 is enforced
3758 and this config option ignored whenever the corresponding pack is
3759 larger than 2 GB.
3760 </p>
3761 <div class="paragraph"><p>If you have an old git that does not understand the version 2 <tt>&#42;.idx</tt> file,
3762 cloning or fetching over a non native protocol (e.g. "http" and "rsync")
3763 that will copy both <tt>&#42;.pack</tt> file and corresponding <tt>&#42;.idx</tt> file from the
3764 other side may give you a repository that cannot be accessed with your
3765 older version of git. If the <tt>&#42;.pack</tt> file is smaller than 2 GB, however,
3766 you can use <a href="git-index-pack.html">git-index-pack(1)</a> on the *.pack file to regenerate
3767 the <tt>&#42;.idx</tt> file.</p></div>
3768 </dd>
3769 <dt class="hdlist1">
3770 pack.packSizeLimit
3771 </dt>
3772 <dd>
3774 The maximum size of a pack. This setting only affects
3775 packing to a file when repacking, i.e. the git:// protocol
3776 is unaffected. It can be overridden by the <tt>--max-pack-size</tt>
3777 option of <a href="git-repack.html">git-repack(1)</a>. The minimum size allowed is
3778 limited to 1 MiB. The default is unlimited.
3779 Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are
3780 supported.
3781 </p>
3782 </dd>
3783 <dt class="hdlist1">
3784 pager.&lt;cmd&gt;
3785 </dt>
3786 <dd>
3788 If the value is boolean, turns on or off pagination of the
3789 output of a particular git subcommand when writing to a tty.
3790 Otherwise, turns on pagination for the subcommand using the
3791 pager specified by the value of <tt>pager.&lt;cmd&gt;</tt>. If <tt>--paginate</tt>
3792 or <tt>--no-pager</tt> is specified on the command line, it takes
3793 precedence over this option. To disable pagination for all
3794 commands, set <tt>core.pager</tt> or <tt>GIT_PAGER</tt> to <tt>cat</tt>.
3795 </p>
3796 </dd>
3797 <dt class="hdlist1">
3798 pretty.&lt;name&gt;
3799 </dt>
3800 <dd>
3802 Alias for a --pretty= format string, as specified in
3803 <a href="git-log.html">git-log(1)</a>. Any aliases defined here can be used just
3804 as the built-in pretty formats could. For example,
3805 running <tt>git config pretty.changelog "format:&#42; %H %s"</tt>
3806 would cause the invocation <tt>git log --pretty=changelog</tt>
3807 to be equivalent to running <tt>git log "--pretty=format:&#42; %H %s"</tt>.
3808 Note that an alias with the same name as a built-in format
3809 will be silently ignored.
3810 </p>
3811 </dd>
3812 <dt class="hdlist1">
3813 pull.octopus
3814 </dt>
3815 <dd>
3817 The default merge strategy to use when pulling multiple branches
3818 at once.
3819 </p>
3820 </dd>
3821 <dt class="hdlist1">
3822 pull.twohead
3823 </dt>
3824 <dd>
3826 The default merge strategy to use when pulling a single branch.
3827 </p>
3828 </dd>
3829 <dt class="hdlist1">
3830 push.default
3831 </dt>
3832 <dd>
3834 Defines the action git push should take if no refspec is given
3835 on the command line, no refspec is configured in the remote, and
3836 no refspec is implied by any of the options given on the command
3837 line. Possible values are:
3838 </p>
3839 <div class="ulist"><ul>
3840 <li>
3842 <tt>nothing</tt> - do not push anything.
3843 </p>
3844 </li>
3845 <li>
3847 <tt>matching</tt> - push all matching branches.
3848 All branches having the same name in both ends are considered to be
3849 matching. This is the default.
3850 </p>
3851 </li>
3852 <li>
3854 <tt>upstream</tt> - push the current branch to its upstream branch.
3855 </p>
3856 </li>
3857 <li>
3859 <tt>tracking</tt> - deprecated synonym for <tt>upstream</tt>.
3860 </p>
3861 </li>
3862 <li>
3864 <tt>current</tt> - push the current branch to a branch of the same name.
3865 </p>
3866 </li>
3867 </ul></div>
3868 </dd>
3869 <dt class="hdlist1">
3870 rebase.stat
3871 </dt>
3872 <dd>
3874 Whether to show a diffstat of what changed upstream since the last
3875 rebase. False by default.
3876 </p>
3877 </dd>
3878 <dt class="hdlist1">
3879 rebase.autosquash
3880 </dt>
3881 <dd>
3883 If set to true enable <em>--autosquash</em> option by default.
3884 </p>
3885 </dd>
3886 <dt class="hdlist1">
3887 receive.autogc
3888 </dt>
3889 <dd>
3891 By default, git-receive-pack will run "git-gc --auto" after
3892 receiving data from git-push and updating refs. You can stop
3893 it by setting this variable to false.
3894 </p>
3895 </dd>
3896 <dt class="hdlist1">
3897 receive.fsckObjects
3898 </dt>
3899 <dd>
3901 If it is set to true, git-receive-pack will check all received
3902 objects. It will abort in the case of a malformed object or a
3903 broken link. The result of an abort are only dangling objects.
3904 Defaults to false.
3905 </p>
3906 </dd>
3907 <dt class="hdlist1">
3908 receive.unpackLimit
3909 </dt>
3910 <dd>
3912 If the number of objects received in a push is below this
3913 limit then the objects will be unpacked into loose object
3914 files. However if the number of received objects equals or
3915 exceeds this limit then the received pack will be stored as
3916 a pack, after adding any missing delta bases. Storing the
3917 pack from a push can make the push operation complete faster,
3918 especially on slow filesystems. If not set, the value of
3919 <tt>transfer.unpackLimit</tt> is used instead.
3920 </p>
3921 </dd>
3922 <dt class="hdlist1">
3923 receive.denyDeletes
3924 </dt>
3925 <dd>
3927 If set to true, git-receive-pack will deny a ref update that deletes
3928 the ref. Use this to prevent such a ref deletion via a push.
3929 </p>
3930 </dd>
3931 <dt class="hdlist1">
3932 receive.denyDeleteCurrent
3933 </dt>
3934 <dd>
3936 If set to true, git-receive-pack will deny a ref update that
3937 deletes the currently checked out branch of a non-bare repository.
3938 </p>
3939 </dd>
3940 <dt class="hdlist1">
3941 receive.denyCurrentBranch
3942 </dt>
3943 <dd>
3945 If set to true or "refuse", git-receive-pack will deny a ref update
3946 to the currently checked out branch of a non-bare repository.
3947 Such a push is potentially dangerous because it brings the HEAD
3948 out of sync with the index and working tree. If set to "warn",
3949 print a warning of such a push to stderr, but allow the push to
3950 proceed. If set to false or "ignore", allow such pushes with no
3951 message. Defaults to "refuse".
3952 </p>
3953 </dd>
3954 <dt class="hdlist1">
3955 receive.denyNonFastForwards
3956 </dt>
3957 <dd>
3959 If set to true, git-receive-pack will deny a ref update which is
3960 not a fast-forward. Use this to prevent such an update via a push,
3961 even if that push is forced. This configuration variable is
3962 set when initializing a shared repository.
3963 </p>
3964 </dd>
3965 <dt class="hdlist1">
3966 receive.updateserverinfo
3967 </dt>
3968 <dd>
3970 If set to true, git-receive-pack will run git-update-server-info
3971 after receiving data from git-push and updating refs.
3972 </p>
3973 </dd>
3974 <dt class="hdlist1">
3975 remote.&lt;name&gt;.url
3976 </dt>
3977 <dd>
3979 The URL of a remote repository. See <a href="git-fetch.html">git-fetch(1)</a> or
3980 <a href="git-push.html">git-push(1)</a>.
3981 </p>
3982 </dd>
3983 <dt class="hdlist1">
3984 remote.&lt;name&gt;.pushurl
3985 </dt>
3986 <dd>
3988 The push URL of a remote repository. See <a href="git-push.html">git-push(1)</a>.
3989 </p>
3990 </dd>
3991 <dt class="hdlist1">
3992 remote.&lt;name&gt;.proxy
3993 </dt>
3994 <dd>
3996 For remotes that require curl (http, https and ftp), the URL to
3997 the proxy to use for that remote. Set to the empty string to
3998 disable proxying for that remote.
3999 </p>
4000 </dd>
4001 <dt class="hdlist1">
4002 remote.&lt;name&gt;.fetch
4003 </dt>
4004 <dd>
4006 The default set of "refspec" for <a href="git-fetch.html">git-fetch(1)</a>. See
4007 <a href="git-fetch.html">git-fetch(1)</a>.
4008 </p>
4009 </dd>
4010 <dt class="hdlist1">
4011 remote.&lt;name&gt;.push
4012 </dt>
4013 <dd>
4015 The default set of "refspec" for <a href="git-push.html">git-push(1)</a>. See
4016 <a href="git-push.html">git-push(1)</a>.
4017 </p>
4018 </dd>
4019 <dt class="hdlist1">
4020 remote.&lt;name&gt;.mirror
4021 </dt>
4022 <dd>
4024 If true, pushing to this remote will automatically behave
4025 as if the <tt>--mirror</tt> option was given on the command line.
4026 </p>
4027 </dd>
4028 <dt class="hdlist1">
4029 remote.&lt;name&gt;.skipDefaultUpdate
4030 </dt>
4031 <dd>
4033 If true, this remote will be skipped by default when updating
4034 using <a href="git-fetch.html">git-fetch(1)</a> or the <tt>update</tt> subcommand of
4035 <a href="git-remote.html">git-remote(1)</a>.
4036 </p>
4037 </dd>
4038 <dt class="hdlist1">
4039 remote.&lt;name&gt;.skipFetchAll
4040 </dt>
4041 <dd>
4043 If true, this remote will be skipped by default when updating
4044 using <a href="git-fetch.html">git-fetch(1)</a> or the <tt>update</tt> subcommand of
4045 <a href="git-remote.html">git-remote(1)</a>.
4046 </p>
4047 </dd>
4048 <dt class="hdlist1">
4049 remote.&lt;name&gt;.receivepack
4050 </dt>
4051 <dd>
4053 The default program to execute on the remote side when pushing. See
4054 option --receive-pack of <a href="git-push.html">git-push(1)</a>.
4055 </p>
4056 </dd>
4057 <dt class="hdlist1">
4058 remote.&lt;name&gt;.uploadpack
4059 </dt>
4060 <dd>
4062 The default program to execute on the remote side when fetching. See
4063 option --upload-pack of <a href="git-fetch-pack.html">git-fetch-pack(1)</a>.
4064 </p>
4065 </dd>
4066 <dt class="hdlist1">
4067 remote.&lt;name&gt;.tagopt
4068 </dt>
4069 <dd>
4071 Setting this value to --no-tags disables automatic tag following when
4072 fetching from remote &lt;name&gt;. Setting it to --tags will fetch every
4073 tag from remote &lt;name&gt;, even if they are not reachable from remote
4074 branch heads. Passing these flags directly to <a href="git-fetch.html">git-fetch(1)</a> can
4075 override this setting. See options --tags and --no-tags of
4076 <a href="git-fetch.html">git-fetch(1)</a>.
4077 </p>
4078 </dd>
4079 <dt class="hdlist1">
4080 remote.&lt;name&gt;.vcs
4081 </dt>
4082 <dd>
4084 Setting this to a value &lt;vcs&gt; will cause git to interact with
4085 the remote with the git-remote-&lt;vcs&gt; helper.
4086 </p>
4087 </dd>
4088 <dt class="hdlist1">
4089 remotes.&lt;group&gt;
4090 </dt>
4091 <dd>
4093 The list of remotes which are fetched by "git remote update
4094 &lt;group&gt;". See <a href="git-remote.html">git-remote(1)</a>.
4095 </p>
4096 </dd>
4097 <dt class="hdlist1">
4098 repack.usedeltabaseoffset
4099 </dt>
4100 <dd>
4102 By default, <a href="git-repack.html">git-repack(1)</a> creates packs that use
4103 delta-base offset. If you need to share your repository with
4104 git older than version 1.4.4, either directly or via a dumb
4105 protocol such as http, then you need to set this option to
4106 "false" and repack. Access from old git versions over the
4107 native protocol are unaffected by this option.
4108 </p>
4109 </dd>
4110 <dt class="hdlist1">
4111 rerere.autoupdate
4112 </dt>
4113 <dd>
4115 When set to true, <tt>git-rerere</tt> updates the index with the
4116 resulting contents after it cleanly resolves conflicts using
4117 previously recorded resolution. Defaults to false.
4118 </p>
4119 </dd>
4120 <dt class="hdlist1">
4121 rerere.enabled
4122 </dt>
4123 <dd>
4125 Activate recording of resolved conflicts, so that identical
4126 conflict hunks can be resolved automatically, should they
4127 be encountered again. <a href="git-rerere.html">git-rerere(1)</a> command is by
4128 default enabled if you create <tt>rr-cache</tt> directory under
4129 <tt>$GIT_DIR</tt>, but can be disabled by setting this option to false.
4130 </p>
4131 </dd>
4132 <dt class="hdlist1">
4133 sendemail.identity
4134 </dt>
4135 <dd>
4137 A configuration identity. When given, causes values in the
4138 <em>sendemail.&lt;identity&gt;</em> subsection to take precedence over
4139 values in the <em>sendemail</em> section. The default identity is
4140 the value of <em>sendemail.identity</em>.
4141 </p>
4142 </dd>
4143 <dt class="hdlist1">
4144 sendemail.smtpencryption
4145 </dt>
4146 <dd>
4148 See <a href="git-send-email.html">git-send-email(1)</a> for description. Note that this
4149 setting is not subject to the <em>identity</em> mechanism.
4150 </p>
4151 </dd>
4152 <dt class="hdlist1">
4153 sendemail.smtpssl
4154 </dt>
4155 <dd>
4157 Deprecated alias for <em>sendemail.smtpencryption = ssl</em>.
4158 </p>
4159 </dd>
4160 <dt class="hdlist1">
4161 sendemail.&lt;identity&gt;.*
4162 </dt>
4163 <dd>
4165 Identity-specific versions of the <em>sendemail.*</em> parameters
4166 found below, taking precedence over those when the this
4167 identity is selected, through command-line or
4168 <em>sendemail.identity</em>.
4169 </p>
4170 </dd>
4171 <dt class="hdlist1">
4172 sendemail.aliasesfile
4173 </dt>
4174 <dt class="hdlist1">
4175 sendemail.aliasfiletype
4176 </dt>
4177 <dt class="hdlist1">
4178 sendemail.bcc
4179 </dt>
4180 <dt class="hdlist1">
4181 sendemail.cc
4182 </dt>
4183 <dt class="hdlist1">
4184 sendemail.cccmd
4185 </dt>
4186 <dt class="hdlist1">
4187 sendemail.chainreplyto
4188 </dt>
4189 <dt class="hdlist1">
4190 sendemail.confirm
4191 </dt>
4192 <dt class="hdlist1">
4193 sendemail.envelopesender
4194 </dt>
4195 <dt class="hdlist1">
4196 sendemail.from
4197 </dt>
4198 <dt class="hdlist1">
4199 sendemail.multiedit
4200 </dt>
4201 <dt class="hdlist1">
4202 sendemail.signedoffbycc
4203 </dt>
4204 <dt class="hdlist1">
4205 sendemail.smtppass
4206 </dt>
4207 <dt class="hdlist1">
4208 sendemail.suppresscc
4209 </dt>
4210 <dt class="hdlist1">
4211 sendemail.suppressfrom
4212 </dt>
4213 <dt class="hdlist1">
4214 sendemail.to
4215 </dt>
4216 <dt class="hdlist1">
4217 sendemail.smtpdomain
4218 </dt>
4219 <dt class="hdlist1">
4220 sendemail.smtpserver
4221 </dt>
4222 <dt class="hdlist1">
4223 sendemail.smtpserverport
4224 </dt>
4225 <dt class="hdlist1">
4226 sendemail.smtpserveroption
4227 </dt>
4228 <dt class="hdlist1">
4229 sendemail.smtpuser
4230 </dt>
4231 <dt class="hdlist1">
4232 sendemail.thread
4233 </dt>
4234 <dt class="hdlist1">
4235 sendemail.validate
4236 </dt>
4237 <dd>
4239 See <a href="git-send-email.html">git-send-email(1)</a> for description.
4240 </p>
4241 </dd>
4242 <dt class="hdlist1">
4243 sendemail.signedoffcc
4244 </dt>
4245 <dd>
4247 Deprecated alias for <em>sendemail.signedoffbycc</em>.
4248 </p>
4249 </dd>
4250 <dt class="hdlist1">
4251 showbranch.default
4252 </dt>
4253 <dd>
4255 The default set of branches for <a href="git-show-branch.html">git-show-branch(1)</a>.
4256 See <a href="git-show-branch.html">git-show-branch(1)</a>.
4257 </p>
4258 </dd>
4259 <dt class="hdlist1">
4260 status.relativePaths
4261 </dt>
4262 <dd>
4264 By default, <a href="git-status.html">git-status(1)</a> shows paths relative to the
4265 current directory. Setting this variable to <tt>false</tt> shows paths
4266 relative to the repository root (this was the default for git
4267 prior to v1.5.4).
4268 </p>
4269 </dd>
4270 <dt class="hdlist1">
4271 status.showUntrackedFiles
4272 </dt>
4273 <dd>
4275 By default, <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a> show
4276 files which are not currently tracked by Git. Directories which
4277 contain only untracked files, are shown with the directory name
4278 only. Showing untracked files means that Git needs to lstat() all
4279 all the files in the whole repository, which might be slow on some
4280 systems. So, this variable controls how the commands displays
4281 the untracked files. Possible values are:
4282 </p>
4283 <div class="ulist"><ul>
4284 <li>
4286 <tt>no</tt> - Show no untracked files.
4287 </p>
4288 </li>
4289 <li>
4291 <tt>normal</tt> - Show untracked files and directories.
4292 </p>
4293 </li>
4294 <li>
4296 <tt>all</tt> - Show also individual files in untracked directories.
4297 </p>
4298 </li>
4299 </ul></div>
4300 <div class="paragraph"><p>If this variable is not specified, it defaults to <em>normal</em>.
4301 This variable can be overridden with the -u|--untracked-files option
4302 of <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a>.</p></div>
4303 </dd>
4304 <dt class="hdlist1">
4305 status.submodulesummary
4306 </dt>
4307 <dd>
4309 Defaults to false.
4310 If this is set to a non zero number or true (identical to -1 or an
4311 unlimited number), the submodule summary will be enabled and a
4312 summary of commits for modified submodules will be shown (see
4313 --summary-limit option of <a href="git-submodule.html">git-submodule(1)</a>).
4314 </p>
4315 </dd>
4316 <dt class="hdlist1">
4317 submodule.&lt;name&gt;.path
4318 </dt>
4319 <dt class="hdlist1">
4320 submodule.&lt;name&gt;.url
4321 </dt>
4322 <dt class="hdlist1">
4323 submodule.&lt;name&gt;.update
4324 </dt>
4325 <dd>
4327 The path within this project, URL, and the updating strategy
4328 for a submodule. These variables are initially populated
4329 by <em>git submodule init</em>; edit them to override the
4330 URL and other values found in the <tt>.gitmodules</tt> file. See
4331 <a href="git-submodule.html">git-submodule(1)</a> and <a href="gitmodules.html">gitmodules(5)</a> for details.
4332 </p>
4333 </dd>
4334 <dt class="hdlist1">
4335 submodule.&lt;name&gt;.fetchRecurseSubmodules
4336 </dt>
4337 <dd>
4339 This option can be used to control recursive fetching of this
4340 submodule. It can be overridden by using the --[no-]recurse-submodules
4341 command line option to "git fetch" and "git pull".
4342 This setting will override that from in the <a href="gitmodules.html">gitmodules(5)</a>
4343 file.
4344 </p>
4345 </dd>
4346 <dt class="hdlist1">
4347 submodule.&lt;name&gt;.ignore
4348 </dt>
4349 <dd>
4351 Defines under what circumstances "git status" and the diff family show
4352 a submodule as modified. When set to "all", it will never be considered
4353 modified, "dirty" will ignore all changes to the submodules work tree and
4354 takes only differences between the HEAD of the submodule and the commit
4355 recorded in the superproject into account. "untracked" will additionally
4356 let submodules with modified tracked files in their work tree show up.
4357 Using "none" (the default when this option is not set) also shows
4358 submodules that have untracked files in their work tree as changed.
4359 This setting overrides any setting made in .gitmodules for this submodule,
4360 both settings can be overridden on the command line by using the
4361 "--ignore-submodules" option.
4362 </p>
4363 </dd>
4364 <dt class="hdlist1">
4365 tar.umask
4366 </dt>
4367 <dd>
4369 This variable can be used to restrict the permission bits of
4370 tar archive entries. The default is 0002, which turns off the
4371 world write bit. The special value "user" indicates that the
4372 archiving user&#8217;s umask will be used instead. See umask(2) and
4373 <a href="git-archive.html">git-archive(1)</a>.
4374 </p>
4375 </dd>
4376 <dt class="hdlist1">
4377 transfer.unpackLimit
4378 </dt>
4379 <dd>
4381 When <tt>fetch.unpackLimit</tt> or <tt>receive.unpackLimit</tt> are
4382 not set, the value of this variable is used instead.
4383 The default value is 100.
4384 </p>
4385 </dd>
4386 <dt class="hdlist1">
4387 url.&lt;base&gt;.insteadOf
4388 </dt>
4389 <dd>
4391 Any URL that starts with this value will be rewritten to
4392 start, instead, with &lt;base&gt;. In cases where some site serves a
4393 large number of repositories, and serves them with multiple
4394 access methods, and some users need to use different access
4395 methods, this feature allows people to specify any of the
4396 equivalent URLs and have git automatically rewrite the URL to
4397 the best alternative for the particular user, even for a
4398 never-before-seen repository on the site. When more than one
4399 insteadOf strings match a given URL, the longest match is used.
4400 </p>
4401 </dd>
4402 <dt class="hdlist1">
4403 url.&lt;base&gt;.pushInsteadOf
4404 </dt>
4405 <dd>
4407 Any URL that starts with this value will not be pushed to;
4408 instead, it will be rewritten to start with &lt;base&gt;, and the
4409 resulting URL will be pushed to. In cases where some site serves
4410 a large number of repositories, and serves them with multiple
4411 access methods, some of which do not allow push, this feature
4412 allows people to specify a pull-only URL and have git
4413 automatically use an appropriate URL to push, even for a
4414 never-before-seen repository on the site. When more than one
4415 pushInsteadOf strings match a given URL, the longest match is
4416 used. If a remote has an explicit pushurl, git will ignore this
4417 setting for that remote.
4418 </p>
4419 </dd>
4420 <dt class="hdlist1">
4421 user.email
4422 </dt>
4423 <dd>
4425 Your email address to be recorded in any newly created commits.
4426 Can be overridden by the <em>GIT_AUTHOR_EMAIL</em>, <em>GIT_COMMITTER_EMAIL</em>, and
4427 <em>EMAIL</em> environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
4428 </p>
4429 </dd>
4430 <dt class="hdlist1">
4431 user.name
4432 </dt>
4433 <dd>
4435 Your full name to be recorded in any newly created commits.
4436 Can be overridden by the <em>GIT_AUTHOR_NAME</em> and <em>GIT_COMMITTER_NAME</em>
4437 environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
4438 </p>
4439 </dd>
4440 <dt class="hdlist1">
4441 user.signingkey
4442 </dt>
4443 <dd>
4445 If <a href="git-tag.html">git-tag(1)</a> is not selecting the key you want it to
4446 automatically when creating a signed tag, you can override the
4447 default selection with this variable. This option is passed
4448 unchanged to gpg&#8217;s --local-user parameter, so you may specify a key
4449 using any method that gpg supports.
4450 </p>
4451 </dd>
4452 <dt class="hdlist1">
4453 web.browser
4454 </dt>
4455 <dd>
4457 Specify a web browser that may be used by some commands.
4458 Currently only <a href="git-instaweb.html">git-instaweb(1)</a> and <a href="git-help.html">git-help(1)</a>
4459 may use it.
4460 </p>
4461 </dd>
4462 </dl></div>
4463 </div>
4464 <h2 id="_git">GIT</h2>
4465 <div class="sectionbody">
4466 <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
4467 </div>
4468 <div id="footer">
4469 <div id="footer-text">
4470 Last updated 2011-03-15 23:30:13 UTC
4471 </div>
4472 </div>
4473 </body>
4474 </html>