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