Autogenerated HTML docs for v1.7.4-rc2
[git/jnareb-git.git] / git-config.html
blob432c6af7681e97f672c5ff96a0544a2774eaa1d6
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 0/1, 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 working tree. The value will not be
1290 used in combination with repositories found automatically in
1291 a .git directory (i.e. $GIT_DIR is not set).
1292 This can be overridden by the GIT_WORK_TREE environment
1293 variable and the <em>--work-tree</em> command line option. It can be
1294 an absolute path or relative path to the directory specified by
1295 --git-dir or GIT_DIR.
1296 Note: If --git-dir or GIT_DIR are specified but none of
1297 --work-tree, GIT_WORK_TREE and core.worktree is specified,
1298 the current working directory is regarded as the top directory
1299 of your working tree.
1300 </p>
1301 </dd>
1302 <dt class="hdlist1">
1303 core.logAllRefUpdates
1304 </dt>
1305 <dd>
1307 Enable the reflog. Updates to a ref &lt;ref&gt; is logged to the file
1308 "$GIT_DIR/logs/&lt;ref&gt;", by appending the new and old
1309 SHA1, the date/time and the reason of the update, but
1310 only when the file exists. If this configuration
1311 variable is set to true, missing "$GIT_DIR/logs/&lt;ref&gt;"
1312 file is automatically created for branch heads.
1313 </p>
1314 <div class="paragraph"><p>This information can be used to determine what commit
1315 was the tip of a branch "2 days ago".</p></div>
1316 <div class="paragraph"><p>This value is true by default in a repository that has
1317 a working directory associated with it, and false by
1318 default in a bare repository.</p></div>
1319 </dd>
1320 <dt class="hdlist1">
1321 core.repositoryFormatVersion
1322 </dt>
1323 <dd>
1325 Internal variable identifying the repository format and layout
1326 version.
1327 </p>
1328 </dd>
1329 <dt class="hdlist1">
1330 core.sharedRepository
1331 </dt>
1332 <dd>
1334 When <em>group</em> (or <em>true</em>), the repository is made shareable between
1335 several users in a group (making sure all the files and objects are
1336 group-writable). When <em>all</em> (or <em>world</em> or <em>everybody</em>), the
1337 repository will be readable by all users, additionally to being
1338 group-shareable. When <em>umask</em> (or <em>false</em>), git will use permissions
1339 reported by umask(2). When <em>0xxx</em>, where <em>0xxx</em> is an octal number,
1340 files in the repository will have this mode value. <em>0xxx</em> will override
1341 user&#8217;s umask value (whereas the other options will only override
1342 requested parts of the user&#8217;s umask value). Examples: <em>0660</em> will make
1343 the repo read/write-able for the owner and group, but inaccessible to
1344 others (equivalent to <em>group</em> unless umask is e.g. <em>0022</em>). <em>0640</em> is a
1345 repository that is group-readable but not group-writable.
1346 See <a href="git-init.html">git-init(1)</a>. False by default.
1347 </p>
1348 </dd>
1349 <dt class="hdlist1">
1350 core.warnAmbiguousRefs
1351 </dt>
1352 <dd>
1354 If true, git will warn you if the ref name you passed it is ambiguous
1355 and might match multiple refs in the .git/refs/ tree. True by default.
1356 </p>
1357 </dd>
1358 <dt class="hdlist1">
1359 core.abbrevguard
1360 </dt>
1361 <dd>
1363 Even though git makes sure that it uses enough hexdigits to show
1364 an abbreviated object name unambiguously, as more objects are
1365 added to the repository over time, a short name that used to be
1366 unique will stop being unique. Git uses this many extra hexdigits
1367 that are more than necessary to make the object name currently
1368 unique, in the hope that its output will stay unique a bit longer.
1369 Defaults to 0.
1370 </p>
1371 </dd>
1372 <dt class="hdlist1">
1373 core.compression
1374 </dt>
1375 <dd>
1377 An integer -1..9, indicating a default compression level.
1378 -1 is the zlib default. 0 means no compression,
1379 and 1..9 are various speed/size tradeoffs, 9 being slowest.
1380 If set, this provides a default to other compression variables,
1381 such as <em>core.loosecompression</em> and <em>pack.compression</em>.
1382 </p>
1383 </dd>
1384 <dt class="hdlist1">
1385 core.loosecompression
1386 </dt>
1387 <dd>
1389 An integer -1..9, indicating the compression level for objects that
1390 are not in a pack file. -1 is the zlib default. 0 means no
1391 compression, and 1..9 are various speed/size tradeoffs, 9 being
1392 slowest. If not set, defaults to core.compression. If that is
1393 not set, defaults to 1 (best speed).
1394 </p>
1395 </dd>
1396 <dt class="hdlist1">
1397 core.packedGitWindowSize
1398 </dt>
1399 <dd>
1401 Number of bytes of a pack file to map into memory in a
1402 single mapping operation. Larger window sizes may allow
1403 your system to process a smaller number of large pack files
1404 more quickly. Smaller window sizes will negatively affect
1405 performance due to increased calls to the operating system&#8217;s
1406 memory manager, but may improve performance when accessing
1407 a large number of large pack files.
1408 </p>
1409 <div class="paragraph"><p>Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32
1410 MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should
1411 be reasonable for all users/operating systems. You probably do
1412 not need to adjust this value.</p></div>
1413 <div class="paragraph"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
1414 </dd>
1415 <dt class="hdlist1">
1416 core.packedGitLimit
1417 </dt>
1418 <dd>
1420 Maximum number of bytes to map simultaneously into memory
1421 from pack files. If Git needs to access more than this many
1422 bytes at once to complete an operation it will unmap existing
1423 regions to reclaim virtual address space within the process.
1424 </p>
1425 <div class="paragraph"><p>Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit platforms.
1426 This should be reasonable for all users/operating systems, except on
1427 the largest projects. You probably do not need to adjust this value.</p></div>
1428 <div class="paragraph"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
1429 </dd>
1430 <dt class="hdlist1">
1431 core.deltaBaseCacheLimit
1432 </dt>
1433 <dd>
1435 Maximum number of bytes to reserve for caching base objects
1436 that may be referenced by multiple deltified objects. By storing the
1437 entire decompressed base objects in a cache Git is able
1438 to avoid unpacking and decompressing frequently used base
1439 objects multiple times.
1440 </p>
1441 <div class="paragraph"><p>Default is 16 MiB on all platforms. This should be reasonable
1442 for all users/operating systems, except on the largest projects.
1443 You probably do not need to adjust this value.</p></div>
1444 <div class="paragraph"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
1445 </dd>
1446 <dt class="hdlist1">
1447 core.bigFileThreshold
1448 </dt>
1449 <dd>
1451 Files larger than this size are stored deflated, without
1452 attempting delta compression. Storing large files without
1453 delta compression avoids excessive memory usage, at the
1454 slight expense of increased disk usage.
1455 </p>
1456 <div class="paragraph"><p>Default is 512 MiB on all platforms. This should be reasonable
1457 for most projects as source code and other text files can still
1458 be delta compressed, but larger binary media files won&#8217;t be.</p></div>
1459 <div class="paragraph"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
1460 <div class="paragraph"><p>Currently only <a href="git-fast-import.html">git-fast-import(1)</a> honors this setting.</p></div>
1461 </dd>
1462 <dt class="hdlist1">
1463 core.excludesfile
1464 </dt>
1465 <dd>
1467 In addition to <em>.gitignore</em> (per-directory) and
1468 <em>.git/info/exclude</em>, git looks into this file for patterns
1469 of files which are not meant to be tracked. "&#126;/" is expanded
1470 to the value of <tt>$HOME</tt> and "&#126;user/" to the specified user&#8217;s
1471 home directory. See <a href="gitignore.html">gitignore(5)</a>.
1472 </p>
1473 </dd>
1474 <dt class="hdlist1">
1475 core.askpass
1476 </dt>
1477 <dd>
1479 Some commands (e.g. svn and http interfaces) that interactively
1480 ask for a password can be told to use an external program given
1481 via the value of this variable. Can be overridden by the <em>GIT_ASKPASS</em>
1482 environment variable. If not set, fall back to the value of the
1483 <em>SSH_ASKPASS</em> environment variable or, failing that, a simple password
1484 prompt. The external program shall be given a suitable prompt as
1485 command line argument and write the password on its STDOUT.
1486 </p>
1487 </dd>
1488 <dt class="hdlist1">
1489 core.attributesfile
1490 </dt>
1491 <dd>
1493 In addition to <em>.gitattributes</em> (per-directory) and
1494 <em>.git/info/attributes</em>, git looks into this file for attributes
1495 (see <a href="gitattributes.html">gitattributes(5)</a>). Path expansions are made the same
1496 way as for <tt>core.excludesfile</tt>.
1497 </p>
1498 </dd>
1499 <dt class="hdlist1">
1500 core.editor
1501 </dt>
1502 <dd>
1504 Commands such as <tt>commit</tt> and <tt>tag</tt> that lets you edit
1505 messages by launching an editor uses the value of this
1506 variable when it is set, and the environment variable
1507 <tt>GIT_EDITOR</tt> is not set. See <a href="git-var.html">git-var(1)</a>.
1508 </p>
1509 </dd>
1510 <dt class="hdlist1">
1511 core.pager
1512 </dt>
1513 <dd>
1515 The command that git will use to paginate output. Can
1516 be overridden with the <tt>GIT_PAGER</tt> environment
1517 variable. Note that git sets the <tt>LESS</tt> environment
1518 variable to <tt>FRSX</tt> if it is unset when it runs the
1519 pager. One can change these settings by setting the
1520 <tt>LESS</tt> variable to some other value. Alternately,
1521 these settings can be overridden on a project or
1522 global basis by setting the <tt>core.pager</tt> option.
1523 Setting <tt>core.pager</tt> has no affect on the <tt>LESS</tt>
1524 environment variable behaviour above, so if you want
1525 to override git&#8217;s default settings this way, you need
1526 to be explicit. For example, to disable the S option
1527 in a backward compatible manner, set <tt>core.pager</tt>
1528 to <tt>less -+$LESS -FRX</tt>. This will be passed to the
1529 shell by git, which will translate the final command to
1530 <tt>LESS=FRSX less -+FRSX -FRX</tt>.
1531 </p>
1532 </dd>
1533 <dt class="hdlist1">
1534 core.whitespace
1535 </dt>
1536 <dd>
1538 A comma separated list of common whitespace problems to
1539 notice. <em>git diff</em> will use <tt>color.diff.whitespace</tt> to
1540 highlight them, and <em>git apply --whitespace=error</em> will
1541 consider them as errors. You can prefix <tt>-</tt> to disable
1542 any of them (e.g. <tt>-trailing-space</tt>):
1543 </p>
1544 <div class="ulist"><ul>
1545 <li>
1547 <tt>blank-at-eol</tt> treats trailing whitespaces at the end of the line
1548 as an error (enabled by default).
1549 </p>
1550 </li>
1551 <li>
1553 <tt>space-before-tab</tt> treats a space character that appears immediately
1554 before a tab character in the initial indent part of the line as an
1555 error (enabled by default).
1556 </p>
1557 </li>
1558 <li>
1560 <tt>indent-with-non-tab</tt> treats a line that is indented with 8 or more
1561 space characters as an error (not enabled by default).
1562 </p>
1563 </li>
1564 <li>
1566 <tt>tab-in-indent</tt> treats a tab character in the initial indent part of
1567 the line as an error (not enabled by default).
1568 </p>
1569 </li>
1570 <li>
1572 <tt>blank-at-eof</tt> treats blank lines added at the end of file as an error
1573 (enabled by default).
1574 </p>
1575 </li>
1576 <li>
1578 <tt>trailing-space</tt> is a short-hand to cover both <tt>blank-at-eol</tt> and
1579 <tt>blank-at-eof</tt>.
1580 </p>
1581 </li>
1582 <li>
1584 <tt>cr-at-eol</tt> treats a carriage-return at the end of line as
1585 part of the line terminator, i.e. with it, <tt>trailing-space</tt>
1586 does not trigger if the character before such a carriage-return
1587 is not a whitespace (not enabled by default).
1588 </p>
1589 </li>
1590 <li>
1592 <tt>tabwidth=&lt;n&gt;</tt> tells how many character positions a tab occupies; this
1593 is relevant for <tt>indent-with-non-tab</tt> and when git fixes <tt>tab-in-indent</tt>
1594 errors. The default tab width is 8. Allowed values are 1 to 63.
1595 </p>
1596 </li>
1597 </ul></div>
1598 </dd>
1599 <dt class="hdlist1">
1600 core.fsyncobjectfiles
1601 </dt>
1602 <dd>
1604 This boolean will enable <em>fsync()</em> when writing object files.
1605 </p>
1606 <div class="paragraph"><p>This is a total waste of time and effort on a filesystem that orders
1607 data writes properly, but can be useful for filesystems that do not use
1608 journalling (traditional UNIX filesystems) or that only journal metadata
1609 and not file contents (OS X&#8217;s HFS+, or Linux ext3 with "data=writeback").</p></div>
1610 </dd>
1611 <dt class="hdlist1">
1612 core.preloadindex
1613 </dt>
1614 <dd>
1616 Enable parallel index preload for operations like <em>git diff</em>
1617 </p>
1618 <div class="paragraph"><p>This can speed up operations like <em>git diff</em> and <em>git status</em> especially
1619 on filesystems like NFS that have weak caching semantics and thus
1620 relatively high IO latencies. With this set to <em>true</em>, git will do the
1621 index comparison to the filesystem data in parallel, allowing
1622 overlapping IO&#8217;s.</p></div>
1623 </dd>
1624 <dt class="hdlist1">
1625 core.createObject
1626 </dt>
1627 <dd>
1629 You can set this to <em>link</em>, in which case a hardlink followed by
1630 a delete of the source are used to make sure that object creation
1631 will not overwrite existing objects.
1632 </p>
1633 <div class="paragraph"><p>On some file system/operating system combinations, this is unreliable.
1634 Set this config setting to <em>rename</em> there; However, This will remove the
1635 check that makes sure that existing object files will not get overwritten.</p></div>
1636 </dd>
1637 <dt class="hdlist1">
1638 core.notesRef
1639 </dt>
1640 <dd>
1642 When showing commit messages, also show notes which are stored in
1643 the given ref. The ref must be fully qualified. If the given
1644 ref does not exist, it is not an error but means that no
1645 notes should be printed.
1646 </p>
1647 <div class="paragraph"><p>This setting defaults to "refs/notes/commits", and it can be overridden by
1648 the <em>GIT_NOTES_REF</em> environment variable. See <a href="git-notes.html">git-notes(1)</a>.</p></div>
1649 </dd>
1650 <dt class="hdlist1">
1651 core.sparseCheckout
1652 </dt>
1653 <dd>
1655 Enable "sparse checkout" feature. See section "Sparse checkout" in
1656 <a href="git-read-tree.html">git-read-tree(1)</a> for more information.
1657 </p>
1658 </dd>
1659 <dt class="hdlist1">
1660 add.ignore-errors
1661 </dt>
1662 <dt class="hdlist1">
1663 add.ignoreErrors
1664 </dt>
1665 <dd>
1667 Tells <em>git add</em> to continue adding files when some files cannot be
1668 added due to indexing errors. Equivalent to the <em>--ignore-errors</em>
1669 option of <a href="git-add.html">git-add(1)</a>. Older versions of git accept only
1670 <tt>add.ignore-errors</tt>, which does not follow the usual naming
1671 convention for configuration variables. Newer versions of git
1672 honor <tt>add.ignoreErrors</tt> as well.
1673 </p>
1674 </dd>
1675 <dt class="hdlist1">
1676 alias.*
1677 </dt>
1678 <dd>
1680 Command aliases for the <a href="git.html">git(1)</a> command wrapper - e.g.
1681 after defining "alias.last = cat-file commit HEAD", the invocation
1682 "git last" is equivalent to "git cat-file commit HEAD". To avoid
1683 confusion and troubles with script usage, aliases that
1684 hide existing git commands are ignored. Arguments are split by
1685 spaces, the usual shell quoting and escaping is supported.
1686 quote pair and a backslash can be used to quote them.
1687 </p>
1688 <div class="paragraph"><p>If the alias expansion is prefixed with an exclamation point,
1689 it will be treated as a shell command. For example, defining
1690 "alias.new = !gitk --all --not ORIG_HEAD", the invocation
1691 "git new" is equivalent to running the shell command
1692 "gitk --all --not ORIG_HEAD". Note that shell commands will be
1693 executed from the top-level directory of a repository, which may
1694 not necessarily be the current directory.</p></div>
1695 </dd>
1696 <dt class="hdlist1">
1697 am.keepcr
1698 </dt>
1699 <dd>
1701 If true, git-am will call git-mailsplit for patches in mbox format
1702 with parameter <em>--keep-cr</em>. In this case git-mailsplit will
1703 not remove <tt>\r</tt> from lines ending with <tt>\r\n</tt>. Can be overridden
1704 by giving <em>--no-keep-cr</em> from the command line.
1705 See <a href="git-am.html">git-am(1)</a>, <a href="git-mailsplit.html">git-mailsplit(1)</a>.
1706 </p>
1707 </dd>
1708 <dt class="hdlist1">
1709 apply.ignorewhitespace
1710 </dt>
1711 <dd>
1713 When set to <em>change</em>, tells <em>git apply</em> to ignore changes in
1714 whitespace, in the same way as the <em>--ignore-space-change</em>
1715 option.
1716 When set to one of: no, none, never, false tells <em>git apply</em> to
1717 respect all whitespace differences.
1718 See <a href="git-apply.html">git-apply(1)</a>.
1719 </p>
1720 </dd>
1721 <dt class="hdlist1">
1722 apply.whitespace
1723 </dt>
1724 <dd>
1726 Tells <em>git apply</em> how to handle whitespaces, in the same way
1727 as the <em>--whitespace</em> option. See <a href="git-apply.html">git-apply(1)</a>.
1728 </p>
1729 </dd>
1730 <dt class="hdlist1">
1731 branch.autosetupmerge
1732 </dt>
1733 <dd>
1735 Tells <em>git branch</em> and <em>git checkout</em> to set up new branches
1736 so that <a href="git-pull.html">git-pull(1)</a> will appropriately merge from the
1737 starting point branch. Note that even if this option is not set,
1738 this behavior can be chosen per-branch using the <tt>--track</tt>
1739 and <tt>--no-track</tt> options. The valid settings are: <tt>false</tt>&#8201;&#8212;&#8201;no
1740 automatic setup is done; <tt>true</tt>&#8201;&#8212;&#8201;automatic setup is done when the
1741 starting point is a remote-tracking branch; <tt>always</tt>&#8201;&#8212;&#8201; automatic setup is done when the starting point is either a
1742 local branch or remote-tracking
1743 branch. This option defaults to true.
1744 </p>
1745 </dd>
1746 <dt class="hdlist1">
1747 branch.autosetuprebase
1748 </dt>
1749 <dd>
1751 When a new branch is created with <em>git branch</em> or <em>git checkout</em>
1752 that tracks another branch, this variable tells git to set
1753 up pull to rebase instead of merge (see "branch.&lt;name&gt;.rebase").
1754 When <tt>never</tt>, rebase is never automatically set to true.
1755 When <tt>local</tt>, rebase is set to true for tracked branches of
1756 other local branches.
1757 When <tt>remote</tt>, rebase is set to true for tracked branches of
1758 remote-tracking branches.
1759 When <tt>always</tt>, rebase will be set to true for all tracking
1760 branches.
1761 See "branch.autosetupmerge" for details on how to set up a
1762 branch to track another branch.
1763 This option defaults to never.
1764 </p>
1765 </dd>
1766 <dt class="hdlist1">
1767 branch.&lt;name&gt;.remote
1768 </dt>
1769 <dd>
1771 When in branch &lt;name&gt;, it tells <em>git fetch</em> and <em>git push</em> which
1772 remote to fetch from/push to. It defaults to <tt>origin</tt> if no remote is
1773 configured. <tt>origin</tt> is also used if you are not on any branch.
1774 </p>
1775 </dd>
1776 <dt class="hdlist1">
1777 branch.&lt;name&gt;.merge
1778 </dt>
1779 <dd>
1781 Defines, together with branch.&lt;name&gt;.remote, the upstream branch
1782 for the given branch. It tells <em>git fetch</em>/<em>git pull</em> which
1783 branch to merge and can also affect <em>git push</em> (see push.default).
1784 When in branch &lt;name&gt;, it tells <em>git fetch</em> the default
1785 refspec to be marked for merging in FETCH_HEAD. The value is
1786 handled like the remote part of a refspec, and must match a
1787 ref which is fetched from the remote given by
1788 "branch.&lt;name&gt;.remote".
1789 The merge information is used by <em>git pull</em> (which at first calls
1790 <em>git fetch</em>) to lookup the default branch for merging. Without
1791 this option, <em>git pull</em> defaults to merge the first refspec fetched.
1792 Specify multiple values to get an octopus merge.
1793 If you wish to setup <em>git pull</em> so that it merges into &lt;name&gt; from
1794 another branch in the local repository, you can point
1795 branch.&lt;name&gt;.merge to the desired branch, and use the special setting
1796 <tt>.</tt> (a period) for branch.&lt;name&gt;.remote.
1797 </p>
1798 </dd>
1799 <dt class="hdlist1">
1800 branch.&lt;name&gt;.mergeoptions
1801 </dt>
1802 <dd>
1804 Sets default options for merging into branch &lt;name&gt;. The syntax and
1805 supported options are the same as those of <a href="git-merge.html">git-merge(1)</a>, but
1806 option values containing whitespace characters are currently not
1807 supported.
1808 </p>
1809 </dd>
1810 <dt class="hdlist1">
1811 branch.&lt;name&gt;.rebase
1812 </dt>
1813 <dd>
1815 When true, rebase the branch &lt;name&gt; on top of the fetched branch,
1816 instead of merging the default branch from the default remote when
1817 "git pull" is run.
1818 <strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use
1819 it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a>
1820 for details).
1821 </p>
1822 </dd>
1823 <dt class="hdlist1">
1824 browser.&lt;tool&gt;.cmd
1825 </dt>
1826 <dd>
1828 Specify the command to invoke the specified browser. The
1829 specified command is evaluated in shell with the URLs passed
1830 as arguments. (See <a href="git-web&#8212;browse.html">git-web&#8212;browse(1)</a>.)
1831 </p>
1832 </dd>
1833 <dt class="hdlist1">
1834 browser.&lt;tool&gt;.path
1835 </dt>
1836 <dd>
1838 Override the path for the given tool that may be used to
1839 browse HTML help (see <em>-w</em> option in <a href="git-help.html">git-help(1)</a>) or a
1840 working repository in gitweb (see <a href="git-instaweb.html">git-instaweb(1)</a>).
1841 </p>
1842 </dd>
1843 <dt class="hdlist1">
1844 clean.requireForce
1845 </dt>
1846 <dd>
1848 A boolean to make git-clean do nothing unless given -f
1849 or -n. Defaults to true.
1850 </p>
1851 </dd>
1852 <dt class="hdlist1">
1853 color.branch
1854 </dt>
1855 <dd>
1857 A boolean to enable/disable color in the output of
1858 <a href="git-branch.html">git-branch(1)</a>. May be set to <tt>always</tt>,
1859 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used
1860 only when the output is to a terminal. Defaults to false.
1861 </p>
1862 </dd>
1863 <dt class="hdlist1">
1864 color.branch.&lt;slot&gt;
1865 </dt>
1866 <dd>
1868 Use customized color for branch coloration. <tt>&lt;slot&gt;</tt> is one of
1869 <tt>current</tt> (the current branch), <tt>local</tt> (a local branch),
1870 <tt>remote</tt> (a remote-tracking branch in refs/remotes/), <tt>plain</tt> (other
1871 refs).
1872 </p>
1873 <div class="paragraph"><p>The value for these configuration variables is a list of colors (at most
1874 two) and attributes (at most one), separated by spaces. The colors
1875 accepted are <tt>normal</tt>, <tt>black</tt>, <tt>red</tt>, <tt>green</tt>, <tt>yellow</tt>, <tt>blue</tt>,
1876 <tt>magenta</tt>, <tt>cyan</tt> and <tt>white</tt>; the attributes are <tt>bold</tt>, <tt>dim</tt>, <tt>ul</tt>,
1877 <tt>blink</tt> and <tt>reverse</tt>. The first color given is the foreground; the
1878 second is the background. The position of the attribute, if any,
1879 doesn&#8217;t matter.</p></div>
1880 </dd>
1881 <dt class="hdlist1">
1882 color.diff
1883 </dt>
1884 <dd>
1886 When set to <tt>always</tt>, always use colors in patch.
1887 When false (or <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use
1888 colors only when the output is to the terminal. Defaults to false.
1889 </p>
1890 </dd>
1891 <dt class="hdlist1">
1892 color.diff.&lt;slot&gt;
1893 </dt>
1894 <dd>
1896 Use customized color for diff colorization. <tt>&lt;slot&gt;</tt> specifies
1897 which part of the patch to use the specified color, and is one
1898 of <tt>plain</tt> (context text), <tt>meta</tt> (metainformation), <tt>frag</tt>
1899 (hunk header), <em>func</em> (function in hunk header), <tt>old</tt> (removed lines),
1900 <tt>new</tt> (added lines), <tt>commit</tt> (commit headers), or <tt>whitespace</tt>
1901 (highlighting whitespace errors). The values of these variables may be
1902 specified as in color.branch.&lt;slot&gt;.
1903 </p>
1904 </dd>
1905 <dt class="hdlist1">
1906 color.decorate.&lt;slot&gt;
1907 </dt>
1908 <dd>
1910 Use customized color for <em>git log --decorate</em> output. <tt>&lt;slot&gt;</tt> is one
1911 of <tt>branch</tt>, <tt>remoteBranch</tt>, <tt>tag</tt>, <tt>stash</tt> or <tt>HEAD</tt> for local
1912 branches, remote-tracking branches, tags, stash and HEAD, respectively.
1913 </p>
1914 </dd>
1915 <dt class="hdlist1">
1916 color.grep
1917 </dt>
1918 <dd>
1920 When set to <tt>always</tt>, always highlight matches. When <tt>false</tt> (or
1921 <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use color only
1922 when the output is written to the terminal. Defaults to <tt>false</tt>.
1923 </p>
1924 </dd>
1925 <dt class="hdlist1">
1926 color.grep.&lt;slot&gt;
1927 </dt>
1928 <dd>
1930 Use customized color for grep colorization. <tt>&lt;slot&gt;</tt> specifies which
1931 part of the line to use the specified color, and is one of
1932 </p>
1933 <div class="dlist"><dl>
1934 <dt class="hdlist1">
1935 <tt>context</tt>
1936 </dt>
1937 <dd>
1939 non-matching text in context lines (when using <tt>-A</tt>, <tt>-B</tt>, or <tt>-C</tt>)
1940 </p>
1941 </dd>
1942 <dt class="hdlist1">
1943 <tt>filename</tt>
1944 </dt>
1945 <dd>
1947 filename prefix (when not using <tt>-h</tt>)
1948 </p>
1949 </dd>
1950 <dt class="hdlist1">
1951 <tt>function</tt>
1952 </dt>
1953 <dd>
1955 function name lines (when using <tt>-p</tt>)
1956 </p>
1957 </dd>
1958 <dt class="hdlist1">
1959 <tt>linenumber</tt>
1960 </dt>
1961 <dd>
1963 line number prefix (when using <tt>-n</tt>)
1964 </p>
1965 </dd>
1966 <dt class="hdlist1">
1967 <tt>match</tt>
1968 </dt>
1969 <dd>
1971 matching text
1972 </p>
1973 </dd>
1974 <dt class="hdlist1">
1975 <tt>selected</tt>
1976 </dt>
1977 <dd>
1979 non-matching text in selected lines
1980 </p>
1981 </dd>
1982 <dt class="hdlist1">
1983 <tt>separator</tt>
1984 </dt>
1985 <dd>
1987 separators between fields on a line (<tt>:</tt>, <tt>-</tt>, and <tt>=</tt>)
1988 and between hunks (<tt>--</tt>)
1989 </p>
1990 </dd>
1991 </dl></div>
1992 <div class="paragraph"><p>The values of these variables may be specified as in color.branch.&lt;slot&gt;.</p></div>
1993 </dd>
1994 <dt class="hdlist1">
1995 color.interactive
1996 </dt>
1997 <dd>
1999 When set to <tt>always</tt>, always use colors for interactive prompts
2000 and displays (such as those used by "git-add --interactive").
2001 When false (or <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use
2002 colors only when the output is to the terminal. Defaults to false.
2003 </p>
2004 </dd>
2005 <dt class="hdlist1">
2006 color.interactive.&lt;slot&gt;
2007 </dt>
2008 <dd>
2010 Use customized color for <em>git add --interactive</em>
2011 output. <tt>&lt;slot&gt;</tt> may be <tt>prompt</tt>, <tt>header</tt>, <tt>help</tt> or <tt>error</tt>, for
2012 four distinct types of normal output from interactive
2013 commands. The values of these variables may be specified as
2014 in color.branch.&lt;slot&gt;.
2015 </p>
2016 </dd>
2017 <dt class="hdlist1">
2018 color.pager
2019 </dt>
2020 <dd>
2022 A boolean to enable/disable colored output when the pager is in
2023 use (default is true).
2024 </p>
2025 </dd>
2026 <dt class="hdlist1">
2027 color.showbranch
2028 </dt>
2029 <dd>
2031 A boolean to enable/disable color in the output of
2032 <a href="git-show-branch.html">git-show-branch(1)</a>. May be set to <tt>always</tt>,
2033 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used
2034 only when the output is to a terminal. Defaults to false.
2035 </p>
2036 </dd>
2037 <dt class="hdlist1">
2038 color.status
2039 </dt>
2040 <dd>
2042 A boolean to enable/disable color in the output of
2043 <a href="git-status.html">git-status(1)</a>. May be set to <tt>always</tt>,
2044 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used
2045 only when the output is to a terminal. Defaults to false.
2046 </p>
2047 </dd>
2048 <dt class="hdlist1">
2049 color.status.&lt;slot&gt;
2050 </dt>
2051 <dd>
2053 Use customized color for status colorization. <tt>&lt;slot&gt;</tt> is
2054 one of <tt>header</tt> (the header text of the status message),
2055 <tt>added</tt> or <tt>updated</tt> (files which are added but not committed),
2056 <tt>changed</tt> (files which are changed but not added in the index),
2057 <tt>untracked</tt> (files which are not tracked by git),
2058 <tt>branch</tt> (the current branch), or
2059 <tt>nobranch</tt> (the color the <em>no branch</em> warning is shown in, defaulting
2060 to red). The values of these variables may be specified as in
2061 color.branch.&lt;slot&gt;.
2062 </p>
2063 </dd>
2064 <dt class="hdlist1">
2065 color.ui
2066 </dt>
2067 <dd>
2069 When set to <tt>always</tt>, always use colors in all git commands which
2070 are capable of colored output. When false (or <tt>never</tt>), never. When
2071 set to <tt>true</tt> or <tt>auto</tt>, use colors only when the output is to the
2072 terminal. When more specific variables of color.* are set, they always
2073 take precedence over this setting. Defaults to false.
2074 </p>
2075 </dd>
2076 <dt class="hdlist1">
2077 commit.status
2078 </dt>
2079 <dd>
2081 A boolean to enable/disable inclusion of status information in the
2082 commit message template when using an editor to prepare the commit
2083 message. Defaults to true.
2084 </p>
2085 </dd>
2086 <dt class="hdlist1">
2087 commit.template
2088 </dt>
2089 <dd>
2091 Specify a file to use as the template for new commit messages.
2092 "&#126;/" is expanded to the value of <tt>$HOME</tt> and "&#126;user/" to the
2093 specified user&#8217;s home directory.
2094 </p>
2095 </dd>
2096 <dt class="hdlist1">
2097 diff.autorefreshindex
2098 </dt>
2099 <dd>
2101 When using <em>git diff</em> to compare with work tree
2102 files, do not consider stat-only change as changed.
2103 Instead, silently run <tt>git update-index --refresh</tt> to
2104 update the cached stat information for paths whose
2105 contents in the work tree match the contents in the
2106 index. This option defaults to true. Note that this
2107 affects only <em>git diff</em> Porcelain, and not lower level
2108 <em>diff</em> commands such as <em>git diff-files</em>.
2109 </p>
2110 </dd>
2111 <dt class="hdlist1">
2112 diff.external
2113 </dt>
2114 <dd>
2116 If this config variable is set, diff generation is not
2117 performed using the internal diff machinery, but using the
2118 given command. Can be overridden with the &#8216;GIT_EXTERNAL_DIFF&#8217;
2119 environment variable. The command is called with parameters
2120 as described under "git Diffs" in <a href="git.html">git(1)</a>. Note: if
2121 you want to use an external diff program only on a subset of
2122 your files, you might want to use <a href="gitattributes.html">gitattributes(5)</a> instead.
2123 </p>
2124 </dd>
2125 <dt class="hdlist1">
2126 diff.mnemonicprefix
2127 </dt>
2128 <dd>
2130 If set, <em>git diff</em> uses a prefix pair that is different from the
2131 standard "a/" and "b/" depending on what is being compared. When
2132 this configuration is in effect, reverse diff output also swaps
2133 the order of the prefixes:
2134 </p>
2135 <div class="dlist"><dl>
2136 <dt class="hdlist1">
2137 <tt>git diff</tt>
2138 </dt>
2139 <dd>
2141 compares the (i)ndex and the (w)ork tree;
2142 </p>
2143 </dd>
2144 <dt class="hdlist1">
2145 <tt>git diff HEAD</tt>
2146 </dt>
2147 <dd>
2149 compares a (c)ommit and the (w)ork tree;
2150 </p>
2151 </dd>
2152 <dt class="hdlist1">
2153 <tt>git diff --cached</tt>
2154 </dt>
2155 <dd>
2157 compares a (c)ommit and the (i)ndex;
2158 </p>
2159 </dd>
2160 <dt class="hdlist1">
2161 <tt>git diff HEAD:file1 file2</tt>
2162 </dt>
2163 <dd>
2165 compares an (o)bject and a (w)ork tree entity;
2166 </p>
2167 </dd>
2168 <dt class="hdlist1">
2169 <tt>git diff --no-index a b</tt>
2170 </dt>
2171 <dd>
2173 compares two non-git things (1) and (2).
2174 </p>
2175 </dd>
2176 </dl></div>
2177 </dd>
2178 <dt class="hdlist1">
2179 diff.noprefix
2180 </dt>
2181 <dd>
2183 If set, <em>git diff</em> does not show any source or destination prefix.
2184 </p>
2185 </dd>
2186 <dt class="hdlist1">
2187 diff.renameLimit
2188 </dt>
2189 <dd>
2191 The number of files to consider when performing the copy/rename
2192 detection; equivalent to the <em>git diff</em> option <em>-l</em>.
2193 </p>
2194 </dd>
2195 <dt class="hdlist1">
2196 diff.renames
2197 </dt>
2198 <dd>
2200 Tells git to detect renames. If set to any boolean value, it
2201 will enable basic rename detection. If set to "copies" or
2202 "copy", it will detect copies, as well.
2203 </p>
2204 </dd>
2205 <dt class="hdlist1">
2206 diff.ignoreSubmodules
2207 </dt>
2208 <dd>
2210 Sets the default value of --ignore-submodules. Note that this
2211 affects only <em>git diff</em> Porcelain, and not lower level <em>diff</em>
2212 commands such as <em>git diff-files</em>. <em>git checkout</em> also honors
2213 this setting when reporting uncommitted changes.
2214 </p>
2215 </dd>
2216 <dt class="hdlist1">
2217 diff.suppressBlankEmpty
2218 </dt>
2219 <dd>
2221 A boolean to inhibit the standard behavior of printing a space
2222 before each empty output line. Defaults to false.
2223 </p>
2224 </dd>
2225 <dt class="hdlist1">
2226 diff.tool
2227 </dt>
2228 <dd>
2230 Controls which diff tool is used. <tt>diff.tool</tt> overrides
2231 <tt>merge.tool</tt> when used by <a href="git-difftool.html">git-difftool(1)</a> and has
2232 the same valid values as <tt>merge.tool</tt> minus "tortoisemerge"
2233 and plus "kompare".
2234 </p>
2235 </dd>
2236 <dt class="hdlist1">
2237 difftool.&lt;tool&gt;.path
2238 </dt>
2239 <dd>
2241 Override the path for the given tool. This is useful in case
2242 your tool is not in the PATH.
2243 </p>
2244 </dd>
2245 <dt class="hdlist1">
2246 difftool.&lt;tool&gt;.cmd
2247 </dt>
2248 <dd>
2250 Specify the command to invoke the specified diff tool.
2251 The specified command is evaluated in shell with the following
2252 variables available: <em>LOCAL</em> is set to the name of the temporary
2253 file containing the contents of the diff pre-image and <em>REMOTE</em>
2254 is set to the name of the temporary file containing the contents
2255 of the diff post-image.
2256 </p>
2257 </dd>
2258 <dt class="hdlist1">
2259 difftool.prompt
2260 </dt>
2261 <dd>
2263 Prompt before each invocation of the diff tool.
2264 </p>
2265 </dd>
2266 <dt class="hdlist1">
2267 diff.wordRegex
2268 </dt>
2269 <dd>
2271 A POSIX Extended Regular Expression used to determine what is a "word"
2272 when performing word-by-word difference calculations. Character
2273 sequences that match the regular expression are "words", all other
2274 characters are <strong>ignorable</strong> whitespace.
2275 </p>
2276 </dd>
2277 <dt class="hdlist1">
2278 fetch.recurseSubmodules
2279 </dt>
2280 <dd>
2282 A boolean value which changes the behavior for fetch and pull, the
2283 default is to not recursively fetch populated submodules unless
2284 configured otherwise.
2285 </p>
2286 </dd>
2287 <dt class="hdlist1">
2288 fetch.unpackLimit
2289 </dt>
2290 <dd>
2292 If the number of objects fetched over the git native
2293 transfer is below this
2294 limit, then the objects will be unpacked into loose object
2295 files. However if the number of received objects equals or
2296 exceeds this limit then the received pack will be stored as
2297 a pack, after adding any missing delta bases. Storing the
2298 pack from a push can make the push operation complete faster,
2299 especially on slow filesystems. If not set, the value of
2300 <tt>transfer.unpackLimit</tt> is used instead.
2301 </p>
2302 </dd>
2303 <dt class="hdlist1">
2304 format.attach
2305 </dt>
2306 <dd>
2308 Enable multipart/mixed attachments as the default for
2309 <em>format-patch</em>. The value can also be a double quoted string
2310 which will enable attachments as the default and set the
2311 value as the boundary. See the --attach option in
2312 <a href="git-format-patch.html">git-format-patch(1)</a>.
2313 </p>
2314 </dd>
2315 <dt class="hdlist1">
2316 format.numbered
2317 </dt>
2318 <dd>
2320 A boolean which can enable or disable sequence numbers in patch
2321 subjects. It defaults to "auto" which enables it only if there
2322 is more than one patch. It can be enabled or disabled for all
2323 messages by setting it to "true" or "false". See --numbered
2324 option in <a href="git-format-patch.html">git-format-patch(1)</a>.
2325 </p>
2326 </dd>
2327 <dt class="hdlist1">
2328 format.headers
2329 </dt>
2330 <dd>
2332 Additional email headers to include in a patch to be submitted
2333 by mail. See <a href="git-format-patch.html">git-format-patch(1)</a>.
2334 </p>
2335 </dd>
2336 <dt class="hdlist1">
2337 format.to
2338 </dt>
2339 <dt class="hdlist1">
2340 format.cc
2341 </dt>
2342 <dd>
2344 Additional recipients to include in a patch to be submitted
2345 by mail. See the --to and --cc options in
2346 <a href="git-format-patch.html">git-format-patch(1)</a>.
2347 </p>
2348 </dd>
2349 <dt class="hdlist1">
2350 format.subjectprefix
2351 </dt>
2352 <dd>
2354 The default for format-patch is to output files with the <em>[PATCH]</em>
2355 subject prefix. Use this variable to change that prefix.
2356 </p>
2357 </dd>
2358 <dt class="hdlist1">
2359 format.signature
2360 </dt>
2361 <dd>
2363 The default for format-patch is to output a signature containing
2364 the git version number. Use this variable to change that default.
2365 Set this variable to the empty string ("") to suppress
2366 signature generation.
2367 </p>
2368 </dd>
2369 <dt class="hdlist1">
2370 format.suffix
2371 </dt>
2372 <dd>
2374 The default for format-patch is to output files with the suffix
2375 <tt>.patch</tt>. Use this variable to change that suffix (make sure to
2376 include the dot if you want it).
2377 </p>
2378 </dd>
2379 <dt class="hdlist1">
2380 format.pretty
2381 </dt>
2382 <dd>
2384 The default pretty format for log/show/whatchanged command,
2385 See <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>,
2386 <a href="git-whatchanged.html">git-whatchanged(1)</a>.
2387 </p>
2388 </dd>
2389 <dt class="hdlist1">
2390 format.thread
2391 </dt>
2392 <dd>
2394 The default threading style for <em>git format-patch</em>. Can be
2395 a boolean value, or <tt>shallow</tt> or <tt>deep</tt>. <tt>shallow</tt> threading
2396 makes every mail a reply to the head of the series,
2397 where the head is chosen from the cover letter, the
2398 <tt>--in-reply-to</tt>, and the first patch mail, in this order.
2399 <tt>deep</tt> threading makes every mail a reply to the previous one.
2400 A true boolean value is the same as <tt>shallow</tt>, and a false
2401 value disables threading.
2402 </p>
2403 </dd>
2404 <dt class="hdlist1">
2405 format.signoff
2406 </dt>
2407 <dd>
2409 A boolean value which lets you enable the <tt>-s/--signoff</tt> option of
2410 format-patch by default. <strong>Note:</strong> Adding the Signed-off-by: line to a
2411 patch should be a conscious act and means that you certify you have
2412 the rights to submit this work under the same open source license.
2413 Please see the <em>SubmittingPatches</em> document for further discussion.
2414 </p>
2415 </dd>
2416 <dt class="hdlist1">
2417 gc.aggressiveWindow
2418 </dt>
2419 <dd>
2421 The window size parameter used in the delta compression
2422 algorithm used by <em>git gc --aggressive</em>. This defaults
2423 to 250.
2424 </p>
2425 </dd>
2426 <dt class="hdlist1">
2427 gc.auto
2428 </dt>
2429 <dd>
2431 When there are approximately more than this many loose
2432 objects in the repository, <tt>git gc --auto</tt> will pack them.
2433 Some Porcelain commands use this command to perform a
2434 light-weight garbage collection from time to time. The
2435 default value is 6700. Setting this to 0 disables it.
2436 </p>
2437 </dd>
2438 <dt class="hdlist1">
2439 gc.autopacklimit
2440 </dt>
2441 <dd>
2443 When there are more than this many packs that are not
2444 marked with <tt>*.keep</tt> file in the repository, <tt>git gc
2445 --auto</tt> consolidates them into one larger pack. The
2446 default value is 50. Setting this to 0 disables it.
2447 </p>
2448 </dd>
2449 <dt class="hdlist1">
2450 gc.packrefs
2451 </dt>
2452 <dd>
2454 Running <tt>git pack-refs</tt> in a repository renders it
2455 unclonable by Git versions prior to 1.5.1.2 over dumb
2456 transports such as HTTP. This variable determines whether
2457 <em>git gc</em> runs <tt>git pack-refs</tt>. This can be set to <tt>notbare</tt>
2458 to enable it within all non-bare repos or it can be set to a
2459 boolean value. The default is <tt>true</tt>.
2460 </p>
2461 </dd>
2462 <dt class="hdlist1">
2463 gc.pruneexpire
2464 </dt>
2465 <dd>
2467 When <em>git gc</em> is run, it will call <em>prune --expire 2.weeks.ago</em>.
2468 Override the grace period with this config variable. The value
2469 "now" may be used to disable this grace period and always prune
2470 unreachable objects immediately.
2471 </p>
2472 </dd>
2473 <dt class="hdlist1">
2474 gc.reflogexpire
2475 </dt>
2476 <dt class="hdlist1">
2477 gc.&lt;pattern&gt;.reflogexpire
2478 </dt>
2479 <dd>
2481 <em>git reflog expire</em> removes reflog entries older than
2482 this time; defaults to 90 days. With "&lt;pattern&gt;" (e.g.
2483 "refs/stash") in the middle the setting applies only to
2484 the refs that match the &lt;pattern&gt;.
2485 </p>
2486 </dd>
2487 <dt class="hdlist1">
2488 gc.reflogexpireunreachable
2489 </dt>
2490 <dt class="hdlist1">
2491 gc.&lt;ref&gt;.reflogexpireunreachable
2492 </dt>
2493 <dd>
2495 <em>git reflog expire</em> removes reflog entries older than
2496 this time and are not reachable from the current tip;
2497 defaults to 30 days. With "&lt;pattern&gt;" (e.g. "refs/stash")
2498 in the middle, the setting applies only to the refs that
2499 match the &lt;pattern&gt;.
2500 </p>
2501 </dd>
2502 <dt class="hdlist1">
2503 gc.rerereresolved
2504 </dt>
2505 <dd>
2507 Records of conflicted merge you resolved earlier are
2508 kept for this many days when <em>git rerere gc</em> is run.
2509 The default is 60 days. See <a href="git-rerere.html">git-rerere(1)</a>.
2510 </p>
2511 </dd>
2512 <dt class="hdlist1">
2513 gc.rerereunresolved
2514 </dt>
2515 <dd>
2517 Records of conflicted merge you have not resolved are
2518 kept for this many days when <em>git rerere gc</em> is run.
2519 The default is 15 days. See <a href="git-rerere.html">git-rerere(1)</a>.
2520 </p>
2521 </dd>
2522 <dt class="hdlist1">
2523 gitcvs.commitmsgannotation
2524 </dt>
2525 <dd>
2527 Append this string to each commit message. Set to empty string
2528 to disable this feature. Defaults to "via git-CVS emulator".
2529 </p>
2530 </dd>
2531 <dt class="hdlist1">
2532 gitcvs.enabled
2533 </dt>
2534 <dd>
2536 Whether the CVS server interface is enabled for this repository.
2537 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2538 </p>
2539 </dd>
2540 <dt class="hdlist1">
2541 gitcvs.logfile
2542 </dt>
2543 <dd>
2545 Path to a log file where the CVS server interface well&#8230; logs
2546 various stuff. See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2547 </p>
2548 </dd>
2549 <dt class="hdlist1">
2550 gitcvs.usecrlfattr
2551 </dt>
2552 <dd>
2554 If true, the server will look up the end-of-line conversion
2555 attributes for files to determine the <em>-k</em> modes to use. If
2556 the attributes force git to treat a file as text,
2557 the <em>-k</em> mode will be left blank so CVS clients will
2558 treat it as text. If they suppress text conversion, the file
2559 will be set with <em>-kb</em> mode, which suppresses any newline munging
2560 the client might otherwise do. If the attributes do not allow
2561 the file type to be determined, then <em>gitcvs.allbinary</em> is
2562 used. See <a href="gitattributes.html">gitattributes(5)</a>.
2563 </p>
2564 </dd>
2565 <dt class="hdlist1">
2566 gitcvs.allbinary
2567 </dt>
2568 <dd>
2570 This is used if <em>gitcvs.usecrlfattr</em> does not resolve
2571 the correct <em>-kb</em> mode to use. If true, all
2572 unresolved files are sent to the client in
2573 mode <em>-kb</em>. This causes the client to treat them
2574 as binary files, which suppresses any newline munging it
2575 otherwise might do. Alternatively, if it is set to "guess",
2576 then the contents of the file are examined to decide if
2577 it is binary, similar to <em>core.autocrlf</em>.
2578 </p>
2579 </dd>
2580 <dt class="hdlist1">
2581 gitcvs.dbname
2582 </dt>
2583 <dd>
2585 Database used by git-cvsserver to cache revision information
2586 derived from the git repository. The exact meaning depends on the
2587 used database driver, for SQLite (which is the default driver) this
2588 is a filename. Supports variable substitution (see
2589 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). May not contain semicolons (<tt>;</tt>).
2590 Default: <em>%Ggitcvs.%m.sqlite</em>
2591 </p>
2592 </dd>
2593 <dt class="hdlist1">
2594 gitcvs.dbdriver
2595 </dt>
2596 <dd>
2598 Used Perl DBI driver. You can specify any available driver
2599 for this here, but it might not work. git-cvsserver is tested
2600 with <em>DBD::SQLite</em>, reported to work with <em>DBD::Pg</em>, and
2601 reported <strong>not</strong> to work with <em>DBD::mysql</em>. Experimental feature.
2602 May not contain double colons (<tt>:</tt>). Default: <em>SQLite</em>.
2603 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
2604 </p>
2605 </dd>
2606 <dt class="hdlist1">
2607 gitcvs.dbuser, gitcvs.dbpass
2608 </dt>
2609 <dd>
2611 Database user and password. Only useful if setting <em>gitcvs.dbdriver</em>,
2612 since SQLite has no concept of database users and/or passwords.
2613 <em>gitcvs.dbuser</em> supports variable substitution (see
2614 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details).
2615 </p>
2616 </dd>
2617 <dt class="hdlist1">
2618 gitcvs.dbTableNamePrefix
2619 </dt>
2620 <dd>
2622 Database table name prefix. Prepended to the names of any
2623 database tables used, allowing a single database to be used
2624 for several repositories. Supports variable substitution (see
2625 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). Any non-alphabetic
2626 characters will be replaced with underscores.
2627 </p>
2628 </dd>
2629 </dl></div>
2630 <div class="paragraph"><p>All gitcvs variables except for <em>gitcvs.usecrlfattr</em> and
2631 <em>gitcvs.allbinary</em> can also be specified as
2632 <em>gitcvs.&lt;access_method&gt;.&lt;varname&gt;</em> (where <em>access_method</em>
2633 is one of "ext" and "pserver") to make them apply only for the given
2634 access method.</p></div>
2635 <div class="dlist"><dl>
2636 <dt class="hdlist1">
2637 gui.commitmsgwidth
2638 </dt>
2639 <dd>
2641 Defines how wide the commit message window is in the
2642 <a href="git-gui.html">git-gui(1)</a>. "75" is the default.
2643 </p>
2644 </dd>
2645 <dt class="hdlist1">
2646 gui.diffcontext
2647 </dt>
2648 <dd>
2650 Specifies how many context lines should be used in calls to diff
2651 made by the <a href="git-gui.html">git-gui(1)</a>. The default is "5".
2652 </p>
2653 </dd>
2654 <dt class="hdlist1">
2655 gui.encoding
2656 </dt>
2657 <dd>
2659 Specifies the default encoding to use for displaying of
2660 file contents in <a href="git-gui.html">git-gui(1)</a> and <a href="gitk.html">gitk(1)</a>.
2661 It can be overridden by setting the <em>encoding</em> attribute
2662 for relevant files (see <a href="gitattributes.html">gitattributes(5)</a>).
2663 If this option is not set, the tools default to the
2664 locale encoding.
2665 </p>
2666 </dd>
2667 <dt class="hdlist1">
2668 gui.matchtrackingbranch
2669 </dt>
2670 <dd>
2672 Determines if new branches created with <a href="git-gui.html">git-gui(1)</a> should
2673 default to tracking remote branches with matching names or
2674 not. Default: "false".
2675 </p>
2676 </dd>
2677 <dt class="hdlist1">
2678 gui.newbranchtemplate
2679 </dt>
2680 <dd>
2682 Is used as suggested name when creating new branches using the
2683 <a href="git-gui.html">git-gui(1)</a>.
2684 </p>
2685 </dd>
2686 <dt class="hdlist1">
2687 gui.pruneduringfetch
2688 </dt>
2689 <dd>
2691 "true" if <a href="git-gui.html">git-gui(1)</a> should prune remote-tracking branches when
2692 performing a fetch. The default value is "false".
2693 </p>
2694 </dd>
2695 <dt class="hdlist1">
2696 gui.trustmtime
2697 </dt>
2698 <dd>
2700 Determines if <a href="git-gui.html">git-gui(1)</a> should trust the file modification
2701 timestamp or not. By default the timestamps are not trusted.
2702 </p>
2703 </dd>
2704 <dt class="hdlist1">
2705 gui.spellingdictionary
2706 </dt>
2707 <dd>
2709 Specifies the dictionary used for spell checking commit messages in
2710 the <a href="git-gui.html">git-gui(1)</a>. When set to "none" spell checking is turned
2711 off.
2712 </p>
2713 </dd>
2714 <dt class="hdlist1">
2715 gui.fastcopyblame
2716 </dt>
2717 <dd>
2719 If true, <em>git gui blame</em> uses <tt>-C</tt> instead of <tt>-C -C</tt> for original
2720 location detection. It makes blame significantly faster on huge
2721 repositories at the expense of less thorough copy detection.
2722 </p>
2723 </dd>
2724 <dt class="hdlist1">
2725 gui.copyblamethreshold
2726 </dt>
2727 <dd>
2729 Specifies the threshold to use in <em>git gui blame</em> original location
2730 detection, measured in alphanumeric characters. See the
2731 <a href="git-blame.html">git-blame(1)</a> manual for more information on copy detection.
2732 </p>
2733 </dd>
2734 <dt class="hdlist1">
2735 gui.blamehistoryctx
2736 </dt>
2737 <dd>
2739 Specifies the radius of history context in days to show in
2740 <a href="gitk.html">gitk(1)</a> for the selected commit, when the <tt>Show History
2741 Context</tt> menu item is invoked from <em>git gui blame</em>. If this
2742 variable is set to zero, the whole history is shown.
2743 </p>
2744 </dd>
2745 <dt class="hdlist1">
2746 guitool.&lt;name&gt;.cmd
2747 </dt>
2748 <dd>
2750 Specifies the shell command line to execute when the corresponding item
2751 of the <a href="git-gui.html">git-gui(1)</a> <tt>Tools</tt> menu is invoked. This option is
2752 mandatory for every tool. The command is executed from the root of
2753 the working directory, and in the environment it receives the name of
2754 the tool as <em>GIT_GUITOOL</em>, the name of the currently selected file as
2755 <em>FILENAME</em>, and the name of the current branch as <em>CUR_BRANCH</em> (if
2756 the head is detached, <em>CUR_BRANCH</em> is empty).
2757 </p>
2758 </dd>
2759 <dt class="hdlist1">
2760 guitool.&lt;name&gt;.needsfile
2761 </dt>
2762 <dd>
2764 Run the tool only if a diff is selected in the GUI. It guarantees
2765 that <em>FILENAME</em> is not empty.
2766 </p>
2767 </dd>
2768 <dt class="hdlist1">
2769 guitool.&lt;name&gt;.noconsole
2770 </dt>
2771 <dd>
2773 Run the command silently, without creating a window to display its
2774 output.
2775 </p>
2776 </dd>
2777 <dt class="hdlist1">
2778 guitool.&lt;name&gt;.norescan
2779 </dt>
2780 <dd>
2782 Don&#8217;t rescan the working directory for changes after the tool
2783 finishes execution.
2784 </p>
2785 </dd>
2786 <dt class="hdlist1">
2787 guitool.&lt;name&gt;.confirm
2788 </dt>
2789 <dd>
2791 Show a confirmation dialog before actually running the tool.
2792 </p>
2793 </dd>
2794 <dt class="hdlist1">
2795 guitool.&lt;name&gt;.argprompt
2796 </dt>
2797 <dd>
2799 Request a string argument from the user, and pass it to the tool
2800 through the <em>ARGS</em> environment variable. Since requesting an
2801 argument implies confirmation, the <em>confirm</em> option has no effect
2802 if this is enabled. If the option is set to <em>true</em>, <em>yes</em>, or <em>1</em>,
2803 the dialog uses a built-in generic prompt; otherwise the exact
2804 value of the variable is used.
2805 </p>
2806 </dd>
2807 <dt class="hdlist1">
2808 guitool.&lt;name&gt;.revprompt
2809 </dt>
2810 <dd>
2812 Request a single valid revision from the user, and set the
2813 <em>REVISION</em> environment variable. In other aspects this option
2814 is similar to <em>argprompt</em>, and can be used together with it.
2815 </p>
2816 </dd>
2817 <dt class="hdlist1">
2818 guitool.&lt;name&gt;.revunmerged
2819 </dt>
2820 <dd>
2822 Show only unmerged branches in the <em>revprompt</em> subdialog.
2823 This is useful for tools similar to merge or rebase, but not
2824 for things like checkout or reset.
2825 </p>
2826 </dd>
2827 <dt class="hdlist1">
2828 guitool.&lt;name&gt;.title
2829 </dt>
2830 <dd>
2832 Specifies the title to use for the prompt dialog. The default
2833 is the tool name.
2834 </p>
2835 </dd>
2836 <dt class="hdlist1">
2837 guitool.&lt;name&gt;.prompt
2838 </dt>
2839 <dd>
2841 Specifies the general prompt string to display at the top of
2842 the dialog, before subsections for <em>argprompt</em> and <em>revprompt</em>.
2843 The default value includes the actual command.
2844 </p>
2845 </dd>
2846 <dt class="hdlist1">
2847 help.browser
2848 </dt>
2849 <dd>
2851 Specify the browser that will be used to display help in the
2852 <em>web</em> format. See <a href="git-help.html">git-help(1)</a>.
2853 </p>
2854 </dd>
2855 <dt class="hdlist1">
2856 help.format
2857 </dt>
2858 <dd>
2860 Override the default help format used by <a href="git-help.html">git-help(1)</a>.
2861 Values <em>man</em>, <em>info</em>, <em>web</em> and <em>html</em> are supported. <em>man</em> is
2862 the default. <em>web</em> and <em>html</em> are the same.
2863 </p>
2864 </dd>
2865 <dt class="hdlist1">
2866 help.autocorrect
2867 </dt>
2868 <dd>
2870 Automatically correct and execute mistyped commands after
2871 waiting for the given number of deciseconds (0.1 sec). If more
2872 than one command can be deduced from the entered text, nothing
2873 will be executed. If the value of this option is negative,
2874 the corrected command will be executed immediately. If the
2875 value is 0 - the command will be just shown but not executed.
2876 This is the default.
2877 </p>
2878 </dd>
2879 <dt class="hdlist1">
2880 http.proxy
2881 </dt>
2882 <dd>
2884 Override the HTTP proxy, normally configured using the <em>http_proxy</em>
2885 environment variable (see <a href="curl.html">curl(1)</a>). This can be overridden
2886 on a per-remote basis; see remote.&lt;name&gt;.proxy
2887 </p>
2888 </dd>
2889 <dt class="hdlist1">
2890 http.sslVerify
2891 </dt>
2892 <dd>
2894 Whether to verify the SSL certificate when fetching or pushing
2895 over HTTPS. Can be overridden by the <em>GIT_SSL_NO_VERIFY</em> environment
2896 variable.
2897 </p>
2898 </dd>
2899 <dt class="hdlist1">
2900 http.sslCert
2901 </dt>
2902 <dd>
2904 File containing the SSL certificate when fetching or pushing
2905 over HTTPS. Can be overridden by the <em>GIT_SSL_CERT</em> environment
2906 variable.
2907 </p>
2908 </dd>
2909 <dt class="hdlist1">
2910 http.sslKey
2911 </dt>
2912 <dd>
2914 File containing the SSL private key when fetching or pushing
2915 over HTTPS. Can be overridden by the <em>GIT_SSL_KEY</em> environment
2916 variable.
2917 </p>
2918 </dd>
2919 <dt class="hdlist1">
2920 http.sslCertPasswordProtected
2921 </dt>
2922 <dd>
2924 Enable git&#8217;s password prompt for the SSL certificate. Otherwise
2925 OpenSSL will prompt the user, possibly many times, if the
2926 certificate or private key is encrypted. Can be overridden by the
2927 <em>GIT_SSL_CERT_PASSWORD_PROTECTED</em> environment variable.
2928 </p>
2929 </dd>
2930 <dt class="hdlist1">
2931 http.sslCAInfo
2932 </dt>
2933 <dd>
2935 File containing the certificates to verify the peer with when
2936 fetching or pushing over HTTPS. Can be overridden by the
2937 <em>GIT_SSL_CAINFO</em> environment variable.
2938 </p>
2939 </dd>
2940 <dt class="hdlist1">
2941 http.sslCAPath
2942 </dt>
2943 <dd>
2945 Path containing files with the CA certificates to verify the peer
2946 with when fetching or pushing over HTTPS. Can be overridden
2947 by the <em>GIT_SSL_CAPATH</em> environment variable.
2948 </p>
2949 </dd>
2950 <dt class="hdlist1">
2951 http.maxRequests
2952 </dt>
2953 <dd>
2955 How many HTTP requests to launch in parallel. Can be overridden
2956 by the <em>GIT_HTTP_MAX_REQUESTS</em> environment variable. Default is 5.
2957 </p>
2958 </dd>
2959 <dt class="hdlist1">
2960 http.minSessions
2961 </dt>
2962 <dd>
2964 The number of curl sessions (counted across slots) to be kept across
2965 requests. They will not be ended with curl_easy_cleanup() until
2966 http_cleanup() is invoked. If USE_CURL_MULTI is not defined, this
2967 value will be capped at 1. Defaults to 1.
2968 </p>
2969 </dd>
2970 <dt class="hdlist1">
2971 http.postBuffer
2972 </dt>
2973 <dd>
2975 Maximum size in bytes of the buffer used by smart HTTP
2976 transports when POSTing data to the remote system.
2977 For requests larger than this buffer size, HTTP/1.1 and
2978 Transfer-Encoding: chunked is used to avoid creating a
2979 massive pack file locally. Default is 1 MiB, which is
2980 sufficient for most requests.
2981 </p>
2982 </dd>
2983 <dt class="hdlist1">
2984 http.lowSpeedLimit, http.lowSpeedTime
2985 </dt>
2986 <dd>
2988 If the HTTP transfer speed is less than <em>http.lowSpeedLimit</em>
2989 for longer than <em>http.lowSpeedTime</em> seconds, the transfer is aborted.
2990 Can be overridden by the <em>GIT_HTTP_LOW_SPEED_LIMIT</em> and
2991 <em>GIT_HTTP_LOW_SPEED_TIME</em> environment variables.
2992 </p>
2993 </dd>
2994 <dt class="hdlist1">
2995 http.noEPSV
2996 </dt>
2997 <dd>
2999 A boolean which disables using of EPSV ftp command by curl.
3000 This can helpful with some "poor" ftp servers which don&#8217;t
3001 support EPSV mode. Can be overridden by the <em>GIT_CURL_FTP_NO_EPSV</em>
3002 environment variable. Default is false (curl will use EPSV).
3003 </p>
3004 </dd>
3005 <dt class="hdlist1">
3006 http.useragent
3007 </dt>
3008 <dd>
3010 The HTTP USER_AGENT string presented to an HTTP server. The default
3011 value represents the version of the client git such as git/1.7.1.
3012 This option allows you to override this value to a more common value
3013 such as Mozilla/4.0. This may be necessary, for instance, if
3014 connecting through a firewall that restricts HTTP connections to a set
3015 of common USER_AGENT strings (but not including those like git/1.7.1).
3016 Can be overridden by the <em>GIT_HTTP_USER_AGENT</em> environment variable.
3017 </p>
3018 </dd>
3019 <dt class="hdlist1">
3020 i18n.commitEncoding
3021 </dt>
3022 <dd>
3024 Character encoding the commit messages are stored in; git itself
3025 does not care per se, but this information is necessary e.g. when
3026 importing commits from emails or in the gitk graphical history
3027 browser (and possibly at other places in the future or in other
3028 porcelains). See e.g. <a href="git-mailinfo.html">git-mailinfo(1)</a>. Defaults to <em>utf-8</em>.
3029 </p>
3030 </dd>
3031 <dt class="hdlist1">
3032 i18n.logOutputEncoding
3033 </dt>
3034 <dd>
3036 Character encoding the commit messages are converted to when
3037 running <em>git log</em> and friends.
3038 </p>
3039 </dd>
3040 <dt class="hdlist1">
3041 imap
3042 </dt>
3043 <dd>
3045 The configuration variables in the <em>imap</em> section are described
3046 in <a href="git-imap-send.html">git-imap-send(1)</a>.
3047 </p>
3048 </dd>
3049 <dt class="hdlist1">
3050 init.templatedir
3051 </dt>
3052 <dd>
3054 Specify the directory from which templates will be copied.
3055 (See the "TEMPLATE DIRECTORY" section of <a href="git-init.html">git-init(1)</a>.)
3056 </p>
3057 </dd>
3058 <dt class="hdlist1">
3059 instaweb.browser
3060 </dt>
3061 <dd>
3063 Specify the program that will be used to browse your working
3064 repository in gitweb. See <a href="git-instaweb.html">git-instaweb(1)</a>.
3065 </p>
3066 </dd>
3067 <dt class="hdlist1">
3068 instaweb.httpd
3069 </dt>
3070 <dd>
3072 The HTTP daemon command-line to start gitweb on your working
3073 repository. See <a href="git-instaweb.html">git-instaweb(1)</a>.
3074 </p>
3075 </dd>
3076 <dt class="hdlist1">
3077 instaweb.local
3078 </dt>
3079 <dd>
3081 If true the web server started by <a href="git-instaweb.html">git-instaweb(1)</a> will
3082 be bound to the local IP (127.0.0.1).
3083 </p>
3084 </dd>
3085 <dt class="hdlist1">
3086 instaweb.modulepath
3087 </dt>
3088 <dd>
3090 The default module path for <a href="git-instaweb.html">git-instaweb(1)</a> to use
3091 instead of /usr/lib/apache2/modules. Only used if httpd
3092 is Apache.
3093 </p>
3094 </dd>
3095 <dt class="hdlist1">
3096 instaweb.port
3097 </dt>
3098 <dd>
3100 The port number to bind the gitweb httpd to. See
3101 <a href="git-instaweb.html">git-instaweb(1)</a>.
3102 </p>
3103 </dd>
3104 <dt class="hdlist1">
3105 interactive.singlekey
3106 </dt>
3107 <dd>
3109 In interactive commands, allow the user to provide one-letter
3110 input with a single key (i.e., without hitting enter).
3111 Currently this is used only by the <tt>--patch</tt> mode of
3112 <a href="git-add.html">git-add(1)</a>. Note that this setting is silently
3113 ignored if portable keystroke input is not available.
3114 </p>
3115 </dd>
3116 <dt class="hdlist1">
3117 log.date
3118 </dt>
3119 <dd>
3121 Set the default date-time mode for the <em>log</em> command.
3122 Setting a value for log.date is similar to using <em>git log</em>'s
3123 <tt>--date</tt> option. Possible values are <tt>relative</tt>, <tt>local</tt>,
3124 <tt>default</tt>, <tt>iso</tt>, <tt>rfc</tt>, and <tt>short</tt>; see <a href="git-log.html">git-log(1)</a>
3125 for details.
3126 </p>
3127 </dd>
3128 <dt class="hdlist1">
3129 log.decorate
3130 </dt>
3131 <dd>
3133 Print out the ref names of any commits that are shown by the log
3134 command. If <em>short</em> is specified, the ref name prefixes <em>refs/heads/</em>,
3135 <em>refs/tags/</em> and <em>refs/remotes/</em> will not be printed. If <em>full</em> is
3136 specified, the full ref name (including prefix) will be printed.
3137 This is the same as the log commands <em>--decorate</em> option.
3138 </p>
3139 </dd>
3140 <dt class="hdlist1">
3141 log.showroot
3142 </dt>
3143 <dd>
3145 If true, the initial commit will be shown as a big creation event.
3146 This is equivalent to a diff against an empty tree.
3147 Tools like <a href="git-log.html">git-log(1)</a> or <a href="git-whatchanged.html">git-whatchanged(1)</a>, which
3148 normally hide the root commit will now show it. True by default.
3149 </p>
3150 </dd>
3151 <dt class="hdlist1">
3152 mailmap.file
3153 </dt>
3154 <dd>
3156 The location of an augmenting mailmap file. The default
3157 mailmap, located in the root of the repository, is loaded
3158 first, then the mailmap file pointed to by this variable.
3159 The location of the mailmap file may be in a repository
3160 subdirectory, or somewhere outside of the repository itself.
3161 See <a href="git-shortlog.html">git-shortlog(1)</a> and <a href="git-blame.html">git-blame(1)</a>.
3162 </p>
3163 </dd>
3164 <dt class="hdlist1">
3165 man.viewer
3166 </dt>
3167 <dd>
3169 Specify the programs that may be used to display help in the
3170 <em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
3171 </p>
3172 </dd>
3173 <dt class="hdlist1">
3174 man.&lt;tool&gt;.cmd
3175 </dt>
3176 <dd>
3178 Specify the command to invoke the specified man viewer. The
3179 specified command is evaluated in shell with the man page
3180 passed as argument. (See <a href="git-help.html">git-help(1)</a>.)
3181 </p>
3182 </dd>
3183 <dt class="hdlist1">
3184 man.&lt;tool&gt;.path
3185 </dt>
3186 <dd>
3188 Override the path for the given tool that may be used to
3189 display help in the <em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
3190 </p>
3191 </dd>
3192 <dt class="hdlist1">
3193 merge.conflictstyle
3194 </dt>
3195 <dd>
3197 Specify the style in which conflicted hunks are written out to
3198 working tree files upon merge. The default is "merge", which
3199 shows a <tt>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</tt> conflict marker, changes made by one side,
3200 a <tt>=======</tt> marker, changes made by the other side, and then
3201 a <tt>&gt;&gt;&gt;&gt;&gt;&gt;&gt;</tt> marker. An alternate style, "diff3", adds a <tt>|||||||</tt>
3202 marker and the original text before the <tt>=======</tt> marker.
3203 </p>
3204 </dd>
3205 <dt class="hdlist1">
3206 merge.log
3207 </dt>
3208 <dd>
3210 In addition to branch names, populate the log message with at
3211 most the specified number of one-line descriptions from the
3212 actual commits that are being merged. Defaults to false, and
3213 true is a synonym for 20.
3214 </p>
3215 </dd>
3216 <dt class="hdlist1">
3217 merge.renameLimit
3218 </dt>
3219 <dd>
3221 The number of files to consider when performing rename detection
3222 during a merge; if not specified, defaults to the value of
3223 diff.renameLimit.
3224 </p>
3225 </dd>
3226 <dt class="hdlist1">
3227 merge.renormalize
3228 </dt>
3229 <dd>
3231 Tell git that canonical representation of files in the
3232 repository has changed over time (e.g. earlier commits record
3233 text files with CRLF line endings, but recent ones use LF line
3234 endings). In such a repository, git can convert the data
3235 recorded in commits to a canonical form before performing a
3236 merge to reduce unnecessary conflicts. For more information,
3237 see section "Merging branches with differing checkin/checkout
3238 attributes" in <a href="gitattributes.html">gitattributes(5)</a>.
3239 </p>
3240 </dd>
3241 <dt class="hdlist1">
3242 merge.stat
3243 </dt>
3244 <dd>
3246 Whether to print the diffstat between ORIG_HEAD and the merge result
3247 at the end of the merge. True by default.
3248 </p>
3249 </dd>
3250 <dt class="hdlist1">
3251 merge.tool
3252 </dt>
3253 <dd>
3255 Controls which merge resolution program is used by
3256 <a href="git-mergetool.html">git-mergetool(1)</a>. Valid built-in values are: "kdiff3",
3257 "tkdiff", "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff",
3258 "diffuse", "ecmerge", "tortoisemerge", "p4merge", "araxis" and
3259 "opendiff". Any other value is treated is custom merge tool
3260 and there must be a corresponding mergetool.&lt;tool&gt;.cmd option.
3261 </p>
3262 </dd>
3263 <dt class="hdlist1">
3264 merge.verbosity
3265 </dt>
3266 <dd>
3268 Controls the amount of output shown by the recursive merge
3269 strategy. Level 0 outputs nothing except a final error
3270 message if conflicts were detected. Level 1 outputs only
3271 conflicts, 2 outputs conflicts and file changes. Level 5 and
3272 above outputs debugging information. The default is level 2.
3273 Can be overridden by the <em>GIT_MERGE_VERBOSITY</em> environment variable.
3274 </p>
3275 </dd>
3276 <dt class="hdlist1">
3277 merge.&lt;driver&gt;.name
3278 </dt>
3279 <dd>
3281 Defines a human-readable name for a custom low-level
3282 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
3283 </p>
3284 </dd>
3285 <dt class="hdlist1">
3286 merge.&lt;driver&gt;.driver
3287 </dt>
3288 <dd>
3290 Defines the command that implements a custom low-level
3291 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
3292 </p>
3293 </dd>
3294 <dt class="hdlist1">
3295 merge.&lt;driver&gt;.recursive
3296 </dt>
3297 <dd>
3299 Names a low-level merge driver to be used when
3300 performing an internal merge between common ancestors.
3301 See <a href="gitattributes.html">gitattributes(5)</a> for details.
3302 </p>
3303 </dd>
3304 <dt class="hdlist1">
3305 mergetool.&lt;tool&gt;.path
3306 </dt>
3307 <dd>
3309 Override the path for the given tool. This is useful in case
3310 your tool is not in the PATH.
3311 </p>
3312 </dd>
3313 <dt class="hdlist1">
3314 mergetool.&lt;tool&gt;.cmd
3315 </dt>
3316 <dd>
3318 Specify the command to invoke the specified merge tool. The
3319 specified command is evaluated in shell with the following
3320 variables available: <em>BASE</em> is the name of a temporary file
3321 containing the common base of the files to be merged, if available;
3322 <em>LOCAL</em> is the name of a temporary file containing the contents of
3323 the file on the current branch; <em>REMOTE</em> is the name of a temporary
3324 file containing the contents of the file from the branch being
3325 merged; <em>MERGED</em> contains the name of the file to which the merge
3326 tool should write the results of a successful merge.
3327 </p>
3328 </dd>
3329 <dt class="hdlist1">
3330 mergetool.&lt;tool&gt;.trustExitCode
3331 </dt>
3332 <dd>
3334 For a custom merge command, specify whether the exit code of
3335 the merge command can be used to determine whether the merge was
3336 successful. If this is not set to true then the merge target file
3337 timestamp is checked and the merge assumed to have been successful
3338 if the file has been updated, otherwise the user is prompted to
3339 indicate the success of the merge.
3340 </p>
3341 </dd>
3342 <dt class="hdlist1">
3343 mergetool.keepBackup
3344 </dt>
3345 <dd>
3347 After performing a merge, the original file with conflict markers
3348 can be saved as a file with a <tt>.orig</tt> extension. If this variable
3349 is set to <tt>false</tt> then this file is not preserved. Defaults to
3350 <tt>true</tt> (i.e. keep the backup files).
3351 </p>
3352 </dd>
3353 <dt class="hdlist1">
3354 mergetool.keepTemporaries
3355 </dt>
3356 <dd>
3358 When invoking a custom merge tool, git uses a set of temporary
3359 files to pass to the tool. If the tool returns an error and this
3360 variable is set to <tt>true</tt>, then these temporary files will be
3361 preserved, otherwise they will be removed after the tool has
3362 exited. Defaults to <tt>false</tt>.
3363 </p>
3364 </dd>
3365 <dt class="hdlist1">
3366 mergetool.prompt
3367 </dt>
3368 <dd>
3370 Prompt before each invocation of the merge resolution program.
3371 </p>
3372 </dd>
3373 <dt class="hdlist1">
3374 notes.displayRef
3375 </dt>
3376 <dd>
3378 The (fully qualified) refname from which to show notes when
3379 showing commit messages. The value of this variable can be set
3380 to a glob, in which case notes from all matching refs will be
3381 shown. You may also specify this configuration variable
3382 several times. A warning will be issued for refs that do not
3383 exist, but a glob that does not match any refs is silently
3384 ignored.
3385 </p>
3386 <div class="paragraph"><p>This setting can be overridden with the <tt>GIT_NOTES_DISPLAY_REF</tt>
3387 environment variable, which must be a colon separated list of refs or
3388 globs.</p></div>
3389 <div class="paragraph"><p>The effective value of "core.notesRef" (possibly overridden by
3390 GIT_NOTES_REF) is also implicitly added to the list of refs to be
3391 displayed.</p></div>
3392 </dd>
3393 <dt class="hdlist1">
3394 notes.rewrite.&lt;command&gt;
3395 </dt>
3396 <dd>
3398 When rewriting commits with &lt;command&gt; (currently <tt>amend</tt> or
3399 <tt>rebase</tt>) and this variable is set to <tt>true</tt>, git
3400 automatically copies your notes from the original to the
3401 rewritten commit. Defaults to <tt>true</tt>, but see
3402 "notes.rewriteRef" below.
3403 </p>
3404 </dd>
3405 <dt class="hdlist1">
3406 notes.rewriteMode
3407 </dt>
3408 <dd>
3410 When copying notes during a rewrite (see the
3411 "notes.rewrite.&lt;command&gt;" option), determines what to do if
3412 the target commit already has a note. Must be one of
3413 <tt>overwrite</tt>, <tt>concatenate</tt>, or <tt>ignore</tt>. Defaults to
3414 <tt>concatenate</tt>.
3415 </p>
3416 <div class="paragraph"><p>This setting can be overridden with the <tt>GIT_NOTES_REWRITE_MODE</tt>
3417 environment variable.</p></div>
3418 </dd>
3419 <dt class="hdlist1">
3420 notes.rewriteRef
3421 </dt>
3422 <dd>
3424 When copying notes during a rewrite, specifies the (fully
3425 qualified) ref whose notes should be copied. The ref may be a
3426 glob, in which case notes in all matching refs will be copied.
3427 You may also specify this configuration several times.
3428 </p>
3429 <div class="paragraph"><p>Does not have a default value; you must configure this variable to
3430 enable note rewriting.</p></div>
3431 <div class="paragraph"><p>This setting can be overridden with the <tt>GIT_NOTES_REWRITE_REF</tt>
3432 environment variable, which must be a colon separated list of refs or
3433 globs.</p></div>
3434 </dd>
3435 <dt class="hdlist1">
3436 pack.window
3437 </dt>
3438 <dd>
3440 The size of the window used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
3441 window size is given on the command line. Defaults to 10.
3442 </p>
3443 </dd>
3444 <dt class="hdlist1">
3445 pack.depth
3446 </dt>
3447 <dd>
3449 The maximum delta depth used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
3450 maximum depth is given on the command line. Defaults to 50.
3451 </p>
3452 </dd>
3453 <dt class="hdlist1">
3454 pack.windowMemory
3455 </dt>
3456 <dd>
3458 The window memory size limit used by <a href="git-pack-objects.html">git-pack-objects(1)</a>
3459 when no limit is given on the command line. The value can be
3460 suffixed with "k", "m", or "g". Defaults to 0, meaning no
3461 limit.
3462 </p>
3463 </dd>
3464 <dt class="hdlist1">
3465 pack.compression
3466 </dt>
3467 <dd>
3469 An integer -1..9, indicating the compression level for objects
3470 in a pack file. -1 is the zlib default. 0 means no
3471 compression, and 1..9 are various speed/size tradeoffs, 9 being
3472 slowest. If not set, defaults to core.compression. If that is
3473 not set, defaults to -1, the zlib default, which is "a default
3474 compromise between speed and compression (currently equivalent
3475 to level 6)."
3476 </p>
3477 <div class="paragraph"><p>Note that changing the compression level will not automatically recompress
3478 all existing objects. You can force recompression by passing the -F option
3479 to <a href="git-repack.html">git-repack(1)</a>.</p></div>
3480 </dd>
3481 <dt class="hdlist1">
3482 pack.deltaCacheSize
3483 </dt>
3484 <dd>
3486 The maximum memory in bytes used for caching deltas in
3487 <a href="git-pack-objects.html">git-pack-objects(1)</a> before writing them out to a pack.
3488 This cache is used to speed up the writing object phase by not
3489 having to recompute the final delta result once the best match
3490 for all objects is found. Repacking large repositories on machines
3491 which are tight with memory might be badly impacted by this though,
3492 especially if this cache pushes the system into swapping.
3493 A value of 0 means no limit. The smallest size of 1 byte may be
3494 used to virtually disable this cache. Defaults to 256 MiB.
3495 </p>
3496 </dd>
3497 <dt class="hdlist1">
3498 pack.deltaCacheLimit
3499 </dt>
3500 <dd>
3502 The maximum size of a delta, that is cached in
3503 <a href="git-pack-objects.html">git-pack-objects(1)</a>. This cache is used to speed up the
3504 writing object phase by not having to recompute the final delta
3505 result once the best match for all objects is found. Defaults to 1000.
3506 </p>
3507 </dd>
3508 <dt class="hdlist1">
3509 pack.threads
3510 </dt>
3511 <dd>
3513 Specifies the number of threads to spawn when searching for best
3514 delta matches. This requires that <a href="git-pack-objects.html">git-pack-objects(1)</a>
3515 be compiled with pthreads otherwise this option is ignored with a
3516 warning. This is meant to reduce packing time on multiprocessor
3517 machines. The required amount of memory for the delta search window
3518 is however multiplied by the number of threads.
3519 Specifying 0 will cause git to auto-detect the number of CPU&#8217;s
3520 and set the number of threads accordingly.
3521 </p>
3522 </dd>
3523 <dt class="hdlist1">
3524 pack.indexVersion
3525 </dt>
3526 <dd>
3528 Specify the default pack index version. Valid values are 1 for
3529 legacy pack index used by Git versions prior to 1.5.2, and 2 for
3530 the new pack index with capabilities for packs larger than 4 GB
3531 as well as proper protection against the repacking of corrupted
3532 packs. Version 2 is the default. Note that version 2 is enforced
3533 and this config option ignored whenever the corresponding pack is
3534 larger than 2 GB.
3535 </p>
3536 <div class="paragraph"><p>If you have an old git that does not understand the version 2 <tt>&#42;.idx</tt> file,
3537 cloning or fetching over a non native protocol (e.g. "http" and "rsync")
3538 that will copy both <tt>&#42;.pack</tt> file and corresponding <tt>&#42;.idx</tt> file from the
3539 other side may give you a repository that cannot be accessed with your
3540 older version of git. If the <tt>&#42;.pack</tt> file is smaller than 2 GB, however,
3541 you can use <a href="git-index-pack.html">git-index-pack(1)</a> on the *.pack file to regenerate
3542 the <tt>&#42;.idx</tt> file.</p></div>
3543 </dd>
3544 <dt class="hdlist1">
3545 pack.packSizeLimit
3546 </dt>
3547 <dd>
3549 The maximum size of a pack. This setting only affects
3550 packing to a file when repacking, i.e. the git:// protocol
3551 is unaffected. It can be overridden by the <tt>--max-pack-size</tt>
3552 option of <a href="git-repack.html">git-repack(1)</a>. The minimum size allowed is
3553 limited to 1 MiB. The default is unlimited.
3554 Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are
3555 supported.
3556 </p>
3557 </dd>
3558 <dt class="hdlist1">
3559 pager.&lt;cmd&gt;
3560 </dt>
3561 <dd>
3563 If the value is boolean, turns on or off pagination of the
3564 output of a particular git subcommand when writing to a tty.
3565 Otherwise, turns on pagination for the subcommand using the
3566 pager specified by the value of <tt>pager.&lt;cmd&gt;</tt>. If <tt>--paginate</tt>
3567 or <tt>--no-pager</tt> is specified on the command line, it takes
3568 precedence over this option. To disable pagination for all
3569 commands, set <tt>core.pager</tt> or <tt>GIT_PAGER</tt> to <tt>cat</tt>.
3570 </p>
3571 </dd>
3572 <dt class="hdlist1">
3573 pretty.&lt;name&gt;
3574 </dt>
3575 <dd>
3577 Alias for a --pretty= format string, as specified in
3578 <a href="git-log.html">git-log(1)</a>. Any aliases defined here can be used just
3579 as the built-in pretty formats could. For example,
3580 running <tt>git config pretty.changelog "format:&#42; %H %s"</tt>
3581 would cause the invocation <tt>git log --pretty=changelog</tt>
3582 to be equivalent to running <tt>git log "--pretty=format:&#42; %H %s"</tt>.
3583 Note that an alias with the same name as a built-in format
3584 will be silently ignored.
3585 </p>
3586 </dd>
3587 <dt class="hdlist1">
3588 pull.octopus
3589 </dt>
3590 <dd>
3592 The default merge strategy to use when pulling multiple branches
3593 at once.
3594 </p>
3595 </dd>
3596 <dt class="hdlist1">
3597 pull.twohead
3598 </dt>
3599 <dd>
3601 The default merge strategy to use when pulling a single branch.
3602 </p>
3603 </dd>
3604 <dt class="hdlist1">
3605 push.default
3606 </dt>
3607 <dd>
3609 Defines the action git push should take if no refspec is given
3610 on the command line, no refspec is configured in the remote, and
3611 no refspec is implied by any of the options given on the command
3612 line. Possible values are:
3613 </p>
3614 <div class="ulist"><ul>
3615 <li>
3617 <tt>nothing</tt> - do not push anything.
3618 </p>
3619 </li>
3620 <li>
3622 <tt>matching</tt> - push all matching branches.
3623 All branches having the same name in both ends are considered to be
3624 matching. This is the default.
3625 </p>
3626 </li>
3627 <li>
3629 <tt>tracking</tt> - push the current branch to its upstream branch.
3630 </p>
3631 </li>
3632 <li>
3634 <tt>current</tt> - push the current branch to a branch of the same name.
3635 </p>
3636 </li>
3637 </ul></div>
3638 </dd>
3639 <dt class="hdlist1">
3640 rebase.stat
3641 </dt>
3642 <dd>
3644 Whether to show a diffstat of what changed upstream since the last
3645 rebase. False by default.
3646 </p>
3647 </dd>
3648 <dt class="hdlist1">
3649 rebase.autosquash
3650 </dt>
3651 <dd>
3653 If set to true enable <em>--autosquash</em> option by default.
3654 </p>
3655 </dd>
3656 <dt class="hdlist1">
3657 receive.autogc
3658 </dt>
3659 <dd>
3661 By default, git-receive-pack will run "git-gc --auto" after
3662 receiving data from git-push and updating refs. You can stop
3663 it by setting this variable to false.
3664 </p>
3665 </dd>
3666 <dt class="hdlist1">
3667 receive.fsckObjects
3668 </dt>
3669 <dd>
3671 If it is set to true, git-receive-pack will check all received
3672 objects. It will abort in the case of a malformed object or a
3673 broken link. The result of an abort are only dangling objects.
3674 Defaults to false.
3675 </p>
3676 </dd>
3677 <dt class="hdlist1">
3678 receive.unpackLimit
3679 </dt>
3680 <dd>
3682 If the number of objects received in a push is below this
3683 limit then the objects will be unpacked into loose object
3684 files. However if the number of received objects equals or
3685 exceeds this limit then the received pack will be stored as
3686 a pack, after adding any missing delta bases. Storing the
3687 pack from a push can make the push operation complete faster,
3688 especially on slow filesystems. If not set, the value of
3689 <tt>transfer.unpackLimit</tt> is used instead.
3690 </p>
3691 </dd>
3692 <dt class="hdlist1">
3693 receive.denyDeletes
3694 </dt>
3695 <dd>
3697 If set to true, git-receive-pack will deny a ref update that deletes
3698 the ref. Use this to prevent such a ref deletion via a push.
3699 </p>
3700 </dd>
3701 <dt class="hdlist1">
3702 receive.denyDeleteCurrent
3703 </dt>
3704 <dd>
3706 If set to true, git-receive-pack will deny a ref update that
3707 deletes the currently checked out branch of a non-bare repository.
3708 </p>
3709 </dd>
3710 <dt class="hdlist1">
3711 receive.denyCurrentBranch
3712 </dt>
3713 <dd>
3715 If set to true or "refuse", git-receive-pack will deny a ref update
3716 to the currently checked out branch of a non-bare repository.
3717 Such a push is potentially dangerous because it brings the HEAD
3718 out of sync with the index and working tree. If set to "warn",
3719 print a warning of such a push to stderr, but allow the push to
3720 proceed. If set to false or "ignore", allow such pushes with no
3721 message. Defaults to "refuse".
3722 </p>
3723 </dd>
3724 <dt class="hdlist1">
3725 receive.denyNonFastForwards
3726 </dt>
3727 <dd>
3729 If set to true, git-receive-pack will deny a ref update which is
3730 not a fast-forward. Use this to prevent such an update via a push,
3731 even if that push is forced. This configuration variable is
3732 set when initializing a shared repository.
3733 </p>
3734 </dd>
3735 <dt class="hdlist1">
3736 receive.updateserverinfo
3737 </dt>
3738 <dd>
3740 If set to true, git-receive-pack will run git-update-server-info
3741 after receiving data from git-push and updating refs.
3742 </p>
3743 </dd>
3744 <dt class="hdlist1">
3745 remote.&lt;name&gt;.url
3746 </dt>
3747 <dd>
3749 The URL of a remote repository. See <a href="git-fetch.html">git-fetch(1)</a> or
3750 <a href="git-push.html">git-push(1)</a>.
3751 </p>
3752 </dd>
3753 <dt class="hdlist1">
3754 remote.&lt;name&gt;.pushurl
3755 </dt>
3756 <dd>
3758 The push URL of a remote repository. See <a href="git-push.html">git-push(1)</a>.
3759 </p>
3760 </dd>
3761 <dt class="hdlist1">
3762 remote.&lt;name&gt;.proxy
3763 </dt>
3764 <dd>
3766 For remotes that require curl (http, https and ftp), the URL to
3767 the proxy to use for that remote. Set to the empty string to
3768 disable proxying for that remote.
3769 </p>
3770 </dd>
3771 <dt class="hdlist1">
3772 remote.&lt;name&gt;.fetch
3773 </dt>
3774 <dd>
3776 The default set of "refspec" for <a href="git-fetch.html">git-fetch(1)</a>. See
3777 <a href="git-fetch.html">git-fetch(1)</a>.
3778 </p>
3779 </dd>
3780 <dt class="hdlist1">
3781 remote.&lt;name&gt;.push
3782 </dt>
3783 <dd>
3785 The default set of "refspec" for <a href="git-push.html">git-push(1)</a>. See
3786 <a href="git-push.html">git-push(1)</a>.
3787 </p>
3788 </dd>
3789 <dt class="hdlist1">
3790 remote.&lt;name&gt;.mirror
3791 </dt>
3792 <dd>
3794 If true, pushing to this remote will automatically behave
3795 as if the <tt>--mirror</tt> option was given on the command line.
3796 </p>
3797 </dd>
3798 <dt class="hdlist1">
3799 remote.&lt;name&gt;.skipDefaultUpdate
3800 </dt>
3801 <dd>
3803 If true, this remote will be skipped by default when updating
3804 using <a href="git-fetch.html">git-fetch(1)</a> or the <tt>update</tt> subcommand of
3805 <a href="git-remote.html">git-remote(1)</a>.
3806 </p>
3807 </dd>
3808 <dt class="hdlist1">
3809 remote.&lt;name&gt;.skipFetchAll
3810 </dt>
3811 <dd>
3813 If true, this remote will be skipped by default when updating
3814 using <a href="git-fetch.html">git-fetch(1)</a> or the <tt>update</tt> subcommand of
3815 <a href="git-remote.html">git-remote(1)</a>.
3816 </p>
3817 </dd>
3818 <dt class="hdlist1">
3819 remote.&lt;name&gt;.receivepack
3820 </dt>
3821 <dd>
3823 The default program to execute on the remote side when pushing. See
3824 option --receive-pack of <a href="git-push.html">git-push(1)</a>.
3825 </p>
3826 </dd>
3827 <dt class="hdlist1">
3828 remote.&lt;name&gt;.uploadpack
3829 </dt>
3830 <dd>
3832 The default program to execute on the remote side when fetching. See
3833 option --upload-pack of <a href="git-fetch-pack.html">git-fetch-pack(1)</a>.
3834 </p>
3835 </dd>
3836 <dt class="hdlist1">
3837 remote.&lt;name&gt;.tagopt
3838 </dt>
3839 <dd>
3841 Setting this value to --no-tags disables automatic tag following when
3842 fetching from remote &lt;name&gt;. Setting it to --tags will fetch every
3843 tag from remote &lt;name&gt;, even if they are not reachable from remote
3844 branch heads. Passing these flags directly to <a href="git-fetch.html">git-fetch(1)</a> can
3845 override this setting. See options --tags and --no-tags of
3846 <a href="git-fetch.html">git-fetch(1)</a>.
3847 </p>
3848 </dd>
3849 <dt class="hdlist1">
3850 remote.&lt;name&gt;.vcs
3851 </dt>
3852 <dd>
3854 Setting this to a value &lt;vcs&gt; will cause git to interact with
3855 the remote with the git-remote-&lt;vcs&gt; helper.
3856 </p>
3857 </dd>
3858 <dt class="hdlist1">
3859 remotes.&lt;group&gt;
3860 </dt>
3861 <dd>
3863 The list of remotes which are fetched by "git remote update
3864 &lt;group&gt;". See <a href="git-remote.html">git-remote(1)</a>.
3865 </p>
3866 </dd>
3867 <dt class="hdlist1">
3868 repack.usedeltabaseoffset
3869 </dt>
3870 <dd>
3872 By default, <a href="git-repack.html">git-repack(1)</a> creates packs that use
3873 delta-base offset. If you need to share your repository with
3874 git older than version 1.4.4, either directly or via a dumb
3875 protocol such as http, then you need to set this option to
3876 "false" and repack. Access from old git versions over the
3877 native protocol are unaffected by this option.
3878 </p>
3879 </dd>
3880 <dt class="hdlist1">
3881 rerere.autoupdate
3882 </dt>
3883 <dd>
3885 When set to true, <tt>git-rerere</tt> updates the index with the
3886 resulting contents after it cleanly resolves conflicts using
3887 previously recorded resolution. Defaults to false.
3888 </p>
3889 </dd>
3890 <dt class="hdlist1">
3891 rerere.enabled
3892 </dt>
3893 <dd>
3895 Activate recording of resolved conflicts, so that identical
3896 conflict hunks can be resolved automatically, should they
3897 be encountered again. <a href="git-rerere.html">git-rerere(1)</a> command is by
3898 default enabled if you create <tt>rr-cache</tt> directory under
3899 <tt>$GIT_DIR</tt>, but can be disabled by setting this option to false.
3900 </p>
3901 </dd>
3902 <dt class="hdlist1">
3903 sendemail.identity
3904 </dt>
3905 <dd>
3907 A configuration identity. When given, causes values in the
3908 <em>sendemail.&lt;identity&gt;</em> subsection to take precedence over
3909 values in the <em>sendemail</em> section. The default identity is
3910 the value of <em>sendemail.identity</em>.
3911 </p>
3912 </dd>
3913 <dt class="hdlist1">
3914 sendemail.smtpencryption
3915 </dt>
3916 <dd>
3918 See <a href="git-send-email.html">git-send-email(1)</a> for description. Note that this
3919 setting is not subject to the <em>identity</em> mechanism.
3920 </p>
3921 </dd>
3922 <dt class="hdlist1">
3923 sendemail.smtpssl
3924 </dt>
3925 <dd>
3927 Deprecated alias for <em>sendemail.smtpencryption = ssl</em>.
3928 </p>
3929 </dd>
3930 <dt class="hdlist1">
3931 sendemail.&lt;identity&gt;.*
3932 </dt>
3933 <dd>
3935 Identity-specific versions of the <em>sendemail.*</em> parameters
3936 found below, taking precedence over those when the this
3937 identity is selected, through command-line or
3938 <em>sendemail.identity</em>.
3939 </p>
3940 </dd>
3941 <dt class="hdlist1">
3942 sendemail.aliasesfile
3943 </dt>
3944 <dt class="hdlist1">
3945 sendemail.aliasfiletype
3946 </dt>
3947 <dt class="hdlist1">
3948 sendemail.bcc
3949 </dt>
3950 <dt class="hdlist1">
3951 sendemail.cc
3952 </dt>
3953 <dt class="hdlist1">
3954 sendemail.cccmd
3955 </dt>
3956 <dt class="hdlist1">
3957 sendemail.chainreplyto
3958 </dt>
3959 <dt class="hdlist1">
3960 sendemail.confirm
3961 </dt>
3962 <dt class="hdlist1">
3963 sendemail.envelopesender
3964 </dt>
3965 <dt class="hdlist1">
3966 sendemail.from
3967 </dt>
3968 <dt class="hdlist1">
3969 sendemail.multiedit
3970 </dt>
3971 <dt class="hdlist1">
3972 sendemail.signedoffbycc
3973 </dt>
3974 <dt class="hdlist1">
3975 sendemail.smtppass
3976 </dt>
3977 <dt class="hdlist1">
3978 sendemail.suppresscc
3979 </dt>
3980 <dt class="hdlist1">
3981 sendemail.suppressfrom
3982 </dt>
3983 <dt class="hdlist1">
3984 sendemail.to
3985 </dt>
3986 <dt class="hdlist1">
3987 sendemail.smtpdomain
3988 </dt>
3989 <dt class="hdlist1">
3990 sendemail.smtpserver
3991 </dt>
3992 <dt class="hdlist1">
3993 sendemail.smtpserverport
3994 </dt>
3995 <dt class="hdlist1">
3996 sendemail.smtpserveroption
3997 </dt>
3998 <dt class="hdlist1">
3999 sendemail.smtpuser
4000 </dt>
4001 <dt class="hdlist1">
4002 sendemail.thread
4003 </dt>
4004 <dt class="hdlist1">
4005 sendemail.validate
4006 </dt>
4007 <dd>
4009 See <a href="git-send-email.html">git-send-email(1)</a> for description.
4010 </p>
4011 </dd>
4012 <dt class="hdlist1">
4013 sendemail.signedoffcc
4014 </dt>
4015 <dd>
4017 Deprecated alias for <em>sendemail.signedoffbycc</em>.
4018 </p>
4019 </dd>
4020 <dt class="hdlist1">
4021 showbranch.default
4022 </dt>
4023 <dd>
4025 The default set of branches for <a href="git-show-branch.html">git-show-branch(1)</a>.
4026 See <a href="git-show-branch.html">git-show-branch(1)</a>.
4027 </p>
4028 </dd>
4029 <dt class="hdlist1">
4030 status.relativePaths
4031 </dt>
4032 <dd>
4034 By default, <a href="git-status.html">git-status(1)</a> shows paths relative to the
4035 current directory. Setting this variable to <tt>false</tt> shows paths
4036 relative to the repository root (this was the default for git
4037 prior to v1.5.4).
4038 </p>
4039 </dd>
4040 <dt class="hdlist1">
4041 status.showUntrackedFiles
4042 </dt>
4043 <dd>
4045 By default, <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a> show
4046 files which are not currently tracked by Git. Directories which
4047 contain only untracked files, are shown with the directory name
4048 only. Showing untracked files means that Git needs to lstat() all
4049 all the files in the whole repository, which might be slow on some
4050 systems. So, this variable controls how the commands displays
4051 the untracked files. Possible values are:
4052 </p>
4053 <div class="ulist"><ul>
4054 <li>
4056 <tt>no</tt> - Show no untracked files.
4057 </p>
4058 </li>
4059 <li>
4061 <tt>normal</tt> - Show untracked files and directories.
4062 </p>
4063 </li>
4064 <li>
4066 <tt>all</tt> - Show also individual files in untracked directories.
4067 </p>
4068 </li>
4069 </ul></div>
4070 <div class="paragraph"><p>If this variable is not specified, it defaults to <em>normal</em>.
4071 This variable can be overridden with the -u|--untracked-files option
4072 of <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a>.</p></div>
4073 </dd>
4074 <dt class="hdlist1">
4075 status.submodulesummary
4076 </dt>
4077 <dd>
4079 Defaults to false.
4080 If this is set to a non zero number or true (identical to -1 or an
4081 unlimited number), the submodule summary will be enabled and a
4082 summary of commits for modified submodules will be shown (see
4083 --summary-limit option of <a href="git-submodule.html">git-submodule(1)</a>).
4084 </p>
4085 </dd>
4086 <dt class="hdlist1">
4087 submodule.&lt;name&gt;.path
4088 </dt>
4089 <dt class="hdlist1">
4090 submodule.&lt;name&gt;.url
4091 </dt>
4092 <dt class="hdlist1">
4093 submodule.&lt;name&gt;.update
4094 </dt>
4095 <dd>
4097 The path within this project, URL, and the updating strategy
4098 for a submodule. These variables are initially populated
4099 by <em>git submodule init</em>; edit them to override the
4100 URL and other values found in the <tt>.gitmodules</tt> file. See
4101 <a href="git-submodule.html">git-submodule(1)</a> and <a href="gitmodules.html">gitmodules(5)</a> for details.
4102 </p>
4103 </dd>
4104 <dt class="hdlist1">
4105 submodule.&lt;name&gt;.fetchRecurseSubmodules
4106 </dt>
4107 <dd>
4109 This option can be used to enable/disable recursive fetching of this
4110 submodule. It can be overridden by using the --[no-]recurse-submodules
4111 command line option to "git fetch" and "git pull".
4112 This setting will override that from in the <a href="gitmodules.html">gitmodules(5)</a>
4113 file.
4114 </p>
4115 </dd>
4116 <dt class="hdlist1">
4117 submodule.&lt;name&gt;.ignore
4118 </dt>
4119 <dd>
4121 Defines under what circumstances "git status" and the diff family show
4122 a submodule as modified. When set to "all", it will never be considered
4123 modified, "dirty" will ignore all changes to the submodules work tree and
4124 takes only differences between the HEAD of the submodule and the commit
4125 recorded in the superproject into account. "untracked" will additionally
4126 let submodules with modified tracked files in their work tree show up.
4127 Using "none" (the default when this option is not set) also shows
4128 submodules that have untracked files in their work tree as changed.
4129 This setting overrides any setting made in .gitmodules for this submodule,
4130 both settings can be overridden on the command line by using the
4131 "--ignore-submodules" option.
4132 </p>
4133 </dd>
4134 <dt class="hdlist1">
4135 tar.umask
4136 </dt>
4137 <dd>
4139 This variable can be used to restrict the permission bits of
4140 tar archive entries. The default is 0002, which turns off the
4141 world write bit. The special value "user" indicates that the
4142 archiving user&#8217;s umask will be used instead. See umask(2) and
4143 <a href="git-archive.html">git-archive(1)</a>.
4144 </p>
4145 </dd>
4146 <dt class="hdlist1">
4147 transfer.unpackLimit
4148 </dt>
4149 <dd>
4151 When <tt>fetch.unpackLimit</tt> or <tt>receive.unpackLimit</tt> are
4152 not set, the value of this variable is used instead.
4153 The default value is 100.
4154 </p>
4155 </dd>
4156 <dt class="hdlist1">
4157 url.&lt;base&gt;.insteadOf
4158 </dt>
4159 <dd>
4161 Any URL that starts with this value will be rewritten to
4162 start, instead, with &lt;base&gt;. In cases where some site serves a
4163 large number of repositories, and serves them with multiple
4164 access methods, and some users need to use different access
4165 methods, this feature allows people to specify any of the
4166 equivalent URLs and have git automatically rewrite the URL to
4167 the best alternative for the particular user, even for a
4168 never-before-seen repository on the site. When more than one
4169 insteadOf strings match a given URL, the longest match is used.
4170 </p>
4171 </dd>
4172 <dt class="hdlist1">
4173 url.&lt;base&gt;.pushInsteadOf
4174 </dt>
4175 <dd>
4177 Any URL that starts with this value will not be pushed to;
4178 instead, it will be rewritten to start with &lt;base&gt;, and the
4179 resulting URL will be pushed to. In cases where some site serves
4180 a large number of repositories, and serves them with multiple
4181 access methods, some of which do not allow push, this feature
4182 allows people to specify a pull-only URL and have git
4183 automatically use an appropriate URL to push, even for a
4184 never-before-seen repository on the site. When more than one
4185 pushInsteadOf strings match a given URL, the longest match is
4186 used. If a remote has an explicit pushurl, git will ignore this
4187 setting for that remote.
4188 </p>
4189 </dd>
4190 <dt class="hdlist1">
4191 user.email
4192 </dt>
4193 <dd>
4195 Your email address to be recorded in any newly created commits.
4196 Can be overridden by the <em>GIT_AUTHOR_EMAIL</em>, <em>GIT_COMMITTER_EMAIL</em>, and
4197 <em>EMAIL</em> environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
4198 </p>
4199 </dd>
4200 <dt class="hdlist1">
4201 user.name
4202 </dt>
4203 <dd>
4205 Your full name to be recorded in any newly created commits.
4206 Can be overridden by the <em>GIT_AUTHOR_NAME</em> and <em>GIT_COMMITTER_NAME</em>
4207 environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
4208 </p>
4209 </dd>
4210 <dt class="hdlist1">
4211 user.signingkey
4212 </dt>
4213 <dd>
4215 If <a href="git-tag.html">git-tag(1)</a> is not selecting the key you want it to
4216 automatically when creating a signed tag, you can override the
4217 default selection with this variable. This option is passed
4218 unchanged to gpg&#8217;s --local-user parameter, so you may specify a key
4219 using any method that gpg supports.
4220 </p>
4221 </dd>
4222 <dt class="hdlist1">
4223 web.browser
4224 </dt>
4225 <dd>
4227 Specify a web browser that may be used by some commands.
4228 Currently only <a href="git-instaweb.html">git-instaweb(1)</a> and <a href="git-help.html">git-help(1)</a>
4229 may use it.
4230 </p>
4231 </dd>
4232 </dl></div>
4233 </div>
4234 <h2 id="_author">Author</h2>
4235 <div class="sectionbody">
4236 <div class="paragraph"><p>Written by Johannes Schindelin &lt;<a href="mailto:Johannes.Schindelin@gmx.de">Johannes.Schindelin@gmx.de</a>&gt;</p></div>
4237 </div>
4238 <h2 id="_documentation">Documentation</h2>
4239 <div class="sectionbody">
4240 <div class="paragraph"><p>Documentation by Johannes Schindelin, Petr Baudis and the git-list &lt;<a href="mailto:git@vger.kernel.org">git@vger.kernel.org</a>&gt;.</p></div>
4241 </div>
4242 <h2 id="_git">GIT</h2>
4243 <div class="sectionbody">
4244 <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
4245 </div>
4246 <div id="footer">
4247 <div id="footer-text">
4248 Last updated 2010-01-21 17:44:19 UTC
4249 </div>
4250 </div>
4251 </body>
4252 </html>