blob: cd9c454958a0fba64c6c82a1f59fd86a2294228a [file] [log] [blame]
Junio C Hamano7ad22dc2007-01-29 02:55:481<!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 7.0.2" />
7<style type="text/css">
8/* Debug borders */
9p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
10/*
11 border: 1px solid red;
12*/
13}
14
15body {
16 margin: 1em 5% 1em 5%;
17}
18
19a { color: blue; }
20a:visited { color: fuchsia; }
21
22em {
23 font-style: italic;
24}
25
26strong {
27 font-weight: bold;
28}
29
30tt {
31 color: navy;
32}
33
34h1, h2, h3, h4, h5, h6 {
35 color: #527bbd;
36 font-family: sans-serif;
37 margin-top: 1.2em;
38 margin-bottom: 0.5em;
39 line-height: 1.3;
40}
41
42h1 {
43 border-bottom: 2px solid silver;
44}
45h2 {
46 border-bottom: 2px solid silver;
47 padding-top: 0.5em;
48}
49
50div.sectionbody {
51 font-family: serif;
52 margin-left: 0;
53}
54
55hr {
56 border: 1px solid silver;
57}
58
59p {
60 margin-top: 0.5em;
61 margin-bottom: 0.5em;
62}
63
64pre {
65 padding: 0;
66 margin: 0;
67}
68
69span#author {
70 color: #527bbd;
71 font-family: sans-serif;
72 font-weight: bold;
73 font-size: 1.2em;
74}
75span#email {
76}
77span#revision {
78 font-family: sans-serif;
79}
80
81div#footer {
82 font-family: sans-serif;
83 font-size: small;
84 border-top: 2px solid silver;
85 padding-top: 0.5em;
86 margin-top: 4.0em;
87}
88div#footer-text {
89 float: left;
90 padding-bottom: 0.5em;
91}
92div#footer-badges {
93 float: right;
94 padding-bottom: 0.5em;
95}
96
97div#preamble,
98div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
99div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
100div.admonitionblock {
101 margin-right: 10%;
102 margin-top: 1.5em;
103 margin-bottom: 1.5em;
104}
105div.admonitionblock {
106 margin-top: 2.5em;
107 margin-bottom: 2.5em;
108}
109
110div.content { /* Block element content. */
111 padding: 0;
112}
113
114/* Block element titles. */
115div.title, caption.title {
116 font-family: sans-serif;
117 font-weight: bold;
118 text-align: left;
119 margin-top: 1.0em;
120 margin-bottom: 0.5em;
121}
122div.title + * {
123 margin-top: 0;
124}
125
126td div.title:first-child {
127 margin-top: 0.0em;
128}
129div.content div.title:first-child {
130 margin-top: 0.0em;
131}
132div.content + div.title {
133 margin-top: 0.0em;
134}
135
136div.sidebarblock > div.content {
137 background: #ffffee;
138 border: 1px solid silver;
139 padding: 0.5em;
140}
141
142div.listingblock > div.content {
143 border: 1px solid silver;
144 background: #f4f4f4;
145 padding: 0.5em;
146}
147
148div.quoteblock > div.content {
149 padding-left: 2.0em;
150}
151div.quoteblock .attribution {
152 text-align: right;
153}
154
155div.admonitionblock .icon {
156 vertical-align: top;
157 font-size: 1.1em;
158 font-weight: bold;
159 text-decoration: underline;
160 color: #527bbd;
161 padding-right: 0.5em;
162}
163div.admonitionblock td.content {
164 padding-left: 0.5em;
165 border-left: 2px solid silver;
166}
167
168div.exampleblock > div.content {
169 border-left: 2px solid silver;
170 padding: 0.5em;
171}
172
173div.verseblock div.content {
174 white-space: pre;
175}
176
177div.imageblock div.content { padding-left: 0; }
178div.imageblock img { border: 1px solid silver; }
179span.image img { border-style: none; }
180
181dl {
182 margin-top: 0.8em;
183 margin-bottom: 0.8em;
184}
185dt {
186 margin-top: 0.5em;
187 margin-bottom: 0;
188 font-style: italic;
189}
190dd > *:first-child {
191 margin-top: 0;
192}
193
194ul, ol {
195 list-style-position: outside;
196}
197ol.olist2 {
198 list-style-type: lower-alpha;
199}
200
201div.tableblock > table {
202 border-color: #527bbd;
203 border-width: 3px;
204}
205thead {
206 font-family: sans-serif;
207 font-weight: bold;
208}
209tfoot {
210 font-weight: bold;
211}
212
213div.hlist {
214 margin-top: 0.8em;
215 margin-bottom: 0.8em;
216}
217td.hlist1 {
218 vertical-align: top;
219 font-style: italic;
220 padding-right: 0.8em;
221}
222td.hlist2 {
223 vertical-align: top;
224}
225
226@media print {
227 div#footer-badges { display: none; }
228}
229include::./stylesheets/xhtml11-manpage.css[]
230/* Workarounds for IE6's broken and incomplete CSS2. */
231
232div.sidebar-content {
233 background: #ffffee;
234 border: 1px solid silver;
235 padding: 0.5em;
236}
237div.sidebar-title, div.image-title {
238 font-family: sans-serif;
239 font-weight: bold;
240 margin-top: 0.0em;
241 margin-bottom: 0.5em;
242}
243
244div.listingblock div.content {
245 border: 1px solid silver;
246 background: #f4f4f4;
247 padding: 0.5em;
248}
249
250div.quoteblock-content {
251 padding-left: 2.0em;
252}
253
254div.exampleblock-content {
255 border-left: 2px solid silver;
256 padding-left: 0.5em;
257}
258</style>
259<title>git-config(1)</title>
260</head>
261<body>
262<div id="header">
263<h1>
264git-config(1) Manual Page
265</h1>
266<h2>NAME</h2>
267<div class="sectionbody">
268<p>git-config -
269 Get and set repository or global options
270</p>
271</div>
272</div>
273<h2>SYNOPSIS</h2>
274<div class="sectionbody">
275<div class="verseblock">
Junio C Hamanod526ba92007-07-02 00:17:42276<div class="content"><em>git-config</em> [--system | --global] [type] [-z|--null] name [value [value_regex]]
277<em>git-config</em> [--system | --global] [type] --add name value
278<em>git-config</em> [--system | --global] [type] --replace-all name [value [value_regex]]
Junio C Hamanoddc5ad42007-06-27 07:14:52279<em>git-config</em> [--system | --global] [type] [-z|--null] --get name [value_regex]
280<em>git-config</em> [--system | --global] [type] [-z|--null] --get-all name [value_regex]
281<em>git-config</em> [--system | --global] [type] [-z|--null] --get-regexp name_regex [value_regex]
Junio C Hamanoa5c02c52007-05-21 06:14:27282<em>git-config</em> [--system | --global] --unset name [value_regex]
283<em>git-config</em> [--system | --global] --unset-all name [value_regex]
284<em>git-config</em> [--system | --global] --rename-section old_name new_name
285<em>git-config</em> [--system | --global] --remove-section name
Junio C Hamanoddc5ad42007-06-27 07:14:52286<em>git-config</em> [--system | --global] [-z|--null] -l | --list</div></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48287</div>
288<h2>DESCRIPTION</h2>
289<div class="sectionbody">
290<p>You can query/set/replace/unset options with this command. The name is
291actually the section and the key separated by a dot, and the value will be
292escaped.</p>
293<p>Multiple lines can be added to an option by using the <em>--add</em> option.
294If you want to update or unset an option which can occur on multiple
295lines, a POSIX regexp <tt>value_regex</tt> needs to be given. Only the
296existing values that match the regexp are updated or unset. If
297you want to handle the lines that do <strong>not</strong> match the regex, just
Junio C Hamano6fddfe52007-05-31 07:38:19298prepend a single exclamation mark in front (see also <a href="#EXAMPLES">[EXAMPLES]</a>).</p>
Junio C Hamano7ad22dc2007-01-29 02:55:48299<p>The type specifier can be either <em>--int</em> or <em>--bool</em>, which will make
300<em>git-config</em> ensure that the variable(s) are of the given type and
301convert the value to the canonical form (simple decimal number for int,
Junio C Hamanod526ba92007-07-02 00:17:42302a "true" or "false" string for bool). If no type specifier is passed,
Junio C Hamano7ad22dc2007-01-29 02:55:48303no checks or transformations are performed on the value.</p>
304<p>This command will fail if:</p>
305<ol>
306<li>
307<p>
308The .git/config file is invalid,
309</p>
310</li>
311<li>
312<p>
313Can not write to .git/config,
314</p>
315</li>
316<li>
317<p>
318no section was provided,
319</p>
320</li>
321<li>
322<p>
323the section or key is invalid,
324</p>
325</li>
326<li>
327<p>
328you try to unset an option which does not exist,
329</p>
330</li>
331<li>
332<p>
333you try to unset/set an option for which multiple lines match, or
334</p>
335</li>
336<li>
337<p>
Junio C Hamano6fddfe52007-05-31 07:38:19338you use <em>--global</em> option without $HOME being properly set.
Junio C Hamano7ad22dc2007-01-29 02:55:48339</p>
340</li>
341</ol>
342</div>
343<h2>OPTIONS</h2>
344<div class="sectionbody">
345<dl>
346<dt>
347--replace-all
348</dt>
349<dd>
350<p>
351 Default behavior is to replace at most one line. This replaces
352 all lines matching the key (and optionally the value_regex).
353</p>
354</dd>
355<dt>
356--add
357</dt>
358<dd>
359<p>
360 Adds a new line to the option without altering any existing
361 values. This is the same as providing <em>^$</em> as the value_regex.
362</p>
363</dd>
364<dt>
365--get
366</dt>
367<dd>
368<p>
369 Get the value for a given key (optionally filtered by a regex
370 matching the value). Returns error code 1 if the key was not
371 found and error code 2 if multiple key values were found.
372</p>
373</dd>
374<dt>
375--get-all
376</dt>
377<dd>
378<p>
379 Like get, but does not fail if the number of values for the key
380 is not exactly one.
381</p>
382</dd>
383<dt>
384--get-regexp
385</dt>
386<dd>
387<p>
388 Like --get-all, but interprets the name as a regular expression.
Junio C Hamanoddc5ad42007-06-27 07:14:52389 Also outputs the key names.
Junio C Hamano7ad22dc2007-01-29 02:55:48390</p>
391</dd>
392<dt>
393--global
394</dt>
395<dd>
396<p>
Junio C Hamano6fddfe52007-05-31 07:38:19397 For writing options: write to global ~/.gitconfig file rather than
398 the repository .git/config.
Junio C Hamano7ad22dc2007-01-29 02:55:48399</p>
Junio C Hamano6fddfe52007-05-31 07:38:19400<p>For reading options: read only from global ~/.gitconfig rather than
401from all available files.</p>
402<p>See also <a href="#FILES">[FILES]</a>.</p>
Junio C Hamano7ad22dc2007-01-29 02:55:48403</dd>
404<dt>
Junio C Hamano81c711d2007-04-20 07:20:14405--system
406</dt>
407<dd>
408<p>
Junio C Hamano6fddfe52007-05-31 07:38:19409 For writing options: write to system-wide $(prefix)/etc/gitconfig
410 rather than the repository .git/config.
Junio C Hamano81c711d2007-04-20 07:20:14411</p>
Junio C Hamano6fddfe52007-05-31 07:38:19412<p>For reading options: read only from system-wide $(prefix)/etc/gitconfig
413rather than from all available files.</p>
414<p>See also <a href="#FILES">[FILES]</a>.</p>
Junio C Hamano81c711d2007-04-20 07:20:14415</dd>
416<dt>
Junio C Hamanod15328a2007-03-09 09:06:40417--remove-section
418</dt>
419<dd>
420<p>
421 Remove the given section from the configuration file.
422</p>
423</dd>
424<dt>
425--rename-section
426</dt>
427<dd>
428<p>
429 Rename the given section to a new name.
430</p>
431</dd>
432<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:48433--unset
434</dt>
435<dd>
436<p>
437 Remove the line matching the key from config file.
438</p>
439</dd>
440<dt>
441--unset-all
442</dt>
443<dd>
444<p>
Junio C Hamano10557772007-03-15 07:12:30445 Remove all lines matching the key from config file.
Junio C Hamano7ad22dc2007-01-29 02:55:48446</p>
447</dd>
448<dt>
449-l, --list
450</dt>
451<dd>
452<p>
453 List all variables set in config file.
454</p>
455</dd>
456<dt>
457--bool
458</dt>
459<dd>
460<p>
461 git-config will ensure that the output is "true" or "false"
462</p>
463</dd>
464<dt>
465--int
466</dt>
467<dd>
468<p>
469 git-config will ensure that the output is a simple
470 decimal number. An optional value suffix of <em>k</em>, <em>m</em>, or <em>g</em>
471 in the config file will cause the value to be multiplied
472 by 1024, 1048576, or 1073741824 prior to output.
473</p>
474</dd>
Junio C Hamanoddc5ad42007-06-27 07:14:52475<dt>
476-z, --null
477</dt>
478<dd>
479<p>
480 For all options that output values and/or keys, always
481 end values with with the null character (instead of a
482 newline). Use newline instead as a delimiter between
483 key and value. This allows for secure parsing of the
484 output without getting confused e.g. by values that
485 contain line breaks.
486</p>
487</dd>
Junio C Hamano7ad22dc2007-01-29 02:55:48488</dl>
489</div>
Junio C Hamano6fddfe52007-05-31 07:38:19490<h2><a id="FILES"></a>FILES</h2>
491<div class="sectionbody">
492<p>There are three files where git-config will search for configuration
493options:</p>
494<div class="literalblock">
495<div class="title">git/config::</div>
496<div class="content">
497<pre><tt>Repository specific configuration file. (The filename is
498of course relative to the repository root, not the working
499directory.)</tt></pre>
500</div></div>
501<dl>
502<dt>
503~/.gitconfig
504</dt>
505<dd>
506<p>
507 User-specific configuration file. Also called "global"
508 configuration file.
509</p>
510</dd>
511<dt>
512$(prefix)/etc/gitconfig
513</dt>
514<dd>
515<p>
516 System-wide configuration file.
517</p>
518</dd>
519</dl>
520<p>If no further options are given, all reading options will read all of these
521files that are available. If the global or the system-wide configuration
522file are not available they will be ignored. If the repository configuration
523file is not available or readable, git-config will exit with a non-zero
524error code. However, in neither case will an error message be issued.</p>
525<p>All writing options will per default write to the repository specific
526configuration file. Note that this also affects options like <em>--replace-all</em>
527and <em>--unset</em>. <strong>git-config will only ever change one file at a time</strong>.</p>
528<p>You can override these rules either by command line options or by environment
529variables. The <em>--global</em> and the <em>--system</em> options will limit the file used
530to the global or system-wide file respectively. The GIT_CONFIG environment
531variable has a similar effect, but you can specify any filename you want.</p>
532<p>The GIT_CONFIG_LOCAL environment variable on the other hand only changes
533the name used instead of the repository configuration file. The global and
534the system-wide configuration files will still be read. (For writing options
535this will obviously result in the same behavior as using GIT_CONFIG.)</p>
536</div>
Junio C Hamano7ad22dc2007-01-29 02:55:48537<h2>ENVIRONMENT</h2>
538<div class="sectionbody">
539<dl>
540<dt>
541GIT_CONFIG
542</dt>
543<dd>
544<p>
545 Take the configuration from the given file instead of .git/config.
Junio C Hamano6fddfe52007-05-31 07:38:19546 Using the "--global" option forces this to ~/.gitconfig. Using the
547 "--system" option forces this to $(prefix)/etc/gitconfig.
Junio C Hamano7ad22dc2007-01-29 02:55:48548</p>
549</dd>
550<dt>
551GIT_CONFIG_LOCAL
552</dt>
553<dd>
554<p>
Junio C Hamano6fddfe52007-05-31 07:38:19555 Take the configuration from the given file instead if .git/config.
556 Still read the global and the system-wide configuration files, though.
Junio C Hamano7ad22dc2007-01-29 02:55:48557</p>
558</dd>
559</dl>
Junio C Hamano6fddfe52007-05-31 07:38:19560<p>See also <a href="#FILES">[FILES]</a>.</p>
Junio C Hamano7ad22dc2007-01-29 02:55:48561</div>
Junio C Hamano6fddfe52007-05-31 07:38:19562<h2><a id="EXAMPLES"></a>EXAMPLES</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48563<div class="sectionbody">
564<p>Given a .git/config like this:</p>
565<div class="literalblock">
566<div class="content">
567<pre><tt>#
568# This is the config file, and
569# a '#' or ';' character indicates
570# a comment
571#</tt></pre>
572</div></div>
573<div class="literalblock">
574<div class="content">
575<pre><tt>; core variables
576[core]
577 ; Don't trust file modes
578 filemode = false</tt></pre>
579</div></div>
580<div class="literalblock">
581<div class="content">
582<pre><tt>; Our diff algorithm
583[diff]
584 external = "/usr/local/bin/gnu-diff -u"
585 renames = true</tt></pre>
586</div></div>
587<div class="literalblock">
588<div class="content">
589<pre><tt>; Proxy settings
590[core]
591 gitproxy="ssh" for "ssh://kernel.org/"
592 gitproxy="proxy-command" for kernel.org
593 gitproxy="myprotocol-command" for "my://"
594 gitproxy=default-proxy ; for all the rest</tt></pre>
595</div></div>
596<p>you can set the filemode to true with</p>
597<div class="listingblock">
598<div class="content">
599<pre><tt>% git config core.filemode true</tt></pre>
600</div></div>
601<p>The hypothetical proxy command entries actually have a postfix to discern
602what URL they apply to. Here is how to change the entry for kernel.org
603to "ssh".</p>
604<div class="listingblock">
605<div class="content">
606<pre><tt>% git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'</tt></pre>
607</div></div>
608<p>This makes sure that only the key/value pair for kernel.org is replaced.</p>
609<p>To delete the entry for renames, do</p>
610<div class="listingblock">
611<div class="content">
612<pre><tt>% git config --unset diff.renames</tt></pre>
613</div></div>
614<p>If you want to delete an entry for a multivar (like core.gitproxy above),
615you have to provide a regex matching the value of exactly one line.</p>
616<p>To query the value for a given key, do</p>
617<div class="listingblock">
618<div class="content">
619<pre><tt>% git config --get core.filemode</tt></pre>
620</div></div>
621<p>or</p>
622<div class="listingblock">
623<div class="content">
624<pre><tt>% git config core.filemode</tt></pre>
625</div></div>
626<p>or, to query a multivar:</p>
627<div class="listingblock">
628<div class="content">
629<pre><tt>% git config --get core.gitproxy "for kernel.org$"</tt></pre>
630</div></div>
631<p>If you want to know all the values for a multivar, do:</p>
632<div class="listingblock">
633<div class="content">
634<pre><tt>% git config --get-all core.gitproxy</tt></pre>
635</div></div>
636<p>If you like to live dangerous, you can replace <strong>all</strong> core.gitproxy by a
637new one with</p>
638<div class="listingblock">
639<div class="content">
640<pre><tt>% git config --replace-all core.gitproxy ssh</tt></pre>
641</div></div>
642<p>However, if you really only want to replace the line for the default proxy,
643i.e. the one without a "for &#8230;" postfix, do something like this:</p>
644<div class="listingblock">
645<div class="content">
646<pre><tt>% git config core.gitproxy ssh '! for '</tt></pre>
647</div></div>
648<p>To actually match only values with an exclamation mark, you have to</p>
649<div class="listingblock">
650<div class="content">
651<pre><tt>% git config section.key value '[!]'</tt></pre>
652</div></div>
653<p>To add a new proxy, without altering any of the existing ones, use</p>
654<div class="listingblock">
655<div class="content">
656<pre><tt>% git config core.gitproxy '"proxy" for example.com'</tt></pre>
657</div></div>
658</div>
659<h2>CONFIGURATION FILE</h2>
660<div class="sectionbody">
661<p>The git configuration file contains a number of variables that affect
662the git command's behavior. <tt>.git/config</tt> file for each repository
663is used to store the information for that repository, and
664<tt>$HOME/.gitconfig</tt> is used to store per user information to give
Junio C Hamano79556902007-02-24 11:15:54665fallback values for <tt>.git/config</tt> file. The file <tt>/etc/gitconfig</tt>
666can be used to store system-wide defaults.</p>
Junio C Hamano7ad22dc2007-01-29 02:55:48667<p>They can be used by both the git plumbing
668and the porcelains. The variables are divided into sections, where
669in the fully qualified variable name the variable itself is the last
670dot-separated segment and the section name is everything before the last
671dot. The variable names are case-insensitive and only alphanumeric
672characters are allowed. Some variables may appear multiple times.</p>
673<h3>Syntax</h3>
674<p>The syntax is fairly flexible and permissive; whitespaces are mostly
675ignored. The <em>#</em> and <em>;</em> characters begin comments to the end of line,
676blank lines are ignored.</p>
677<p>The file consists of sections and variables. A section begins with
678the name of the section in square brackets and continues until the next
679section begins. Section names are not case sensitive. Only alphanumeric
680characters, <em><tt>-</tt></em> and <em><tt>.</tt></em> are allowed in section names. Each variable
681must belong to some section, which means that there must be section
682header before first setting of a variable.</p>
683<p>Sections can be further divided into subsections. To begin a subsection
684put its name in double quotes, separated by space from the section name,
685in the section header, like in example below:</p>
686<div class="listingblock">
687<div class="content">
688<pre><tt> [section "subsection"]
689</tt></pre>
690</div></div>
691<p>Subsection names can contain any characters except newline (doublequote
692<em><tt>"</tt></em> and backslash have to be escaped as <em><tt>\"</tt></em> and <em><tt>\\</tt></em>,
Junio C Hamanoee1e4282007-02-04 08:32:04693respectively) and are case sensitive. Section header cannot span multiple
Junio C Hamano7ad22dc2007-01-29 02:55:48694lines. Variables may belong directly to a section or to a given subsection.
695You can have <tt>[section]</tt> if you have <tt>[section "subsection"]</tt>, but you
696don't need to.</p>
697<p>There is also (case insensitive) alternative <tt>[section.subsection]</tt> syntax.
698In this syntax subsection names follow the same restrictions as for section
699name.</p>
700<p>All the other lines are recognized as setting variables, in the form
701<em>name = value</em>. If there is no equal sign on the line, the entire line
702is taken as <em>name</em> and the variable is recognized as boolean "true".
703The variable names are case-insensitive and only alphanumeric
704characters and <em><tt>-</tt></em> are allowed. There can be more than one value
705for a given variable; we say then that variable is multivalued.</p>
706<p>Leading and trailing whitespace in a variable value is discarded.
707Internal whitespace within a variable value is retained verbatim.</p>
708<p>The values following the equals sign in variable assign are all either
709a string, an integer, or a boolean. Boolean values may be given as yes/no,
7100/1 or true/false. Case is not significant in boolean values, when
711converting value to the canonical form using <em>--bool</em> type specifier;
712<tt>git-config</tt> will ensure that the output is "true" or "false".</p>
713<p>String values may be entirely or partially enclosed in double quotes.
714You need to enclose variable value in double quotes if you want to
715preserve leading or trailing whitespace, or if variable value contains
716beginning of comment characters (if it contains <em>#</em> or <em>;</em>).
717Double quote <em><tt>"</tt></em> and backslash <em><tt>\</tt></em> characters in variable value must
718be escaped: use <em><tt>\"</tt></em> for <em><tt>"</tt></em> and <em><tt>\\</tt></em> for <em><tt>\</tt></em>.</p>
719<p>The following escape sequences (beside <em><tt>\"</tt></em> and <em><tt>\\</tt></em>) are recognized:
720<em><tt>\n</tt></em> for newline character (NL), <em><tt>\t</tt></em> for horizontal tabulation (HT, TAB)
721and <em><tt>\b</tt></em> for backspace (BS). No other char escape sequence, nor octal
722char sequences are valid.</p>
723<p>Variable value ending in a <em><tt>\</tt></em> is continued on the next line in the
724customary UNIX fashion.</p>
725<p>Some variables may require special value format.</p>
726<h3>Example</h3>
727<div class="literalblock">
728<div class="content">
729<pre><tt># Core variables
730[core]
731 ; Don't trust file modes
732 filemode = false</tt></pre>
733</div></div>
734<div class="literalblock">
735<div class="content">
736<pre><tt># Our diff algorithm
737[diff]
738 external = "/usr/local/bin/gnu-diff -u"
739 renames = true</tt></pre>
740</div></div>
741<div class="literalblock">
742<div class="content">
743<pre><tt>[branch "devel"]
744 remote = origin
745 merge = refs/heads/devel</tt></pre>
746</div></div>
747<div class="literalblock">
748<div class="content">
749<pre><tt># Proxy settings
750[core]
751 gitProxy="ssh" for "ssh://kernel.org/"
752 gitProxy=default-proxy ; for the rest</tt></pre>
753</div></div>
754<h3>Variables</h3>
755<p>Note that this list is non-comprehensive and not necessarily complete.
756For command-specific variables, you will find a more detailed description
757in the appropriate manual page. You will find a description of non-core
758porcelain configuration variables in the respective porcelain documentation.</p>
759<dl>
760<dt>
761core.fileMode
762</dt>
763<dd>
764<p>
765 If false, the executable bit differences between the index and
766 the working copy are ignored; useful on broken filesystems like FAT.
767 See <a href="git-update-index.html">git-update-index(1)</a>. True by default.
768</p>
769</dd>
770<dt>
Junio C Hamanod526ba92007-07-02 00:17:42771core.quotepath
772</dt>
773<dd>
774<p>
775 The commands that output paths (e.g. <tt>ls-files</tt>,
776 <tt>diff</tt>), when not given the <tt>-z</tt> option, will quote
777 "unusual" characters in the pathname by enclosing the
778 pathname in a double-quote pair and with backslashes the
779 same way strings in C source code are quoted. If this
780 variable is set to false, the bytes higher than 0x80 are
781 not quoted but output as verbatim. Note that double
782 quote, backslash and control characters are always
783 quoted without <tt>-z</tt> regardless of the setting of this
784 variable.
785</p>
786</dd>
787<dt>
Junio C Hamanod9e0e5d2007-04-14 16:22:04788core.autocrlf
789</dt>
790<dd>
791<p>
792 If true, makes git convert <tt>CRLF</tt> at the end of lines in text files to
793 <tt>LF</tt> when reading from the filesystem, and convert in reverse when
794 writing to the filesystem. The variable can be set to
795 <em>input</em>, in which case the conversion happens only while
796 reading from the filesystem but files are written out with
797 <tt>LF</tt> at the end of lines. Currently, which paths to consider
798 "text" (i.e. be subjected to the autocrlf mechanism) is
799 decided purely based on the contents.
800</p>
801</dd>
802<dt>
Junio C Hamanoaa83a7d2007-03-05 02:37:29803core.symlinks
804</dt>
805<dd>
806<p>
807 If false, symbolic links are checked out as small plain files that
808 contain the link text. <a href="git-update-index.html">git-update-index(1)</a> and
809 <a href="git-add.html">git-add(1)</a> will not change the recorded type to regular
810 file. Useful on filesystems like FAT that do not support
811 symbolic links. True by default.
812</p>
813</dd>
814<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:48815core.gitProxy
816</dt>
817<dd>
818<p>
819 A "proxy command" to execute (as <em>command host port</em>) instead
820 of establishing direct connection to the remote server when
821 using the git protocol for fetching. If the variable value is
822 in the "COMMAND for DOMAIN" format, the command is applied only
823 on hostnames ending with the specified domain string. This variable
824 may be set multiple times and is matched in the given order;
825 the first match wins.
826</p>
827<p>Can be overridden by the <em>GIT_PROXY_COMMAND</em> environment variable
828(which always applies universally, without the special "for"
829handling).</p>
830</dd>
831<dt>
832core.ignoreStat
833</dt>
834<dd>
835<p>
836 The working copy files are assumed to stay unchanged until you
837 mark them otherwise manually - Git will not detect the file changes
838 by lstat() calls. This is useful on systems where those are very
839 slow, such as Microsoft Windows. See <a href="git-update-index.html">git-update-index(1)</a>.
840 False by default.
841</p>
842</dd>
843<dt>
844core.preferSymlinkRefs
845</dt>
846<dd>
847<p>
848 Instead of the default "symref" format for HEAD
849 and other symbolic reference files, use symbolic links.
850 This is sometimes needed to work with old scripts that
851 expect HEAD to be a symbolic link.
852</p>
853</dd>
854<dt>
Junio C Hamano1025e752007-02-23 07:21:26855core.bare
856</dt>
857<dd>
858<p>
859 If true this repository is assumed to be <em>bare</em> and has no
860 working directory associated with it. If this is the case a
861 number of commands that require a working directory will be
862 disabled, such as <a href="git-add.html">git-add(1)</a> or <a href="git-merge.html">git-merge(1)</a>.
863</p>
864<p>This setting is automatically guessed by <a href="git-clone.html">git-clone(1)</a> or
865<a href="git-init.html">git-init(1)</a> when the repository was created. By default a
866repository that ends in "/.git" is assumed to be not bare (bare =
867false), while all other repositories are assumed to be bare (bare
868= true).</p>
869</dd>
870<dt>
Junio C Hamanod526ba92007-07-02 00:17:42871core.worktree
872</dt>
873<dd>
874<p>
875 Set the path to the working tree. The value will not be
876 used in combination with repositories found automatically in
877 a .git directory (i.e. $GIT_DIR is not set).
878 This can be overriden by the GIT_WORK_TREE environment
879 variable and the <em>--work-tree</em> command line option.
880</p>
881</dd>
882<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:48883core.logAllRefUpdates
884</dt>
885<dd>
886<p>
887 Updates to a ref &lt;ref&gt; is logged to the file
888 "$GIT_DIR/logs/&lt;ref&gt;", by appending the new and old
889 SHA1, the date/time and the reason of the update, but
890 only when the file exists. If this configuration
891 variable is set to true, missing "$GIT_DIR/logs/&lt;ref&gt;"
892 file is automatically created for branch heads.
893</p>
894<p>This information can be used to determine what commit
895was the tip of a branch "2 days ago".</p>
896<p>This value is true by default in a repository that has
897a working directory associated with it, and false by
898default in a bare repository.</p>
899</dd>
900<dt>
901core.repositoryFormatVersion
902</dt>
903<dd>
904<p>
905 Internal variable identifying the repository format and layout
906 version.
907</p>
908</dd>
909<dt>
910core.sharedRepository
911</dt>
912<dd>
913<p>
914 When <em>group</em> (or <em>true</em>), the repository is made shareable between
915 several users in a group (making sure all the files and objects are
916 group-writable). When <em>all</em> (or <em>world</em> or <em>everybody</em>), the
917 repository will be readable by all users, additionally to being
918 group-shareable. When <em>umask</em> (or <em>false</em>), git will use permissions
919 reported by umask(2). See <a href="git-init.html">git-init(1)</a>. False by default.
920</p>
921</dd>
922<dt>
923core.warnAmbiguousRefs
924</dt>
925<dd>
926<p>
927 If true, git will warn you if the ref name you passed it is ambiguous
928 and might match multiple refs in the .git/refs/ tree. True by default.
929</p>
930</dd>
931<dt>
932core.compression
933</dt>
934<dd>
935<p>
Junio C Hamanof2ce2972007-05-20 19:12:09936 An integer -1..9, indicating a default compression level.
937 -1 is the zlib default. 0 means no compression,
938 and 1..9 are various speed/size tradeoffs, 9 being slowest.
Junio C Hamano7ad22dc2007-01-29 02:55:48939</p>
940</dd>
941<dt>
Junio C Hamanof2ce2972007-05-20 19:12:09942core.loosecompression
Junio C Hamano7ad22dc2007-01-29 02:55:48943</dt>
944<dd>
945<p>
Junio C Hamanof2ce2972007-05-20 19:12:09946 An integer -1..9, indicating the compression level for objects that
947 are not in a pack file. -1 is the zlib default. 0 means no
948 compression, and 1..9 are various speed/size tradeoffs, 9 being
949 slowest. If not set, defaults to core.compression. If that is
950 not set, defaults to 0 (best speed).
Junio C Hamano7ad22dc2007-01-29 02:55:48951</p>
952</dd>
953<dt>
954core.packedGitWindowSize
955</dt>
956<dd>
957<p>
958 Number of bytes of a pack file to map into memory in a
959 single mapping operation. Larger window sizes may allow
960 your system to process a smaller number of large pack files
961 more quickly. Smaller window sizes will negatively affect
962 performance due to increased calls to the operating system's
963 memory manager, but may improve performance when accessing
964 a large number of large pack files.
965</p>
966<p>Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32
967MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should
968be reasonable for all users/operating systems. You probably do
969not need to adjust this value.</p>
970<p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p>
971</dd>
972<dt>
973core.packedGitLimit
974</dt>
975<dd>
976<p>
977 Maximum number of bytes to map simultaneously into memory
978 from pack files. If Git needs to access more than this many
979 bytes at once to complete an operation it will unmap existing
980 regions to reclaim virtual address space within the process.
981</p>
982<p>Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit platforms.
983This should be reasonable for all users/operating systems, except on
984the largest projects. You probably do not need to adjust this value.</p>
985<p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p>
986</dd>
987<dt>
Junio C Hamanob8c51282007-03-19 10:43:30988core.deltaBaseCacheLimit
989</dt>
990<dd>
991<p>
992 Maximum number of bytes to reserve for caching base objects
993 that multiple deltafied objects reference. By storing the
994 entire decompressed base objects in a cache Git is able
995 to avoid unpacking and decompressing frequently used base
996 objects multiple times.
997</p>
998<p>Default is 16 MiB on all platforms. This should be reasonable
999for all users/operating systems, except on the largest projects.
1000You probably do not need to adjust this value.</p>
1001<p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p>
1002</dd>
1003<dt>
Junio C Hamano1d90cb02007-07-03 07:05:311004core.excludesfile
Junio C Hamano5e284b42007-05-22 07:23:371005</dt>
1006<dd>
1007<p>
1008 In addition to <em>.gitignore</em> (per-directory) and
1009 <em>.git/info/exclude</em>, git looks into this file for patterns
Junio C Hamano679d22d2007-06-02 21:13:441010 of files which are not meant to be tracked. See
1011 <a href="gitignore.html">gitignore(5)</a>.
Junio C Hamano5e284b42007-05-22 07:23:371012</p>
1013</dd>
1014<dt>
Junio C Hamano28d8ede2007-07-05 05:51:381015core.pager
1016</dt>
1017<dd>
1018<p>
1019 The command that git will use to paginate output. Can be overridden
1020 with the <tt>GIT_PAGER</tt> environment variable.
1021</p>
1022</dd>
1023<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481024alias.*
1025</dt>
1026<dd>
1027<p>
1028 Command aliases for the <a href="git.html">git(1)</a> command wrapper - e.g.
1029 after defining "alias.last = cat-file commit HEAD", the invocation
1030 "git last" is equivalent to "git cat-file commit HEAD". To avoid
1031 confusion and troubles with script usage, aliases that
1032 hide existing git commands are ignored. Arguments are split by
1033 spaces, the usual shell quoting and escaping is supported.
1034 quote pair and a backslash can be used to quote them.
1035</p>
Junio C Hamano9cb74f22007-02-12 04:15:051036<div class="literalblock">
1037<div class="content">
1038<pre><tt>If the alias expansion is prefixed with an exclamation point,
1039it will be treated as a shell command. For example, defining
1040"alias.new = !gitk --all --not ORIG_HEAD", the invocation
1041"git new" is equivalent to running the shell command
1042"gitk --all --not ORIG_HEAD".</tt></pre>
1043</div></div>
Junio C Hamano7ad22dc2007-01-29 02:55:481044</dd>
1045<dt>
1046apply.whitespace
1047</dt>
1048<dd>
1049<p>
1050 Tells <tt>git-apply</tt> how to handle whitespaces, in the same way
1051 as the <em>--whitespace</em> option. See <a href="git-apply.html">git-apply(1)</a>.
1052</p>
1053</dd>
1054<dt>
Junio C Hamano7fd84172007-05-24 07:00:321055branch.autosetupmerge
1056</dt>
1057<dd>
1058<p>
1059 Tells <tt>git-branch</tt> and <tt>git-checkout</tt> to setup new branches
1060 so that <a href="git-pull.html">git-pull(1)</a> will appropriately merge from that
1061 remote branch. Note that even if this option is not set,
1062 this behavior can be chosen per-branch using the <tt>--track</tt>
Junio C Hamano9cb39172007-07-12 06:45:371063 and <tt>--no-track</tt> options. This option defaults to false.
Junio C Hamano7fd84172007-05-24 07:00:321064</p>
1065</dd>
1066<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481067branch.&lt;name&gt;.remote
1068</dt>
1069<dd>
1070<p>
1071 When in branch &lt;name&gt;, it tells <tt>git fetch</tt> which remote to fetch.
1072 If this option is not given, <tt>git fetch</tt> defaults to remote "origin".
1073</p>
1074</dd>
1075<dt>
1076branch.&lt;name&gt;.merge
1077</dt>
1078<dd>
1079<p>
1080 When in branch &lt;name&gt;, it tells <tt>git fetch</tt> the default refspec to
1081 be marked for merging in FETCH_HEAD. The value has exactly to match
1082 a remote part of one of the refspecs which are fetched from the remote
1083 given by "branch.&lt;name&gt;.remote".
1084 The merge information is used by <tt>git pull</tt> (which at first calls
1085 <tt>git fetch</tt>) to lookup the default branch for merging. Without
1086 this option, <tt>git pull</tt> defaults to merge the first refspec fetched.
1087 Specify multiple values to get an octopus merge.
Junio C Hamano6e149c02007-03-16 10:21:071088 If you wish to setup <tt>git pull</tt> so that it merges into &lt;name&gt; from
1089 another branch in the local repository, you can point
1090 branch.&lt;name&gt;.merge to the desired branch, and use the special setting
1091 <tt>.</tt> (a period) for branch.&lt;name&gt;.remote.
Junio C Hamano7ad22dc2007-01-29 02:55:481092</p>
1093</dd>
1094<dt>
Junio C Hamano47b9acd2007-04-24 07:34:341095clean.requireForce
1096</dt>
1097<dd>
1098<p>
1099 A boolean to make git-clean do nothing unless given -f or -n. Defaults
1100 to false.
1101</p>
1102</dd>
1103<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481104color.branch
1105</dt>
1106<dd>
1107<p>
1108 A boolean to enable/disable color in the output of
1109 <a href="git-branch.html">git-branch(1)</a>. May be set to <tt>true</tt> (or <tt>always</tt>),
1110 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt>, in which case colors are used
1111 only when the output is to a terminal. Defaults to false.
1112</p>
1113</dd>
1114<dt>
1115color.branch.&lt;slot&gt;
1116</dt>
1117<dd>
1118<p>
1119 Use customized color for branch coloration. <tt>&lt;slot&gt;</tt> is one of
1120 <tt>current</tt> (the current branch), <tt>local</tt> (a local branch),
1121 <tt>remote</tt> (a tracking branch in refs/remotes/), <tt>plain</tt> (other
1122 refs).
1123</p>
1124<p>The value for these configuration variables is a list of colors (at most
1125two) and attributes (at most one), separated by spaces. The colors
1126accepted are <tt>normal</tt>, <tt>black</tt>, <tt>red</tt>, <tt>green</tt>, <tt>yellow</tt>, <tt>blue</tt>,
1127<tt>magenta</tt>, <tt>cyan</tt> and <tt>white</tt>; the attributes are <tt>bold</tt>, <tt>dim</tt>, <tt>ul</tt>,
1128<tt>blink</tt> and <tt>reverse</tt>. The first color given is the foreground; the
1129second is the background. The position of the attribute, if any,
1130doesn't matter.</p>
1131</dd>
1132<dt>
1133color.diff
1134</dt>
1135<dd>
1136<p>
1137 When true (or <tt>always</tt>), always use colors in patch.
1138 When false (or <tt>never</tt>), never. When set to <tt>auto</tt>, use
1139 colors only when the output is to the terminal.
1140</p>
1141</dd>
1142<dt>
1143color.diff.&lt;slot&gt;
1144</dt>
1145<dd>
1146<p>
1147 Use customized color for diff colorization. <tt>&lt;slot&gt;</tt> specifies
1148 which part of the patch to use the specified color, and is one
1149 of <tt>plain</tt> (context text), <tt>meta</tt> (metainformation), <tt>frag</tt>
1150 (hunk header), <tt>old</tt> (removed lines), <tt>new</tt> (added lines),
1151 <tt>commit</tt> (commit headers), or <tt>whitespace</tt> (highlighting dubious
1152 whitespace). The values of these variables may be specified as
1153 in color.branch.&lt;slot&gt;.
1154</p>
1155</dd>
1156<dt>
1157color.pager
1158</dt>
1159<dd>
1160<p>
1161 A boolean to enable/disable colored output when the pager is in
1162 use (default is true).
1163</p>
1164</dd>
1165<dt>
1166color.status
1167</dt>
1168<dd>
1169<p>
1170 A boolean to enable/disable color in the output of
1171 <a href="git-status.html">git-status(1)</a>. May be set to <tt>true</tt> (or <tt>always</tt>),
1172 <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt>, in which case colors are used
1173 only when the output is to a terminal. Defaults to false.
1174</p>
1175</dd>
1176<dt>
1177color.status.&lt;slot&gt;
1178</dt>
1179<dd>
1180<p>
1181 Use customized color for status colorization. <tt>&lt;slot&gt;</tt> is
1182 one of <tt>header</tt> (the header text of the status message),
1183 <tt>added</tt> or <tt>updated</tt> (files which are added but not committed),
1184 <tt>changed</tt> (files which are changed but not added in the index),
1185 or <tt>untracked</tt> (files which are not tracked by git). The values of
1186 these variables may be specified as in color.branch.&lt;slot&gt;.
1187</p>
1188</dd>
1189<dt>
1190diff.renameLimit
1191</dt>
1192<dd>
1193<p>
1194 The number of files to consider when performing the copy/rename
1195 detection; equivalent to the git diff option <em>-l</em>.
1196</p>
1197</dd>
1198<dt>
1199diff.renames
1200</dt>
1201<dd>
1202<p>
1203 Tells git to detect renames. If set to any boolean value, it
1204 will enable basic rename detection. If set to "copies" or
1205 "copy", it will detect copies, as well.
1206</p>
1207</dd>
1208<dt>
1209fetch.unpackLimit
1210</dt>
1211<dd>
1212<p>
1213 If the number of objects fetched over the git native
1214 transfer is below this
1215 limit, then the objects will be unpacked into loose object
1216 files. However if the number of received objects equals or
1217 exceeds this limit then the received pack will be stored as
1218 a pack, after adding any missing delta bases. Storing the
1219 pack from a push can make the push operation complete faster,
1220 especially on slow filesystems.
1221</p>
1222</dd>
1223<dt>
1224format.headers
1225</dt>
1226<dd>
1227<p>
1228 Additional email headers to include in a patch to be submitted
1229 by mail. See <a href="git-format-patch.html">git-format-patch(1)</a>.
1230</p>
1231</dd>
1232<dt>
Junio C Hamanod4c8e112007-03-04 10:32:381233format.suffix
1234</dt>
1235<dd>
1236<p>
1237 The default for format-patch is to output files with the suffix
1238 <tt>.patch</tt>. Use this variable to change that suffix (make sure to
1239 include the dot if you want it).
1240</p>
1241</dd>
1242<dt>
Junio C Hamanof2ce2972007-05-20 19:12:091243gc.aggressiveWindow
1244</dt>
1245<dd>
1246<p>
1247 The window size parameter used in the delta compression
1248 algorithm used by <em>git gc --aggressive</em>. This defaults
1249 to 10.
1250</p>
1251</dd>
1252<dt>
Junio C Hamano9d52e572007-02-13 23:48:201253gc.packrefs
1254</dt>
1255<dd>
1256<p>
1257 <tt>git gc</tt> does not run <tt>git pack-refs</tt> in a bare repository by
1258 default so that older dumb-transport clients can still fetch
1259 from the repository. Setting this to <tt>true</tt> lets <tt>git
1260 gc</tt> to run <tt>git pack-refs</tt>. Setting this to <tt>false</tt> tells
1261 <tt>git gc</tt> never to run <tt>git pack-refs</tt>. The default setting is
1262 <tt>notbare</tt>. Enable it only when you know you do not have to
1263 support such clients. The default setting will change to <tt>true</tt>
1264 at some stage, and setting this to <tt>false</tt> will continue to
1265 prevent <tt>git pack-refs</tt> from being run from <tt>git gc</tt>.
1266</p>
1267</dd>
1268<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481269gc.reflogexpire
1270</dt>
1271<dd>
1272<p>
1273 <tt>git reflog expire</tt> removes reflog entries older than
1274 this time; defaults to 90 days.
1275</p>
1276</dd>
1277<dt>
1278gc.reflogexpireunreachable
1279</dt>
1280<dd>
1281<p>
1282 <tt>git reflog expire</tt> removes reflog entries older than
1283 this time and are not reachable from the current tip;
1284 defaults to 30 days.
1285</p>
1286</dd>
1287<dt>
1288gc.rerereresolved
1289</dt>
1290<dd>
1291<p>
1292 Records of conflicted merge you resolved earlier are
1293 kept for this many days when <tt>git rerere gc</tt> is run.
1294 The default is 60 days. See <a href="git-rerere.html">git-rerere(1)</a>.
1295</p>
1296</dd>
1297<dt>
1298gc.rerereunresolved
1299</dt>
1300<dd>
1301<p>
1302 Records of conflicted merge you have not resolved are
1303 kept for this many days when <tt>git rerere gc</tt> is run.
1304 The default is 15 days. See <a href="git-rerere.html">git-rerere(1)</a>.
1305</p>
1306</dd>
1307<dt>
Junio C Hamano7a4a2832007-07-07 21:53:221308rerere.enabled
1309</dt>
1310<dd>
1311<p>
1312 Activate recording of resolved conflicts, so that identical
1313 conflict hunks can be resolved automatically, should they
1314 be encountered again. See <a href="git-rerere.html">git-rerere(1)</a>.
1315</p>
1316</dd>
1317<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481318gitcvs.enabled
1319</dt>
1320<dd>
1321<p>
Junio C Hamanod9e0e5d2007-04-14 16:22:041322 Whether the cvs server interface is enabled for this repository.
Junio C Hamano7ad22dc2007-01-29 02:55:481323 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
1324</p>
1325</dd>
1326<dt>
1327gitcvs.logfile
1328</dt>
1329<dd>
1330<p>
Junio C Hamanod9e0e5d2007-04-14 16:22:041331 Path to a log file where the cvs server interface well&#8230; logs
Junio C Hamano7ad22dc2007-01-29 02:55:481332 various stuff. See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
1333</p>
1334</dd>
1335<dt>
Junio C Hamanod9e0e5d2007-04-14 16:22:041336gitcvs.allbinary
1337</dt>
1338<dd>
1339<p>
1340 If true, all files are sent to the client in mode <em>-kb</em>. This
1341 causes the client to treat all files as binary files which suppresses
1342 any newline munging it otherwise might do. A work-around for the
1343 fact that there is no way yet to set single files to mode <em>-kb</em>.
Junio C Hamanoa2ad99e2007-04-18 09:57:041344</p>
1345</dd>
1346<dt>
1347gitcvs.dbname
1348</dt>
1349<dd>
1350<p>
1351 Database used by git-cvsserver to cache revision information
1352 derived from the git repository. The exact meaning depends on the
1353 used database driver, for SQLite (which is the default driver) this
1354 is a filename. Supports variable substitution (see
1355 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). May not contain semicolons (<tt>;</tt>).
1356 Default: <em>%Ggitcvs.%m.sqlite</em>
1357</p>
1358</dd>
1359<dt>
1360gitcvs.dbdriver
1361</dt>
1362<dd>
1363<p>
1364 Used Perl DBI driver. You can specify any available driver
1365 for this here, but it might not work. git-cvsserver is tested
1366 with <em>DBD::SQLite</em>, reported to work with <em>DBD::Pg</em>, and
1367 reported <strong>not</strong> to work with <em>DBD::mysql</em>. Experimental feature.
1368 May not contain double colons (<tt>:</tt>). Default: <em>SQLite</em>.
Junio C Hamanod9e0e5d2007-04-14 16:22:041369 See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
1370</p>
1371</dd>
1372<dt>
Junio C Hamanoa2ad99e2007-04-18 09:57:041373gitcvs.dbuser, gitcvs.dbpass
1374</dt>
1375<dd>
1376<p>
1377 Database user and password. Only useful if setting <em>gitcvs.dbdriver</em>,
1378 since SQLite has no concept of database users and/or passwords.
1379 <em>gitcvs.dbuser</em> supports variable substitution (see
1380 <a href="git-cvsserver.html">git-cvsserver(1)</a> for details).
1381</p>
1382</dd>
1383</dl>
1384<p>All gitcvs variables except for <em>gitcvs.allbinary</em> can also specifed
1385as <em>gitcvs.&lt;access_method&gt;.&lt;varname&gt;</em> (where <em>access_method</em> is one
1386of "ext" and "pserver") to make them apply only for the given access
1387method.</p>
1388<dl>
1389<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481390http.sslVerify
1391</dt>
1392<dd>
1393<p>
1394 Whether to verify the SSL certificate when fetching or pushing
1395 over HTTPS. Can be overridden by the <em>GIT_SSL_NO_VERIFY</em> environment
1396 variable.
1397</p>
1398</dd>
1399<dt>
1400http.sslCert
1401</dt>
1402<dd>
1403<p>
1404 File containing the SSL certificate when fetching or pushing
1405 over HTTPS. Can be overridden by the <em>GIT_SSL_CERT</em> environment
1406 variable.
1407</p>
1408</dd>
1409<dt>
1410http.sslKey
1411</dt>
1412<dd>
1413<p>
1414 File containing the SSL private key when fetching or pushing
1415 over HTTPS. Can be overridden by the <em>GIT_SSL_KEY</em> environment
1416 variable.
1417</p>
1418</dd>
1419<dt>
1420http.sslCAInfo
1421</dt>
1422<dd>
1423<p>
1424 File containing the certificates to verify the peer with when
1425 fetching or pushing over HTTPS. Can be overridden by the
1426 <em>GIT_SSL_CAINFO</em> environment variable.
1427</p>
1428</dd>
1429<dt>
1430http.sslCAPath
1431</dt>
1432<dd>
1433<p>
1434 Path containing files with the CA certificates to verify the peer
1435 with when fetching or pushing over HTTPS. Can be overridden
1436 by the <em>GIT_SSL_CAPATH</em> environment variable.
1437</p>
1438</dd>
1439<dt>
1440http.maxRequests
1441</dt>
1442<dd>
1443<p>
1444 How many HTTP requests to launch in parallel. Can be overridden
1445 by the <em>GIT_HTTP_MAX_REQUESTS</em> environment variable. Default is 5.
1446</p>
1447</dd>
1448<dt>
1449http.lowSpeedLimit, http.lowSpeedTime
1450</dt>
1451<dd>
1452<p>
1453 If the HTTP transfer speed is less than <em>http.lowSpeedLimit</em>
1454 for longer than <em>http.lowSpeedTime</em> seconds, the transfer is aborted.
1455 Can be overridden by the <em>GIT_HTTP_LOW_SPEED_LIMIT</em> and
1456 <em>GIT_HTTP_LOW_SPEED_TIME</em> environment variables.
1457</p>
1458</dd>
1459<dt>
1460http.noEPSV
1461</dt>
1462<dd>
1463<p>
1464 A boolean which disables using of EPSV ftp command by curl.
Junio C Hamanod9e0e5d2007-04-14 16:22:041465 This can helpful with some "poor" ftp servers which don't
Junio C Hamano7ad22dc2007-01-29 02:55:481466 support EPSV mode. Can be overridden by the <em>GIT_CURL_FTP_NO_EPSV</em>
1467 environment variable. Default is false (curl will use EPSV).
1468</p>
1469</dd>
1470<dt>
1471i18n.commitEncoding
1472</dt>
1473<dd>
1474<p>
1475 Character encoding the commit messages are stored in; git itself
1476 does not care per se, but this information is necessary e.g. when
1477 importing commits from emails or in the gitk graphical history
1478 browser (and possibly at other places in the future or in other
1479 porcelains). See e.g. <a href="git-mailinfo.html">git-mailinfo(1)</a>. Defaults to <em>utf-8</em>.
1480</p>
1481</dd>
1482<dt>
1483i18n.logOutputEncoding
1484</dt>
1485<dd>
1486<p>
1487 Character encoding the commit messages are converted to when
1488 running <tt>git-log</tt> and friends.
1489</p>
1490</dd>
1491<dt>
1492log.showroot
1493</dt>
1494<dd>
1495<p>
1496 If true, the initial commit will be shown as a big creation event.
1497 This is equivalent to a diff against an empty tree.
1498 Tools like <a href="git-log.html">git-log(1)</a> or <a href="git-whatchanged.html">git-whatchanged(1)</a>, which
1499 normally hide the root commit will now show it. True by default.
1500</p>
1501</dd>
1502<dt>
1503merge.summary
1504</dt>
1505<dd>
1506<p>
1507 Whether to include summaries of merged commits in newly created
1508 merge commit messages. False by default.
1509</p>
1510</dd>
1511<dt>
Junio C Hamano103ad7f2007-03-14 11:19:261512merge.tool
1513</dt>
1514<dd>
1515<p>
1516 Controls which merge resolution program is used by
1517 <a href="git-mergetool.html">git-mergetool(l)</a>. Valid values are: "kdiff3", "tkdiff",
Junio C Hamanof614c642007-06-11 01:21:541518 "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff", and "opendiff".
Junio C Hamano103ad7f2007-03-14 11:19:261519</p>
1520</dd>
1521<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481522merge.verbosity
1523</dt>
1524<dd>
1525<p>
1526 Controls the amount of output shown by the recursive merge
1527 strategy. Level 0 outputs nothing except a final error
1528 message if conflicts were detected. Level 1 outputs only
1529 conflicts, 2 outputs conflicts and file changes. Level 5 and
1530 above outputs debugging information. The default is level 2.
1531</p>
1532</dd>
1533<dt>
Junio C Hamanoe90436a2007-04-22 07:22:131534merge.&lt;driver&gt;.name
1535</dt>
1536<dd>
1537<p>
1538 Defines a human readable name for a custom low-level
1539 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
1540</p>
1541</dd>
1542<dt>
1543merge.&lt;driver&gt;.driver
1544</dt>
1545<dd>
1546<p>
1547 Defines the command that implements a custom low-level
1548 merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
1549</p>
1550</dd>
1551<dt>
1552merge.&lt;driver&gt;.recursive
1553</dt>
1554<dd>
1555<p>
1556 Names a low-level merge driver to be used when
1557 performing an internal merge between common ancestors.
1558 See <a href="gitattributes.html">gitattributes(5)</a> for details.
1559</p>
1560</dd>
1561<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481562pack.window
1563</dt>
1564<dd>
1565<p>
1566 The size of the window used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
1567 window size is given on the command line. Defaults to 10.
1568</p>
1569</dd>
1570<dt>
Junio C Hamano91d44c52007-05-09 07:16:071571pack.depth
1572</dt>
1573<dd>
1574<p>
1575 The maximum delta depth used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
1576 maximum depth is given on the command line. Defaults to 50.
1577</p>
1578</dd>
1579<dt>
Junio C Hamano235d53f2007-07-13 00:25:151580pack.windowMemory
1581</dt>
1582<dd>
1583<p>
1584 The window memory size limit used by <a href="git-pack-objects.html">git-pack-objects(1)</a>
1585 when no limit is given on the command line. The value can be
1586 suffixed with "k", "m", or "g". Defaults to 0, meaning no
1587 limit.
1588</p>
1589</dd>
1590<dt>
Junio C Hamanof2ce2972007-05-20 19:12:091591pack.compression
1592</dt>
1593<dd>
1594<p>
1595 An integer -1..9, indicating the compression level for objects
1596 in a pack file. -1 is the zlib default. 0 means no
1597 compression, and 1..9 are various speed/size tradeoffs, 9 being
1598 slowest. If not set, defaults to core.compression. If that is
1599 not set, defaults to -1.
1600</p>
1601</dd>
1602<dt>
Junio C Hamano679d22d2007-06-02 21:13:441603pack.deltaCacheSize
1604</dt>
1605<dd>
1606<p>
1607 The maxium memory in bytes used for caching deltas in
1608 <a href="git-pack-objects.html">git-pack-objects(1)</a>.
1609 A value of 0 means no limit. Defaults to 0.
1610</p>
1611</dd>
1612<dt>
1613pack.deltaCacheLimit
1614</dt>
1615<dd>
1616<p>
1617 The maxium size of a delta, that is cached in
1618 <a href="git-pack-objects.html">git-pack-objects(1)</a>. Defaults to 1000.
1619</p>
1620</dd>
1621<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481622pull.octopus
1623</dt>
1624<dd>
1625<p>
1626 The default merge strategy to use when pulling multiple branches
1627 at once.
1628</p>
1629</dd>
1630<dt>
1631pull.twohead
1632</dt>
1633<dd>
1634<p>
1635 The default merge strategy to use when pulling a single branch.
1636</p>
1637</dd>
1638<dt>
1639remote.&lt;name&gt;.url
1640</dt>
1641<dd>
1642<p>
1643 The URL of a remote repository. See <a href="git-fetch.html">git-fetch(1)</a> or
1644 <a href="git-push.html">git-push(1)</a>.
1645</p>
1646</dd>
1647<dt>
1648remote.&lt;name&gt;.fetch
1649</dt>
1650<dd>
1651<p>
1652 The default set of "refspec" for <a href="git-fetch.html">git-fetch(1)</a>. See
1653 <a href="git-fetch.html">git-fetch(1)</a>.
1654</p>
1655</dd>
1656<dt>
1657remote.&lt;name&gt;.push
1658</dt>
1659<dd>
1660<p>
1661 The default set of "refspec" for <a href="git-push.html">git-push(1)</a>. See
1662 <a href="git-push.html">git-push(1)</a>.
1663</p>
1664</dd>
1665<dt>
Junio C Hamano118d2772007-02-21 20:24:101666remote.&lt;name&gt;.skipDefaultUpdate
1667</dt>
1668<dd>
1669<p>
1670 If true, this remote will be skipped by default when updating
1671 using the remote subcommand of <a href="git-remote.html">git-remote(1)</a>.
1672</p>
1673</dd>
1674<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481675remote.&lt;name&gt;.receivepack
1676</dt>
1677<dd>
1678<p>
1679 The default program to execute on the remote side when pushing. See
1680 option --exec of <a href="git-push.html">git-push(1)</a>.
1681</p>
1682</dd>
1683<dt>
1684remote.&lt;name&gt;.uploadpack
1685</dt>
1686<dd>
1687<p>
1688 The default program to execute on the remote side when fetching. See
1689 option --exec of <a href="git-fetch-pack.html">git-fetch-pack(1)</a>.
1690</p>
1691</dd>
1692<dt>
Junio C Hamano17dde0e2007-02-26 09:50:211693remote.&lt;name&gt;.tagopt
1694</dt>
1695<dd>
1696<p>
1697 Setting this value to --no-tags disables automatic tag following when fetching
1698 from remote &lt;name&gt;
1699</p>
1700</dd>
1701<dt>
Junio C Hamano118d2772007-02-21 20:24:101702remotes.&lt;group&gt;
1703</dt>
1704<dd>
1705<p>
1706 The list of remotes which are fetched by "git remote update
1707 &lt;group&gt;". See <a href="git-remote.html">git-remote(1)</a>.
1708</p>
1709</dd>
1710<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:481711repack.usedeltabaseoffset
1712</dt>
1713<dd>
1714<p>
1715 Allow <a href="git-repack.html">git-repack(1)</a> to create packs that uses
1716 delta-base offset. Defaults to false.
1717</p>
1718</dd>
1719<dt>
1720show.difftree
1721</dt>
1722<dd>
1723<p>
1724 The default <a href="git-diff-tree.html">git-diff-tree(1)</a> arguments to be used
1725 for <a href="git-show.html">git-show(1)</a>.
1726</p>
1727</dd>
1728<dt>
1729showbranch.default
1730</dt>
1731<dd>
1732<p>
1733 The default set of branches for <a href="git-show-branch.html">git-show-branch(1)</a>.
1734 See <a href="git-show-branch.html">git-show-branch(1)</a>.
1735</p>
1736</dd>
1737<dt>
1738tar.umask
1739</dt>
1740<dd>
1741<p>
1742 By default, <a href="git-tar-tree.html">git-tar-tree(1)</a> sets file and directories modes
1743 to 0666 or 0777. While this is both useful and acceptable for projects
1744 such as the Linux Kernel, it might be excessive for other projects.
1745 With this variable, it becomes possible to tell
1746 <a href="git-tar-tree.html">git-tar-tree(1)</a> to apply a specific umask to the modes above.
1747 The special value "user" indicates that the user's current umask will
1748 be used. This should be enough for most projects, as it will lead to
1749 the same permissions as <a href="git-checkout.html">git-checkout(1)</a> would use. The default
1750 value remains 0, which means world read-write.
1751</p>
1752</dd>
1753<dt>
1754user.email
1755</dt>
1756<dd>
1757<p>
1758 Your email address to be recorded in any newly created commits.
Junio C Hamano469d60e2007-04-29 18:30:341759 Can be overridden by the <em>GIT_AUTHOR_EMAIL</em>, <em>GIT_COMMITTER_EMAIL</em>, and
1760 <em>EMAIL</em> environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
Junio C Hamano7ad22dc2007-01-29 02:55:481761</p>
1762</dd>
1763<dt>
1764user.name
1765</dt>
1766<dd>
1767<p>
1768 Your full name to be recorded in any newly created commits.
1769 Can be overridden by the <em>GIT_AUTHOR_NAME</em> and <em>GIT_COMMITTER_NAME</em>
1770 environment variables. See <a href="git-commit-tree.html">git-commit-tree(1)</a>.
1771</p>
1772</dd>
1773<dt>
1774user.signingkey
1775</dt>
1776<dd>
1777<p>
1778 If <a href="git-tag.html">git-tag(1)</a> is not selecting the key you want it to
1779 automatically when creating a signed tag, you can override the
1780 default selection with this variable. This option is passed
1781 unchanged to gpg's --local-user parameter, so you may specify a key
1782 using any method that gpg supports.
1783</p>
1784</dd>
1785<dt>
1786whatchanged.difftree
1787</dt>
1788<dd>
1789<p>
1790 The default <a href="git-diff-tree.html">git-diff-tree(1)</a> arguments to be used
1791 for <a href="git-whatchanged.html">git-whatchanged(1)</a>.
1792</p>
1793</dd>
1794<dt>
1795imap
1796</dt>
1797<dd>
1798<p>
1799 The configuration variables in the <em>imap</em> section are described
1800 in <a href="git-imap-send.html">git-imap-send(1)</a>.
1801</p>
1802</dd>
1803<dt>
1804receive.unpackLimit
1805</dt>
1806<dd>
1807<p>
1808 If the number of objects received in a push is below this
1809 limit then the objects will be unpacked into loose object
1810 files. However if the number of received objects equals or
1811 exceeds this limit then the received pack will be stored as
1812 a pack, after adding any missing delta bases. Storing the
1813 pack from a push can make the push operation complete faster,
1814 especially on slow filesystems.
1815</p>
1816</dd>
1817<dt>
1818receive.denyNonFastForwards
1819</dt>
1820<dd>
1821<p>
1822 If set to true, git-receive-pack will deny a ref update which is
1823 not a fast forward. Use this to prevent such an update via a push,
1824 even if that push is forced. This configuration variable is
1825 set when initializing a shared repository.
1826</p>
1827</dd>
1828<dt>
1829transfer.unpackLimit
1830</dt>
1831<dd>
1832<p>
1833 When <tt>fetch.unpackLimit</tt> or <tt>receive.unpackLimit</tt> are
1834 not set, the value of this variable is used instead.
1835</p>
1836</dd>
1837</dl>
1838</div>
1839<h2>Author</h2>
1840<div class="sectionbody">
1841<p>Written by Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;</p>
1842</div>
1843<h2>Documentation</h2>
1844<div class="sectionbody">
1845<p>Documentation by Johannes Schindelin, Petr Baudis and the git-list &lt;git@vger.kernel.org&gt;.</p>
1846</div>
1847<h2>GIT</h2>
1848<div class="sectionbody">
1849<p>Part of the <a href="git.html">git(7)</a> suite</p>
1850</div>
1851<div id="footer">
1852<div id="footer-text">
Junio C Hamano235d53f2007-07-13 00:25:151853Last updated 13-Jul-2007 00:24:26 UTC
Junio C Hamano7ad22dc2007-01-29 02:55:481854</div>
1855</div>
1856</body>
1857</html>