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