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