1GIT-CONFIG(1)                     Git Manual                     GIT-CONFIG(1)
2
3
4

NAME

6       git-config - Get and set repository or global options
7

SYNOPSIS

9       git config [<file-option>] [type] [-z|--null] name [value [value_regex]]
10       git config [<file-option>] [type] --add name value
11       git config [<file-option>] [type] --replace-all name value [value_regex]
12       git config [<file-option>] [type] [-z|--null] --get name [value_regex]
13       git config [<file-option>] [type] [-z|--null] --get-all name [value_regex]
14       git config [<file-option>] [type] [-z|--null] --get-regexp name_regex [value_regex]
15       git config [<file-option>] --unset name [value_regex]
16       git config [<file-option>] --unset-all name [value_regex]
17       git config [<file-option>] --rename-section old_name new_name
18       git config [<file-option>] --remove-section name
19       git config [<file-option>] [-z|--null] -l | --list
20       git config [<file-option>] --get-color name [default]
21       git config [<file-option>] --get-colorbool name [stdout-is-tty]
22       git config [<file-option>] -e | --edit
23
24

DESCRIPTION

26       You can query/set/replace/unset options with this command. The name is
27       actually the section and the key separated by a dot, and the value will
28       be escaped.
29
30       Multiple lines can be added to an option by using the --add option. If
31       you want to update or unset an option which can occur on multiple
32       lines, a POSIX regexp value_regex needs to be given. Only the existing
33       values that match the regexp are updated or unset. If you want to
34       handle the lines that do not match the regex, just prepend a single
35       exclamation mark in front (see also the section called “EXAMPLES”).
36
37       The type specifier can be either --int or --bool, to make git config
38       ensure that the variable(s) are of the given type and convert the value
39       to the canonical form (simple decimal number for int, a "true" or
40       "false" string for bool), or --path, which does some path expansion
41       (see --path below). If no type specifier is passed, no checks or
42       transformations are performed on the value.
43
44       The file-option can be one of --system, --global or --file which
45       specify where the values will be read from or written to. The default
46       is to assume the config file of the current repository, .git/config
47       unless defined otherwise with GIT_DIR and GIT_CONFIG (see the section
48       called “FILES”).
49
50       This command will fail if:
51
52        1. The config file is invalid,
53
54        2. Can not write to the config file,
55
56        3. no section was provided,
57
58        4. the section or key is invalid,
59
60        5. you try to unset an option which does not exist,
61
62        6. you try to unset/set an option for which multiple lines match, or
63
64        7. you use --global option without $HOME being properly set.
65

OPTIONS

67       --replace-all
68           Default behavior is to replace at most one line. This replaces all
69           lines matching the key (and optionally the value_regex).
70
71       --add
72           Adds a new line to the option without altering any existing values.
73           This is the same as providing ^$ as the value_regex in
74           --replace-all.
75
76       --get
77           Get the value for a given key (optionally filtered by a regex
78           matching the value). Returns error code 1 if the key was not found
79           and error code 2 if multiple key values were found.
80
81       --get-all
82           Like get, but does not fail if the number of values for the key is
83           not exactly one.
84
85       --get-regexp
86           Like --get-all, but interprets the name as a regular expression.
87           Also outputs the key names.
88
89       --global
90           For writing options: write to global ~/.gitconfig file rather than
91           the repository .git/config.
92
93           For reading options: read only from global ~/.gitconfig rather than
94           from all available files.
95
96           See also the section called “FILES”.
97
98       --system
99           For writing options: write to system-wide $(prefix)/etc/gitconfig
100           rather than the repository .git/config.
101
102           For reading options: read only from system-wide
103           $(prefix)/etc/gitconfig rather than from all available files.
104
105           See also the section called “FILES”.
106
107       -f config-file, --file config-file
108           Use the given config file instead of the one specified by
109           GIT_CONFIG.
110
111       --remove-section
112           Remove the given section from the configuration file.
113
114       --rename-section
115           Rename the given section to a new name.
116
117       --unset
118           Remove the line matching the key from config file.
119
120       --unset-all
121           Remove all lines matching the key from config file.
122
123       -l, --list
124           List all variables set in config file.
125
126       --bool
127
128           git config will ensure that the output is "true" or "false"
129
130       --int
131
132           git config will ensure that the output is a simple decimal number.
133           An optional value suffix of k, m, or g in the config file will
134           cause the value to be multiplied by 1024, 1048576, or 1073741824
135           prior to output.
136
137       --bool-or-int
138
139           git config will ensure that the output matches the format of either
140           --bool or --int, as described above.
141
142       --path
143
144           git-config will expand leading ~ to the value of $HOME, and ~user
145           to the home directory for the specified user. This option has no
146           effect when setting the value (but you can use git config bla ~/
147           from the command line to let your shell do the expansion).
148
149       -z, --null
150           For all options that output values and/or keys, always end values
151           with the null character (instead of a newline). Use newline instead
152           as a delimiter between key and value. This allows for secure
153           parsing of the output without getting confused e.g. by values that
154           contain line breaks.
155
156       --get-colorbool name [stdout-is-tty]
157           Find the color setting for name (e.g.  color.diff) and output
158           "true" or "false".  stdout-is-tty should be either "true" or
159           "false", and is taken into account when configuration says "auto".
160           If stdout-is-tty is missing, then checks the standard output of the
161           command itself, and exits with status 0 if color is to be used, or
162           exits with status 1 otherwise. When the color setting for name is
163           undefined, the command uses color.ui as fallback.
164
165       --get-color name [default]
166           Find the color configured for name (e.g.  color.diff.new) and
167           output it as the ANSI color escape sequence to the standard output.
168           The optional default parameter is used instead, if there is no
169           color configured for name.
170
171       -e, --edit
172           Opens an editor to modify the specified config file; either
173           --system, --global, or repository (default).
174

FILES

176       If not set explicitly with --file, there are three files where git
177       config will search for configuration options:
178
179       $GIT_DIR/config
180           Repository specific configuration file. (The filename is of course
181           relative to the repository root, not the working directory.)
182
183       ~/.gitconfig
184           User-specific configuration file. Also called "global"
185           configuration file.
186
187       $(prefix)/etc/gitconfig
188           System-wide configuration file.
189
190       If no further options are given, all reading options will read all of
191       these files that are available. If the global or the system-wide
192       configuration file are not available they will be ignored. If the
193       repository configuration file is not available or readable, git config
194       will exit with a non-zero error code. However, in neither case will an
195       error message be issued.
196
197       All writing options will per default write to the repository specific
198       configuration file. Note that this also affects options like
199       --replace-all and --unset. git config will only ever change one file at
200       a time.
201
202       You can override these rules either by command line options or by
203       environment variables. The --global and the --system options will limit
204       the file used to the global or system-wide file respectively. The
205       GIT_CONFIG environment variable has a similar effect, but you can
206       specify any filename you want.
207

ENVIRONMENT

209       GIT_CONFIG
210           Take the configuration from the given file instead of .git/config.
211           Using the "--global" option forces this to ~/.gitconfig. Using the
212           "--system" option forces this to $(prefix)/etc/gitconfig.
213
214       See also the section called “FILES”.
215

EXAMPLES

217       Given a .git/config like this:
218
219           #
220           # This is the config file, and
221           # a ´#´ or ´;´ character indicates
222           # a comment
223           #
224
225           ; core variables
226           [core]
227                   ; Don´t trust file modes
228                   filemode = false
229
230           ; Our diff algorithm
231           [diff]
232                   external = /usr/local/bin/diff-wrapper
233                   renames = true
234
235           ; Proxy settings
236           [core]
237                   gitproxy="proxy-command" for kernel.org
238                   gitproxy=default-proxy ; for all the rest
239
240       you can set the filemode to true with
241
242           % git config core.filemode true
243
244
245       The hypothetical proxy command entries actually have a postfix to
246       discern what URL they apply to. Here is how to change the entry for
247       kernel.org to "ssh".
248
249           % git config core.gitproxy ´"ssh" for kernel.org´ ´for kernel.org$´
250
251
252       This makes sure that only the key/value pair for kernel.org is
253       replaced.
254
255       To delete the entry for renames, do
256
257           % git config --unset diff.renames
258
259
260       If you want to delete an entry for a multivar (like core.gitproxy
261       above), you have to provide a regex matching the value of exactly one
262       line.
263
264       To query the value for a given key, do
265
266           % git config --get core.filemode
267
268
269       or
270
271           % git config core.filemode
272
273
274       or, to query a multivar:
275
276           % git config --get core.gitproxy "for kernel.org$"
277
278
279       If you want to know all the values for a multivar, do:
280
281           % git config --get-all core.gitproxy
282
283
284       If you like to live dangerously, you can replace all core.gitproxy by a
285       new one with
286
287           % git config --replace-all core.gitproxy ssh
288
289
290       However, if you really only want to replace the line for the default
291       proxy, i.e. the one without a "for ..." postfix, do something like
292       this:
293
294           % git config core.gitproxy ssh ´! for ´
295
296
297       To actually match only values with an exclamation mark, you have to
298
299           % git config section.key value ´[!]´
300
301
302       To add a new proxy, without altering any of the existing ones, use
303
304           % git config core.gitproxy ´"proxy-command" for example.com´
305
306
307       An example to use customized color from the configuration in your
308       script:
309
310           #!/bin/sh
311           WS=$(git config --get-color color.diff.whitespace "blue reverse")
312           RESET=$(git config --get-color "" "reset")
313           echo "${WS}your whitespace color or blue reverse${RESET}"
314
315

CONFIGURATION FILE

317       The git configuration file contains a number of variables that affect
318       the git command’s behavior. The .git/config file in each repository is
319       used to store the configuration for that repository, and
320       $HOME/.gitconfig is used to store a per-user configuration as fallback
321       values for the .git/config file. The file /etc/gitconfig can be used to
322       store a system-wide default configuration.
323
324       The configuration variables are used by both the git plumbing and the
325       porcelains. The variables are divided into sections, wherein the fully
326       qualified variable name of the variable itself is the last
327       dot-separated segment and the section name is everything before the
328       last dot. The variable names are case-insensitive and only alphanumeric
329       characters are allowed. Some variables may appear multiple times.
330
331   Syntax
332       The syntax is fairly flexible and permissive; whitespaces are mostly
333       ignored. The # and ; characters begin comments to the end of line,
334       blank lines are ignored.
335
336       The file consists of sections and variables. A section begins with the
337       name of the section in square brackets and continues until the next
338       section begins. Section names are not case sensitive. Only alphanumeric
339       characters, - and . are allowed in section names. Each variable must
340       belong to some section, which means that there must be a section header
341       before the first setting of a variable.
342
343       Sections can be further divided into subsections. To begin a subsection
344       put its name in double quotes, separated by space from the section
345       name, in the section header, like in the example below:
346
347                   [section "subsection"]
348
349
350       Subsection names are case sensitive and can contain any characters
351       except newline (doublequote " and backslash have to be escaped as \"
352       and \\, respectively). Section headers cannot span multiple lines.
353       Variables may belong directly to a section or to a given subsection.
354       You can have [section] if you have [section "subsection"], but you
355       don’t need to.
356
357       There is also a case insensitive alternative [section.subsection]
358       syntax. In this syntax, subsection names follow the same restrictions
359       as for section names.
360
361       All the other lines (and the remainder of the line after the section
362       header) are recognized as setting variables, in the form name = value.
363       If there is no equal sign on the line, the entire line is taken as name
364       and the variable is recognized as boolean "true". The variable names
365       are case-insensitive and only alphanumeric characters and - are
366       allowed. There can be more than one value for a given variable; we say
367       then that variable is multivalued.
368
369       Leading and trailing whitespace in a variable value is discarded.
370       Internal whitespace within a variable value is retained verbatim.
371
372       The values following the equals sign in variable assign are all either
373       a string, an integer, or a boolean. Boolean values may be given as
374       yes/no, 0/1, true/false or on/off. Case is not significant in boolean
375       values, when converting value to the canonical form using --bool type
376       specifier; git config will ensure that the output is "true" or "false".
377
378       String values may be entirely or partially enclosed in double quotes.
379       You need to enclose variable values in double quotes if you want to
380       preserve leading or trailing whitespace, or if the variable value
381       contains comment characters (i.e. it contains # or ;). Double quote "
382       and backslash \ characters in variable values must be escaped: use \"
383       for " and \\ for \.
384
385       The following escape sequences (beside \" and \\) are recognized: \n
386       for newline character (NL), \t for horizontal tabulation (HT, TAB) and
387       \b for backspace (BS). No other char escape sequence, nor octal char
388       sequences are valid.
389
390       Variable values ending in a \ are continued on the next line in the
391       customary UNIX fashion.
392
393       Some variables may require a special value format.
394
395   Example
396           # Core variables
397           [core]
398                   ; Don´t trust file modes
399                   filemode = false
400
401           # Our diff algorithm
402           [diff]
403                   external = /usr/local/bin/diff-wrapper
404                   renames = true
405
406           [branch "devel"]
407                   remote = origin
408                   merge = refs/heads/devel
409
410           # Proxy settings
411           [core]
412                   gitProxy="ssh" for "kernel.org"
413                   gitProxy=default-proxy ; for the rest
414
415   Variables
416       Note that this list is non-comprehensive and not necessarily complete.
417       For command-specific variables, you will find a more detailed
418       description in the appropriate manual page. You will find a description
419       of non-core porcelain configuration variables in the respective
420       porcelain documentation.
421
422       advice.*
423           When set to true, display the given optional help message. When set
424           to false, do not display. The configuration variables are:
425
426           pushNonFastForward
427               Advice shown when git-push(1) refuses non-fast-forward refs.
428               Default: true.
429
430           statusHints
431               Directions on how to stage/unstage/add shown in the output of
432               git-status(1) and the template shown when writing commit
433               messages. Default: true.
434
435           commitBeforeMerge
436               Advice shown when git-merge(1) refuses to merge to avoid
437               overwritting local changes. Default: true.
438
439           resolveConflict
440               Advices shown by various commands when conflicts prevent the
441               operation from being performed. Default: true.
442
443           implicitIdentity
444               Advice on how to set your identity configuration when your
445               information is guessed from the system username and domain
446               name. Default: true.
447
448           detachedHead
449               Advice shown when you used :git-checkout(1) to move to the
450               detach HEAD state, to instruct how to create a local branch
451               after the fact. Default: true.
452
453       core.fileMode
454           If false, the executable bit differences between the index and the
455           working copy are ignored; useful on broken filesystems like FAT.
456           See git-update-index(1).
457
458           The default is true, except git-clone(1) or git-init(1) will probe
459           and set core.fileMode false if appropriate when the repository is
460           created.
461
462       core.ignoreCygwinFSTricks
463           This option is only used by Cygwin implementation of Git. If false,
464           the Cygwin stat() and lstat() functions are used. This may be
465           useful if your repository consists of a few separate directories
466           joined in one hierarchy using Cygwin mount. If true, Git uses
467           native Win32 API whenever it is possible and falls back to Cygwin
468           functions only to handle symbol links. The native mode is more than
469           twice faster than normal Cygwin l/stat() functions. True by
470           default, unless core.filemode is true, in which case
471           ignoreCygwinFSTricks is ignored as Cygwin’s POSIX emulation is
472           required to support core.filemode.
473
474       core.ignorecase
475           If true, this option enables various workarounds to enable git to
476           work better on filesystems that are not case sensitive, like FAT.
477           For example, if a directory listing finds "makefile" when git
478           expects "Makefile", git will assume it is really the same file, and
479           continue to remember it as "Makefile".
480
481           The default is false, except git-clone(1) or git-init(1) will probe
482           and set core.ignorecase true if appropriate when the repository is
483           created.
484
485       core.trustctime
486           If false, the ctime differences between the index and the working
487           copy are ignored; useful when the inode change time is regularly
488           modified by something outside Git (file system crawlers and some
489           backup systems). See git-update-index(1). True by default.
490
491       core.quotepath
492           The commands that output paths (e.g.  ls-files, diff), when not
493           given the -z option, will quote "unusual" characters in the
494           pathname by enclosing the pathname in a double-quote pair and with
495           backslashes the same way strings in C source code are quoted. If
496           this variable is set to false, the bytes higher than 0x80 are not
497           quoted but output as verbatim. Note that double quote, backslash
498           and control characters are always quoted without -z regardless of
499           the setting of this variable.
500
501       core.autocrlf
502           If true, makes git convert CRLF at the end of lines in text files
503           to LF when reading from the work tree, and convert in reverse when
504           writing to the work tree. The variable can be set to input, in
505           which case the conversion happens only while reading from the work
506           tree but files are written out to the work tree with LF at the end
507           of lines. A file is considered "text" (i.e. be subjected to the
508           autocrlf mechanism) based on the file’s crlf attribute, or if crlf
509           is unspecified, based on the file’s contents. See gitattributes(5).
510
511       core.safecrlf
512           If true, makes git check if converting CRLF as controlled by
513           core.autocrlf is reversible. Git will verify if a command modifies
514           a file in the work tree either directly or indirectly. For example,
515           committing a file followed by checking out the same file should
516           yield the original file in the work tree. If this is not the case
517           for the current setting of core.autocrlf, git will reject the file.
518           The variable can be set to "warn", in which case git will only warn
519           about an irreversible conversion but continue the operation.
520
521           CRLF conversion bears a slight chance of corrupting data.
522           autocrlf=true will convert CRLF to LF during commit and LF to CRLF
523           during checkout. A file that contains a mixture of LF and CRLF
524           before the commit cannot be recreated by git. For text files this
525           is the right thing to do: it corrects line endings such that we
526           have only LF line endings in the repository. But for binary files
527           that are accidentally classified as text the conversion can corrupt
528           data.
529
530           If you recognize such corruption early you can easily fix it by
531           setting the conversion type explicitly in .gitattributes. Right
532           after committing you still have the original file in your work tree
533           and this file is not yet corrupted. You can explicitly tell git
534           that this file is binary and git will handle the file
535           appropriately.
536
537           Unfortunately, the desired effect of cleaning up text files with
538           mixed line endings and the undesired effect of corrupting binary
539           files cannot be distinguished. In both cases CRLFs are removed in
540           an irreversible way. For text files this is the right thing to do
541           because CRLFs are line endings, while for binary files converting
542           CRLFs corrupts data.
543
544           Note, this safety check does not mean that a checkout will generate
545           a file identical to the original file for a different setting of
546           core.autocrlf, but only for the current one. For example, a text
547           file with LF would be accepted with core.autocrlf=input and could
548           later be checked out with core.autocrlf=true, in which case the
549           resulting file would contain CRLF, although the original file
550           contained LF. However, in both work trees the line endings would be
551           consistent, that is either all LF or all CRLF, but never mixed. A
552           file with mixed line endings would be reported by the core.safecrlf
553           mechanism.
554
555       core.symlinks
556           If false, symbolic links are checked out as small plain files that
557           contain the link text.  git-update-index(1) and git-add(1) will not
558           change the recorded type to regular file. Useful on filesystems
559           like FAT that do not support symbolic links.
560
561           The default is true, except git-clone(1) or git-init(1) will probe
562           and set core.symlinks false if appropriate when the repository is
563           created.
564
565       core.gitProxy
566           A "proxy command" to execute (as command host port) instead of
567           establishing direct connection to the remote server when using the
568           git protocol for fetching. If the variable value is in the "COMMAND
569           for DOMAIN" format, the command is applied only on hostnames ending
570           with the specified domain string. This variable may be set multiple
571           times and is matched in the given order; the first match wins.
572
573           Can be overridden by the GIT_PROXY_COMMAND environment variable
574           (which always applies universally, without the special "for"
575           handling).
576
577           The special string none can be used as the proxy command to specify
578           that no proxy be used for a given domain pattern. This is useful
579           for excluding servers inside a firewall from proxy use, while
580           defaulting to a common proxy for external domains.
581
582       core.ignoreStat
583           If true, commands which modify both the working tree and the index
584           will mark the updated paths with the "assume unchanged" bit in the
585           index. These marked files are then assumed to stay unchanged in the
586           working copy, until you mark them otherwise manually - Git will not
587           detect the file changes by lstat() calls. This is useful on systems
588           where those are very slow, such as Microsoft Windows. See git-
589           update-index(1). False by default.
590
591       core.preferSymlinkRefs
592           Instead of the default "symref" format for HEAD and other symbolic
593           reference files, use symbolic links. This is sometimes needed to
594           work with old scripts that expect HEAD to be a symbolic link.
595
596       core.bare
597           If true this repository is assumed to be bare and has no working
598           directory associated with it. If this is the case a number of
599           commands that require a working directory will be disabled, such as
600           git-add(1) or git-merge(1).
601
602           This setting is automatically guessed by git-clone(1) or git-
603           init(1) when the repository was created. By default a repository
604           that ends in "/.git" is assumed to be not bare (bare = false),
605           while all other repositories are assumed to be bare (bare = true).
606
607       core.worktree
608           Set the path to the root of the work tree. This can be overridden
609           by the GIT_WORK_TREE environment variable and the --work-tree
610           command line option. It can be an absolute path or a relative path
611           to the .git directory, either specified by --git-dir or GIT_DIR, or
612           automatically discovered. If --git-dir or GIT_DIR are specified but
613           none of --work-tree, GIT_WORK_TREE and core.worktree is specified,
614           the current working directory is regarded as the root of the work
615           tree.
616
617           Note that this variable is honored even when set in a configuration
618           file in a ".git" subdirectory of a directory, and its value differs
619           from the latter directory (e.g. "/path/to/.git/config" has
620           core.worktree set to "/different/path"), which is most likely a
621           misconfiguration. Running git commands in "/path/to" directory will
622           still use "/different/path" as the root of the work tree and can
623           cause great confusion to the users.
624
625       core.logAllRefUpdates
626           Enable the reflog. Updates to a ref <ref> is logged to the file
627           "$GIT_DIR/logs/<ref>", by appending the new and old SHA1, the
628           date/time and the reason of the update, but only when the file
629           exists. If this configuration variable is set to true, missing
630           "$GIT_DIR/logs/<ref>" file is automatically created for branch
631           heads.
632
633           This information can be used to determine what commit was the tip
634           of a branch "2 days ago".
635
636           This value is true by default in a repository that has a working
637           directory associated with it, and false by default in a bare
638           repository.
639
640       core.repositoryFormatVersion
641           Internal variable identifying the repository format and layout
642           version.
643
644       core.sharedRepository
645           When group (or true), the repository is made shareable between
646           several users in a group (making sure all the files and objects are
647           group-writable). When all (or world or everybody), the repository
648           will be readable by all users, additionally to being
649           group-shareable. When umask (or false), git will use permissions
650           reported by umask(2). When 0xxx, where 0xxx is an octal number,
651           files in the repository will have this mode value.  0xxx will
652           override user’s umask value (whereas the other options will only
653           override requested parts of the user’s umask value). Examples: 0660
654           will make the repo read/write-able for the owner and group, but
655           inaccessible to others (equivalent to group unless umask is e.g.
656           0022).  0640 is a repository that is group-readable but not
657           group-writable. See git-init(1). False by default.
658
659       core.warnAmbiguousRefs
660           If true, git will warn you if the ref name you passed it is
661           ambiguous and might match multiple refs in the .git/refs/ tree.
662           True by default.
663
664       core.compression
665           An integer -1..9, indicating a default compression level. -1 is the
666           zlib default. 0 means no compression, and 1..9 are various
667           speed/size tradeoffs, 9 being slowest. If set, this provides a
668           default to other compression variables, such as
669           core.loosecompression and pack.compression.
670
671       core.loosecompression
672           An integer -1..9, indicating the compression level for objects that
673           are not in a pack file. -1 is the zlib default. 0 means no
674           compression, and 1..9 are various speed/size tradeoffs, 9 being
675           slowest. If not set, defaults to core.compression. If that is not
676           set, defaults to 1 (best speed).
677
678       core.packedGitWindowSize
679           Number of bytes of a pack file to map into memory in a single
680           mapping operation. Larger window sizes may allow your system to
681           process a smaller number of large pack files more quickly. Smaller
682           window sizes will negatively affect performance due to increased
683           calls to the operating system’s memory manager, but may improve
684           performance when accessing a large number of large pack files.
685
686           Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32
687           MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should
688           be reasonable for all users/operating systems. You probably do not
689           need to adjust this value.
690
691           Common unit suffixes of k, m, or g are supported.
692
693       core.packedGitLimit
694           Maximum number of bytes to map simultaneously into memory from pack
695           files. If Git needs to access more than this many bytes at once to
696           complete an operation it will unmap existing regions to reclaim
697           virtual address space within the process.
698
699           Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit
700           platforms. This should be reasonable for all users/operating
701           systems, except on the largest projects. You probably do not need
702           to adjust this value.
703
704           Common unit suffixes of k, m, or g are supported.
705
706       core.deltaBaseCacheLimit
707           Maximum number of bytes to reserve for caching base objects that
708           multiple deltafied objects reference. By storing the entire
709           decompressed base objects in a cache Git is able to avoid unpacking
710           and decompressing frequently used base objects multiple times.
711
712           Default is 16 MiB on all platforms. This should be reasonable for
713           all users/operating systems, except on the largest projects. You
714           probably do not need to adjust this value.
715
716           Common unit suffixes of k, m, or g are supported.
717
718       core.bigFileThreshold
719           Files larger than this size are stored deflated, without attempting
720           delta compression. Storing large files without delta compression
721           avoids excessive memory usage, at the slight expense of increased
722           disk usage.
723
724           Default is 512 MiB on all platforms. This should be reasonable for
725           most projects as source code and other text files can still be
726           delta compressed, but larger binary media files won’t be.
727
728           Common unit suffixes of k, m, or g are supported.
729
730           Currently only git-fast-import(1) honors this setting.
731
732       core.excludesfile
733           In addition to .gitignore (per-directory) and .git/info/exclude,
734           git looks into this file for patterns of files which are not meant
735           to be tracked. "~/" is expanded to the value of $HOME and "~user/"
736           to the specified user’s home directory. See gitignore(5).
737
738       core.editor
739           Commands such as commit and tag that lets you edit messages by
740           launching an editor uses the value of this variable when it is set,
741           and the environment variable GIT_EDITOR is not set. See git-var(1).
742
743       core.pager
744           The command that git will use to paginate output. Can be overridden
745           with the GIT_PAGER environment variable. Note that git sets the
746           LESS environment variable to FRSX if it is unset when it runs the
747           pager. One can change these settings by setting the LESS variable
748           to some other value. Alternately, these settings can be overridden
749           on a project or global basis by setting the core.pager option.
750           Setting core.pager has no affect on the LESS environment variable
751           behaviour above, so if you want to override git’s default settings
752           this way, you need to be explicit. For example, to disable the S
753           option in a backward compatible manner, set core.pager to less
754           -+$LESS -FRX. This will be passed to the shell by git, which will
755           translate the final command to LESS=FRSX less -+FRSX -FRX.
756
757       core.whitespace
758           A comma separated list of common whitespace problems to notice.
759           git diff will use color.diff.whitespace to highlight them, and git
760           apply --whitespace=error will consider them as errors. You can
761           prefix - to disable any of them (e.g.  -trailing-space):
762
763           ·    blank-at-eol treats trailing whitespaces at the end of the
764               line as an error (enabled by default).
765
766           ·    space-before-tab treats a space character that appears
767               immediately before a tab character in the initial indent part
768               of the line as an error (enabled by default).
769
770           ·    indent-with-non-tab treats a line that is indented with 8 or
771               more space characters as an error (not enabled by default).
772
773           ·    blank-at-eof treats blank lines added at the end of file as an
774               error (enabled by default).
775
776           ·    trailing-space is a short-hand to cover both blank-at-eol and
777               blank-at-eof.
778
779           ·    cr-at-eol treats a carriage-return at the end of line as part
780               of the line terminator, i.e. with it, trailing-space does not
781               trigger if the character before such a carriage-return is not a
782               whitespace (not enabled by default).
783
784       core.fsyncobjectfiles
785           This boolean will enable fsync() when writing object files.
786
787           This is a total waste of time and effort on a filesystem that
788           orders data writes properly, but can be useful for filesystems that
789           do not use journalling (traditional UNIX filesystems) or that only
790           journal metadata and not file contents (OS X’s HFS+, or Linux ext3
791           with "data=writeback").
792
793       core.preloadindex
794           Enable parallel index preload for operations like git diff
795
796           This can speed up operations like git diff and git status
797           especially on filesystems like NFS that have weak caching semantics
798           and thus relatively high IO latencies. With this set to true, git
799           will do the index comparison to the filesystem data in parallel,
800           allowing overlapping IO’s.
801
802       core.createObject
803           You can set this to link, in which case a hardlink followed by a
804           delete of the source are used to make sure that object creation
805           will not overwrite existing objects.
806
807           On some file system/operating system combinations, this is
808           unreliable. Set this config setting to rename there; However, This
809           will remove the check that makes sure that existing object files
810           will not get overwritten.
811
812       core.notesRef
813           When showing commit messages, also show notes which are stored in
814           the given ref. This ref is expected to contain files named after
815           the full SHA-1 of the commit they annotate. The ref must be fully
816           qualified.
817
818           If such a file exists in the given ref, the referenced blob is
819           read, and appended to the commit message, separated by a "Notes
820           (<refname>):" line (shortened to "Notes:" in the case of
821           "refs/notes/commits"). If the given ref itself does not exist, it
822           is not an error, but means that no notes should be printed.
823
824           This setting defaults to "refs/notes/commits", and can be
825           overridden by the GIT_NOTES_REF environment variable.
826
827       core.sparseCheckout
828           Enable "sparse checkout" feature. See section "Sparse checkout" in
829           git-read-tree(1) for more information.
830
831       add.ignore-errors
832           Tells git add to continue adding files when some files cannot be
833           added due to indexing errors. Equivalent to the --ignore-errors
834           option of git-add(1).
835
836       alias.*
837           Command aliases for the git(1) command wrapper - e.g. after
838           defining "alias.last = cat-file commit HEAD", the invocation "git
839           last" is equivalent to "git cat-file commit HEAD". To avoid
840           confusion and troubles with script usage, aliases that hide
841           existing git commands are ignored. Arguments are split by spaces,
842           the usual shell quoting and escaping is supported. quote pair and a
843           backslash can be used to quote them.
844
845           If the alias expansion is prefixed with an exclamation point, it
846           will be treated as a shell command. For example, defining
847           "alias.new = !gitk --all --not ORIG_HEAD", the invocation "git new"
848           is equivalent to running the shell command "gitk --all --not
849           ORIG_HEAD". Note that shell commands will be executed from the
850           top-level directory of a repository, which may not necessarily be
851           the current directory.
852
853       am.keepcr
854           If true, git-am will call git-mailsplit for patches in mbox format
855           with parameter --keep-cr. In this case git-mailsplit will not
856           remove \r from lines ending with \r\n. Can be overrriden by giving
857           --no-keep-cr from the command line. See git-am(1), git-
858           mailsplit(1).
859
860       apply.ignorewhitespace
861           When set to change, tells git apply to ignore changes in
862           whitespace, in the same way as the --ignore-space-change option.
863           When set to one of: no, none, never, false tells git apply to
864           respect all whitespace differences. See git-apply(1).
865
866       apply.whitespace
867           Tells git apply how to handle whitespaces, in the same way as the
868           --whitespace option. See git-apply(1).
869
870       branch.autosetupmerge
871           Tells git branch and git checkout to set up new branches so that
872           git-pull(1) will appropriately merge from the starting point
873           branch. Note that even if this option is not set, this behavior can
874           be chosen per-branch using the --track and --no-track options. The
875           valid settings are: false — no automatic setup is done; true —
876           automatic setup is done when the starting point is a remote branch;
877           always — automatic setup is done when the starting point is either
878           a local branch or remote branch. This option defaults to true.
879
880       branch.autosetuprebase
881           When a new branch is created with git branch or git checkout that
882           tracks another branch, this variable tells git to set up pull to
883           rebase instead of merge (see "branch.<name>.rebase"). When never,
884           rebase is never automatically set to true. When local, rebase is
885           set to true for tracked branches of other local branches. When
886           remote, rebase is set to true for tracked branches of remote
887           branches. When always, rebase will be set to true for all tracking
888           branches. See "branch.autosetupmerge" for details on how to set up
889           a branch to track another branch. This option defaults to never.
890
891       branch.<name>.remote
892           When in branch <name>, it tells git fetch and git push which remote
893           to fetch from/push to. It defaults to origin if no remote is
894           configured.  origin is also used if you are not on any branch.
895
896       branch.<name>.merge
897           Defines, together with branch.<name>.remote, the upstream branch
898           for the given branch. It tells git fetch/git pull which branch to
899           merge and can also affect git push (see push.default). When in
900           branch <name>, it tells git fetch the default refspec to be marked
901           for merging in FETCH_HEAD. The value is handled like the remote
902           part of a refspec, and must match a ref which is fetched from the
903           remote given by "branch.<name>.remote". The merge information is
904           used by git pull (which at first calls git fetch) to lookup the
905           default branch for merging. Without this option, git pull defaults
906           to merge the first refspec fetched. Specify multiple values to get
907           an octopus merge. If you wish to setup git pull so that it merges
908           into <name> from another branch in the local repository, you can
909           point branch.<name>.merge to the desired branch, and use the
910           special setting .  (a period) for branch.<name>.remote.
911
912       branch.<name>.mergeoptions
913           Sets default options for merging into branch <name>. The syntax and
914           supported options are the same as those of git-merge(1), but option
915           values containing whitespace characters are currently not
916           supported.
917
918       branch.<name>.rebase
919           When true, rebase the branch <name> on top of the fetched branch,
920           instead of merging the default branch from the default remote when
921           "git pull" is run.  NOTE: this is a possibly dangerous operation;
922           do not use it unless you understand the implications (see git-
923           rebase(1) for details).
924
925       browser.<tool>.cmd
926           Specify the command to invoke the specified browser. The specified
927           command is evaluated in shell with the URLs passed as arguments.
928           (See git-web—browse(1).)
929
930       browser.<tool>.path
931           Override the path for the given tool that may be used to browse
932           HTML help (see -w option in git-help(1)) or a working repository in
933           gitweb (see git-instaweb(1)).
934
935       clean.requireForce
936           A boolean to make git-clean do nothing unless given -f or -n.
937           Defaults to true.
938
939       color.branch
940           A boolean to enable/disable color in the output of git-branch(1).
941           May be set to always, false (or never) or auto (or true), in which
942           case colors are used only when the output is to a terminal.
943           Defaults to false.
944
945       color.branch.<slot>
946           Use customized color for branch coloration.  <slot> is one of
947           current (the current branch), local (a local branch), remote (a
948           tracking branch in refs/remotes/), plain (other refs).
949
950           The value for these configuration variables is a list of colors (at
951           most two) and attributes (at most one), separated by spaces. The
952           colors accepted are normal, black, red, green, yellow, blue,
953           magenta, cyan and white; the attributes are bold, dim, ul, blink
954           and reverse. The first color given is the foreground; the second is
955           the background. The position of the attribute, if any, doesn’t
956           matter.
957
958       color.diff
959           When set to always, always use colors in patch. When false (or
960           never), never. When set to true or auto, use colors only when the
961           output is to the terminal. Defaults to false.
962
963       color.diff.<slot>
964           Use customized color for diff colorization.  <slot> specifies which
965           part of the patch to use the specified color, and is one of plain
966           (context text), meta (metainformation), frag (hunk header), func
967           (function in hunk header), old (removed lines), new (added lines),
968           commit (commit headers), or whitespace (highlighting whitespace
969           errors). The values of these variables may be specified as in
970           color.branch.<slot>.
971
972       color.grep
973           When set to always, always highlight matches. When false (or
974           never), never. When set to true or auto, use color only when the
975           output is written to the terminal. Defaults to false.
976
977       color.grep.<slot>
978           Use customized color for grep colorization.  <slot> specifies which
979           part of the line to use the specified color, and is one of
980
981           context
982               non-matching text in context lines (when using -A, -B, or -C)
983
984           filename
985               filename prefix (when not using -h)
986
987           function
988               function name lines (when using -p)
989
990           linenumber
991               line number prefix (when using -n)
992
993           match
994               matching text
995
996           selected
997               non-matching text in selected lines
998
999           separator
1000               separators between fields on a line (:, -, and =) and between
1001               hunks (--)
1002
1003           The values of these variables may be specified as in
1004           color.branch.<slot>.
1005
1006       color.interactive
1007           When set to always, always use colors for interactive prompts and
1008           displays (such as those used by "git-add --interactive"). When
1009           false (or never), never. When set to true or auto, use colors only
1010           when the output is to the terminal. Defaults to false.
1011
1012       color.interactive.<slot>
1013           Use customized color for git add --interactive output.  <slot> may
1014           be prompt, header, help or error, for four distinct types of normal
1015           output from interactive commands. The values of these variables may
1016           be specified as in color.branch.<slot>.
1017
1018       color.pager
1019           A boolean to enable/disable colored output when the pager is in use
1020           (default is true).
1021
1022       color.showbranch
1023           A boolean to enable/disable color in the output of git-show-
1024           branch(1). May be set to always, false (or never) or auto (or
1025           true), in which case colors are used only when the output is to a
1026           terminal. Defaults to false.
1027
1028       color.status
1029           A boolean to enable/disable color in the output of git-status(1).
1030           May be set to always, false (or never) or auto (or true), in which
1031           case colors are used only when the output is to a terminal.
1032           Defaults to false.
1033
1034       color.status.<slot>
1035           Use customized color for status colorization.  <slot> is one of
1036           header (the header text of the status message), added or updated
1037           (files which are added but not committed), changed (files which are
1038           changed but not added in the index), untracked (files which are not
1039           tracked by git), or nobranch (the color the no branch warning is
1040           shown in, defaulting to red). The values of these variables may be
1041           specified as in color.branch.<slot>.
1042
1043       color.ui
1044           When set to always, always use colors in all git commands which are
1045           capable of colored output. When false (or never), never. When set
1046           to true or auto, use colors only when the output is to the
1047           terminal. When more specific variables of color.* are set, they
1048           always take precedence over this setting. Defaults to false.
1049
1050       commit.status
1051           A boolean to enable/disable inclusion of status information in the
1052           commit message template when using an editor to prepare the commit
1053           message. Defaults to true.
1054
1055       commit.template
1056           Specify a file to use as the template for new commit messages. "~/"
1057           is expanded to the value of $HOME and "~user/" to the specified
1058           user’s home directory.
1059
1060       diff.autorefreshindex
1061           When using git diff to compare with work tree files, do not
1062           consider stat-only change as changed. Instead, silently run git
1063           update-index --refresh to update the cached stat information for
1064           paths whose contents in the work tree match the contents in the
1065           index. This option defaults to true. Note that this affects only
1066           git diff Porcelain, and not lower level diff commands such as git
1067           diff-files.
1068
1069       diff.external
1070           If this config variable is set, diff generation is not performed
1071           using the internal diff machinery, but using the given command. Can
1072           be overridden with the ‘GIT_EXTERNAL_DIFF’ environment variable.
1073           The command is called with parameters as described under "git
1074           Diffs" in git(1). Note: if you want to use an external diff program
1075           only on a subset of your files, you might want to use
1076           gitattributes(5) instead.
1077
1078       diff.mnemonicprefix
1079           If set, git diff uses a prefix pair that is different from the
1080           standard "a/" and "b/" depending on what is being compared. When
1081           this configuration is in effect, reverse diff output also swaps the
1082           order of the prefixes:
1083
1084           git diff
1085               compares the (i)ndex and the (w)ork tree;
1086
1087           git diff HEAD
1088               compares a (c)ommit and the (w)ork tree;
1089
1090           git diff --cached
1091               compares a (c)ommit and the (i)ndex;
1092
1093           git diff HEAD:file1 file2
1094               compares an (o)bject and a (w)ork tree entity;
1095
1096           git diff --no-index a b
1097               compares two non-git things (1) and (2).
1098
1099       diff.renameLimit
1100           The number of files to consider when performing the copy/rename
1101           detection; equivalent to the git diff option -l.
1102
1103       diff.renames
1104           Tells git to detect renames. If set to any boolean value, it will
1105           enable basic rename detection. If set to "copies" or "copy", it
1106           will detect copies, as well.
1107
1108       diff.suppressBlankEmpty
1109           A boolean to inhibit the standard behavior of printing a space
1110           before each empty output line. Defaults to false.
1111
1112       diff.tool
1113           Controls which diff tool is used.  diff.tool overrides merge.tool
1114           when used by git-difftool(1) and has the same valid values as
1115           merge.tool minus "tortoisemerge" and plus "kompare".
1116
1117       difftool.<tool>.path
1118           Override the path for the given tool. This is useful in case your
1119           tool is not in the PATH.
1120
1121       difftool.<tool>.cmd
1122           Specify the command to invoke the specified diff tool. The
1123           specified command is evaluated in shell with the following
1124           variables available: LOCAL is set to the name of the temporary file
1125           containing the contents of the diff pre-image and REMOTE is set to
1126           the name of the temporary file containing the contents of the diff
1127           post-image.
1128
1129       difftool.prompt
1130           Prompt before each invocation of the diff tool.
1131
1132       diff.wordRegex
1133           A POSIX Extended Regular Expression used to determine what is a
1134           "word" when performing word-by-word difference calculations.
1135           Character sequences that match the regular expression are "words",
1136           all other characters are ignorable whitespace.
1137
1138       fetch.unpackLimit
1139           If the number of objects fetched over the git native transfer is
1140           below this limit, then the objects will be unpacked into loose
1141           object files. However if the number of received objects equals or
1142           exceeds this limit then the received pack will be stored as a pack,
1143           after adding any missing delta bases. Storing the pack from a push
1144           can make the push operation complete faster, especially on slow
1145           filesystems. If not set, the value of transfer.unpackLimit is used
1146           instead.
1147
1148       format.attach
1149           Enable multipart/mixed attachments as the default for format-patch.
1150           The value can also be a double quoted string which will enable
1151           attachments as the default and set the value as the boundary. See
1152           the --attach option in git-format-patch(1).
1153
1154       format.numbered
1155           A boolean which can enable or disable sequence numbers in patch
1156           subjects. It defaults to "auto" which enables it only if there is
1157           more than one patch. It can be enabled or disabled for all messages
1158           by setting it to "true" or "false". See --numbered option in git-
1159           format-patch(1).
1160
1161       format.headers
1162           Additional email headers to include in a patch to be submitted by
1163           mail. See git-format-patch(1).
1164
1165       format.cc
1166           Additional "Cc:" headers to include in a patch to be submitted by
1167           mail. See the --cc option in git-format-patch(1).
1168
1169       format.subjectprefix
1170           The default for format-patch is to output files with the [PATCH]
1171           subject prefix. Use this variable to change that prefix.
1172
1173       format.suffix
1174           The default for format-patch is to output files with the suffix
1175           .patch. Use this variable to change that suffix (make sure to
1176           include the dot if you want it).
1177
1178       format.pretty
1179           The default pretty format for log/show/whatchanged command, See
1180           git-log(1), git-show(1), git-whatchanged(1).
1181
1182       format.thread
1183           The default threading style for git format-patch. Can be a boolean
1184           value, or shallow or deep.  shallow threading makes every mail a
1185           reply to the head of the series, where the head is chosen from the
1186           cover letter, the --in-reply-to, and the first patch mail, in this
1187           order.  deep threading makes every mail a reply to the previous
1188           one. A true boolean value is the same as shallow, and a false value
1189           disables threading.
1190
1191       format.signoff
1192           A boolean value which lets you enable the -s/--signoff option of
1193           format-patch by default.  Note: Adding the Signed-off-by: line to a
1194           patch should be a conscious act and means that you certify you have
1195           the rights to submit this work under the same open source license.
1196           Please see the SubmittingPatches document for further discussion.
1197
1198       gc.aggressiveWindow
1199           The window size parameter used in the delta compression algorithm
1200           used by git gc --aggressive. This defaults to 250.
1201
1202       gc.auto
1203           When there are approximately more than this many loose objects in
1204           the repository, git gc --auto will pack them. Some Porcelain
1205           commands use this command to perform a light-weight garbage
1206           collection from time to time. The default value is 6700. Setting
1207           this to 0 disables it.
1208
1209       gc.autopacklimit
1210           When there are more than this many packs that are not marked with
1211           *.keep file in the repository, git gc --auto consolidates them into
1212           one larger pack. The default value is 50. Setting this to 0
1213           disables it.
1214
1215       gc.packrefs
1216           Running git pack-refs in a repository renders it unclonable by Git
1217           versions prior to 1.5.1.2 over dumb transports such as HTTP. This
1218           variable determines whether git gc runs git pack-refs. This can be
1219           set to nobare to enable it within all non-bare repos or it can be
1220           set to a boolean value. The default is true.
1221
1222       gc.pruneexpire
1223           When git gc is run, it will call prune --expire 2.weeks.ago.
1224           Override the grace period with this config variable. The value
1225           "now" may be used to disable this grace period and always prune
1226           unreachable objects immediately.
1227
1228       gc.reflogexpire
1229
1230           git reflog expire removes reflog entries older than this time;
1231           defaults to 90 days.
1232
1233       gc.reflogexpireunreachable
1234
1235           git reflog expire removes reflog entries older than this time and
1236           are not reachable from the current tip; defaults to 30 days.
1237
1238       gc.rerereresolved
1239           Records of conflicted merge you resolved earlier are kept for this
1240           many days when git rerere gc is run. The default is 60 days. See
1241           git-rerere(1).
1242
1243       gc.rerereunresolved
1244           Records of conflicted merge you have not resolved are kept for this
1245           many days when git rerere gc is run. The default is 15 days. See
1246           git-rerere(1).
1247
1248       gitcvs.commitmsgannotation
1249           Append this string to each commit message. Set to empty string to
1250           disable this feature. Defaults to "via git-CVS emulator".
1251
1252       gitcvs.enabled
1253           Whether the CVS server interface is enabled for this repository.
1254           See git-cvsserver(1).
1255
1256       gitcvs.logfile
1257           Path to a log file where the CVS server interface well... logs
1258           various stuff. See git-cvsserver(1).
1259
1260       gitcvs.usecrlfattr
1261           If true, the server will look up the crlf attribute for files to
1262           determine the -k modes to use. If crlf is set, the -k mode will be
1263           left blank, so cvs clients will treat it as text. If crlf is
1264           explicitly unset, the file will be set with -kb mode, which
1265           suppresses any newline munging the client might otherwise do. If
1266           crlf is not specified, then gitcvs.allbinary is used. See
1267           gitattributes(5).
1268
1269       gitcvs.allbinary
1270           This is used if gitcvs.usecrlfattr does not resolve the correct -kb
1271           mode to use. If true, all unresolved files are sent to the client
1272           in mode -kb. This causes the client to treat them as binary files,
1273           which suppresses any newline munging it otherwise might do.
1274           Alternatively, if it is set to "guess", then the contents of the
1275           file are examined to decide if it is binary, similar to
1276           core.autocrlf.
1277
1278       gitcvs.dbname
1279           Database used by git-cvsserver to cache revision information
1280           derived from the git repository. The exact meaning depends on the
1281           used database driver, for SQLite (which is the default driver) this
1282           is a filename. Supports variable substitution (see git-cvsserver(1)
1283           for details). May not contain semicolons (;). Default:
1284           %Ggitcvs.%m.sqlite
1285
1286       gitcvs.dbdriver
1287           Used Perl DBI driver. You can specify any available driver for this
1288           here, but it might not work. git-cvsserver is tested with
1289           DBD::SQLite, reported to work with DBD::Pg, and reported not to
1290           work with DBD::mysql. Experimental feature. May not contain double
1291           colons (:). Default: SQLite. See git-cvsserver(1).
1292
1293       gitcvs.dbuser, gitcvs.dbpass
1294           Database user and password. Only useful if setting gitcvs.dbdriver,
1295           since SQLite has no concept of database users and/or passwords.
1296           gitcvs.dbuser supports variable substitution (see git-cvsserver(1)
1297           for details).
1298
1299       gitcvs.dbTableNamePrefix
1300           Database table name prefix. Prepended to the names of any database
1301           tables used, allowing a single database to be used for several
1302           repositories. Supports variable substitution (see git-cvsserver(1)
1303           for details). Any non-alphabetic characters will be replaced with
1304           underscores.
1305
1306       All gitcvs variables except for gitcvs.usecrlfattr and gitcvs.allbinary
1307       can also be specified as gitcvs.<access_method>.<varname> (where
1308       access_method is one of "ext" and "pserver") to make them apply only
1309       for the given access method.
1310
1311       gui.commitmsgwidth
1312           Defines how wide the commit message window is in the git-gui(1).
1313           "75" is the default.
1314
1315       gui.diffcontext
1316           Specifies how many context lines should be used in calls to diff
1317           made by the git-gui(1). The default is "5".
1318
1319       gui.encoding
1320           Specifies the default encoding to use for displaying of file
1321           contents in git-gui(1) and gitk(1). It can be overridden by setting
1322           the encoding attribute for relevant files (see gitattributes(5)).
1323           If this option is not set, the tools default to the locale
1324           encoding.
1325
1326       gui.matchtrackingbranch
1327           Determines if new branches created with git-gui(1) should default
1328           to tracking remote branches with matching names or not. Default:
1329           "false".
1330
1331       gui.newbranchtemplate
1332           Is used as suggested name when creating new branches using the git-
1333           gui(1).
1334
1335       gui.pruneduringfetch
1336           "true" if git-gui(1) should prune tracking branches when performing
1337           a fetch. The default value is "false".
1338
1339       gui.trustmtime
1340           Determines if git-gui(1) should trust the file modification
1341           timestamp or not. By default the timestamps are not trusted.
1342
1343       gui.spellingdictionary
1344           Specifies the dictionary used for spell checking commit messages in
1345           the git-gui(1). When set to "none" spell checking is turned off.
1346
1347       gui.fastcopyblame
1348           If true, git gui blame uses -C instead of -C -C for original
1349           location detection. It makes blame significantly faster on huge
1350           repositories at the expense of less thorough copy detection.
1351
1352       gui.copyblamethreshold
1353           Specifies the threshold to use in git gui blame original location
1354           detection, measured in alphanumeric characters. See the git-
1355           blame(1) manual for more information on copy detection.
1356
1357       gui.blamehistoryctx
1358           Specifies the radius of history context in days to show in gitk(1)
1359           for the selected commit, when the Show History Context menu item is
1360           invoked from git gui blame. If this variable is set to zero, the
1361           whole history is shown.
1362
1363       guitool.<name>.cmd
1364           Specifies the shell command line to execute when the corresponding
1365           item of the git-gui(1) Tools menu is invoked. This option is
1366           mandatory for every tool. The command is executed from the root of
1367           the working directory, and in the environment it receives the name
1368           of the tool as GIT_GUITOOL, the name of the currently selected file
1369           as FILENAME, and the name of the current branch as CUR_BRANCH (if
1370           the head is detached, CUR_BRANCH is empty).
1371
1372       guitool.<name>.needsfile
1373           Run the tool only if a diff is selected in the GUI. It guarantees
1374           that FILENAME is not empty.
1375
1376       guitool.<name>.noconsole
1377           Run the command silently, without creating a window to display its
1378           output.
1379
1380       guitool.<name>.norescan
1381           Don’t rescan the working directory for changes after the tool
1382           finishes execution.
1383
1384       guitool.<name>.confirm
1385           Show a confirmation dialog before actually running the tool.
1386
1387       guitool.<name>.argprompt
1388           Request a string argument from the user, and pass it to the tool
1389           through the ARGS environment variable. Since requesting an argument
1390           implies confirmation, the confirm option has no effect if this is
1391           enabled. If the option is set to true, yes, or 1, the dialog uses a
1392           built-in generic prompt; otherwise the exact value of the variable
1393           is used.
1394
1395       guitool.<name>.revprompt
1396           Request a single valid revision from the user, and set the REVISION
1397           environment variable. In other aspects this option is similar to
1398           argprompt, and can be used together with it.
1399
1400       guitool.<name>.revunmerged
1401           Show only unmerged branches in the revprompt subdialog. This is
1402           useful for tools similar to merge or rebase, but not for things
1403           like checkout or reset.
1404
1405       guitool.<name>.title
1406           Specifies the title to use for the prompt dialog. The default is
1407           the tool name.
1408
1409       guitool.<name>.prompt
1410           Specifies the general prompt string to display at the top of the
1411           dialog, before subsections for argprompt and revprompt. The default
1412           value includes the actual command.
1413
1414       help.browser
1415           Specify the browser that will be used to display help in the web
1416           format. See git-help(1).
1417
1418       help.format
1419           Override the default help format used by git-help(1). Values man,
1420           info, web and html are supported.  man is the default.  web and
1421           html are the same.
1422
1423       help.autocorrect
1424           Automatically correct and execute mistyped commands after waiting
1425           for the given number of deciseconds (0.1 sec). If more than one
1426           command can be deduced from the entered text, nothing will be
1427           executed. If the value of this option is negative, the corrected
1428           command will be executed immediately. If the value is 0 - the
1429           command will be just shown but not executed. This is the default.
1430
1431       http.proxy
1432           Override the HTTP proxy, normally configured using the http_proxy
1433           environment variable (see curl(1)). This can be overridden on a
1434           per-remote basis; see remote.<name>.proxy
1435
1436       http.sslVerify
1437           Whether to verify the SSL certificate when fetching or pushing over
1438           HTTPS. Can be overridden by the GIT_SSL_NO_VERIFY environment
1439           variable.
1440
1441       http.sslCert
1442           File containing the SSL certificate when fetching or pushing over
1443           HTTPS. Can be overridden by the GIT_SSL_CERT environment variable.
1444
1445       http.sslKey
1446           File containing the SSL private key when fetching or pushing over
1447           HTTPS. Can be overridden by the GIT_SSL_KEY environment variable.
1448
1449       http.sslCertPasswordProtected
1450           Enable git’s password prompt for the SSL certificate. Otherwise
1451           OpenSSL will prompt the user, possibly many times, if the
1452           certificate or private key is encrypted. Can be overridden by the
1453           GIT_SSL_CERT_PASSWORD_PROTECTED environment variable.
1454
1455       http.sslCAInfo
1456           File containing the certificates to verify the peer with when
1457           fetching or pushing over HTTPS. Can be overridden by the
1458           GIT_SSL_CAINFO environment variable.
1459
1460       http.sslCAPath
1461           Path containing files with the CA certificates to verify the peer
1462           with when fetching or pushing over HTTPS. Can be overridden by the
1463           GIT_SSL_CAPATH environment variable.
1464
1465       http.maxRequests
1466           How many HTTP requests to launch in parallel. Can be overridden by
1467           the GIT_HTTP_MAX_REQUESTS environment variable. Default is 5.
1468
1469       http.minSessions
1470           The number of curl sessions (counted across slots) to be kept
1471           across requests. They will not be ended with curl_easy_cleanup()
1472           until http_cleanup() is invoked. If USE_CURL_MULTI is not defined,
1473           this value will be capped at 1. Defaults to 1.
1474
1475       http.postBuffer
1476           Maximum size in bytes of the buffer used by smart HTTP transports
1477           when POSTing data to the remote system. For requests larger than
1478           this buffer size, HTTP/1.1 and Transfer-Encoding: chunked is used
1479           to avoid creating a massive pack file locally. Default is 1 MiB,
1480           which is sufficient for most requests.
1481
1482       http.lowSpeedLimit, http.lowSpeedTime
1483           If the HTTP transfer speed is less than http.lowSpeedLimit for
1484           longer than http.lowSpeedTime seconds, the transfer is aborted. Can
1485           be overridden by the GIT_HTTP_LOW_SPEED_LIMIT and
1486           GIT_HTTP_LOW_SPEED_TIME environment variables.
1487
1488       http.noEPSV
1489           A boolean which disables using of EPSV ftp command by curl. This
1490           can helpful with some "poor" ftp servers which don’t support EPSV
1491           mode. Can be overridden by the GIT_CURL_FTP_NO_EPSV environment
1492           variable. Default is false (curl will use EPSV).
1493
1494       i18n.commitEncoding
1495           Character encoding the commit messages are stored in; git itself
1496           does not care per se, but this information is necessary e.g. when
1497           importing commits from emails or in the gitk graphical history
1498           browser (and possibly at other places in the future or in other
1499           porcelains). See e.g.  git-mailinfo(1). Defaults to utf-8.
1500
1501       i18n.logOutputEncoding
1502           Character encoding the commit messages are converted to when
1503           running git log and friends.
1504
1505       imap
1506           The configuration variables in the imap section are described in
1507           git-imap-send(1).
1508
1509       init.templatedir
1510           Specify the directory from which templates will be copied. (See the
1511           "TEMPLATE DIRECTORY" section of git-init(1).)
1512
1513       instaweb.browser
1514           Specify the program that will be used to browse your working
1515           repository in gitweb. See git-instaweb(1).
1516
1517       instaweb.httpd
1518           The HTTP daemon command-line to start gitweb on your working
1519           repository. See git-instaweb(1).
1520
1521       instaweb.local
1522           If true the web server started by git-instaweb(1) will be bound to
1523           the local IP (127.0.0.1).
1524
1525       instaweb.modulepath
1526           The module path for an apache httpd used by git-instaweb(1).
1527
1528       instaweb.port
1529           The port number to bind the gitweb httpd to. See git-instaweb(1).
1530
1531       interactive.singlekey
1532           In interactive commands, allow the user to provide one-letter input
1533           with a single key (i.e., without hitting enter). Currently this is
1534           used only by the --patch mode of git-add(1). Note that this setting
1535           is silently ignored if portable keystroke input is not available.
1536
1537       log.date
1538           Set default date-time mode for the log command. Setting log.date
1539           value is similar to using git log\´s --date option. The value is
1540           one of the following alternatives:
1541           {relative,local,default,iso,rfc,short}. See git-log(1).
1542
1543       log.showroot
1544           If true, the initial commit will be shown as a big creation event.
1545           This is equivalent to a diff against an empty tree. Tools like git-
1546           log(1) or git-whatchanged(1), which normally hide the root commit
1547           will now show it. True by default.
1548
1549       mailmap.file
1550           The location of an augmenting mailmap file. The default mailmap,
1551           located in the root of the repository, is loaded first, then the
1552           mailmap file pointed to by this variable. The location of the
1553           mailmap file may be in a repository subdirectory, or somewhere
1554           outside of the repository itself. See git-shortlog(1) and git-
1555           blame(1).
1556
1557       man.viewer
1558           Specify the programs that may be used to display help in the man
1559           format. See git-help(1).
1560
1561       man.<tool>.cmd
1562           Specify the command to invoke the specified man viewer. The
1563           specified command is evaluated in shell with the man page passed as
1564           argument. (See git-help(1).)
1565
1566       man.<tool>.path
1567           Override the path for the given tool that may be used to display
1568           help in the man format. See git-help(1).
1569
1570       merge.conflictstyle
1571           Specify the style in which conflicted hunks are written out to
1572           working tree files upon merge. The default is "merge", which shows
1573           a <<<<<<< conflict marker, changes made by one side, a =======
1574           marker, changes made by the other side, and then a >>>>>>> marker.
1575           An alternate style, "diff3", adds a ||||||| marker and the original
1576           text before the ======= marker.
1577
1578       merge.log
1579           Whether to include summaries of merged commits in newly created
1580           merge commit messages. False by default.
1581
1582       merge.renameLimit
1583           The number of files to consider when performing rename detection
1584           during a merge; if not specified, defaults to the value of
1585           diff.renameLimit.
1586
1587       merge.stat
1588           Whether to print the diffstat between ORIG_HEAD and the merge
1589           result at the end of the merge. True by default.
1590
1591       merge.tool
1592           Controls which merge resolution program is used by git-
1593           mergetool(1). Valid built-in values are: "kdiff3", "tkdiff",
1594           "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff", "diffuse",
1595           "ecmerge", "tortoisemerge", "p4merge", "araxis" and "opendiff". Any
1596           other value is treated is custom merge tool and there must be a
1597           corresponding mergetool.<tool>.cmd option.
1598
1599       merge.verbosity
1600           Controls the amount of output shown by the recursive merge
1601           strategy. Level 0 outputs nothing except a final error message if
1602           conflicts were detected. Level 1 outputs only conflicts, 2 outputs
1603           conflicts and file changes. Level 5 and above outputs debugging
1604           information. The default is level 2. Can be overridden by the
1605           GIT_MERGE_VERBOSITY environment variable.
1606
1607       merge.<driver>.name
1608           Defines a human-readable name for a custom low-level merge driver.
1609           See gitattributes(5) for details.
1610
1611       merge.<driver>.driver
1612           Defines the command that implements a custom low-level merge
1613           driver. See gitattributes(5) for details.
1614
1615       merge.<driver>.recursive
1616           Names a low-level merge driver to be used when performing an
1617           internal merge between common ancestors. See gitattributes(5) for
1618           details.
1619
1620       mergetool.<tool>.path
1621           Override the path for the given tool. This is useful in case your
1622           tool is not in the PATH.
1623
1624       mergetool.<tool>.cmd
1625           Specify the command to invoke the specified merge tool. The
1626           specified command is evaluated in shell with the following
1627           variables available: BASE is the name of a temporary file
1628           containing the common base of the files to be merged, if available;
1629           LOCAL is the name of a temporary file containing the contents of
1630           the file on the current branch; REMOTE is the name of a temporary
1631           file containing the contents of the file from the branch being
1632           merged; MERGED contains the name of the file to which the merge
1633           tool should write the results of a successful merge.
1634
1635       mergetool.<tool>.trustExitCode
1636           For a custom merge command, specify whether the exit code of the
1637           merge command can be used to determine whether the merge was
1638           successful. If this is not set to true then the merge target file
1639           timestamp is checked and the merge assumed to have been successful
1640           if the file has been updated, otherwise the user is prompted to
1641           indicate the success of the merge.
1642
1643       mergetool.keepBackup
1644           After performing a merge, the original file with conflict markers
1645           can be saved as a file with a .orig extension. If this variable is
1646           set to false then this file is not preserved. Defaults to true
1647           (i.e. keep the backup files).
1648
1649       mergetool.keepTemporaries
1650           When invoking a custom merge tool, git uses a set of temporary
1651           files to pass to the tool. If the tool returns an error and this
1652           variable is set to true, then these temporary files will be
1653           preserved, otherwise they will be removed after the tool has
1654           exited. Defaults to false.
1655
1656       mergetool.prompt
1657           Prompt before each invocation of the merge resolution program.
1658
1659       notes.displayRef
1660           The (fully qualified) refname from which to show notes when showing
1661           commit messages. The value of this variable can be set to a glob,
1662           in which case notes from all matching refs will be shown. You may
1663           also specify this configuration variable several times. A warning
1664           will be issued for refs that do not exist, but a glob that does not
1665           match any refs is silently ignored.
1666
1667           This setting can be overridden with the GIT_NOTES_DISPLAY_REF
1668           environment variable, which must be a colon separated list of refs
1669           or globs.
1670
1671           The effective value of "core.notesRef" (possibly overridden by
1672           GIT_NOTES_REF) is also implicitly added to the list of refs to be
1673           displayed.
1674
1675       notes.rewrite.<command>
1676           When rewriting commits with <command> (currently amend or rebase)
1677           and this variable is set to true, git automatically copies your
1678           notes from the original to the rewritten commit. Defaults to true,
1679           but see "notes.rewriteRef" below.
1680
1681           This setting can be overridden with the GIT_NOTES_REWRITE_REF
1682           environment variable, which must be a colon separated list of refs
1683           or globs.
1684
1685       notes.rewriteMode
1686           When copying notes during a rewrite (see the
1687           "notes.rewrite.<command>" option), determines what to do if the
1688           target commit already has a note. Must be one of overwrite,
1689           concatenate, or ignore. Defaults to concatenate.
1690
1691           This setting can be overridden with the GIT_NOTES_REWRITE_MODE
1692           environment variable.
1693
1694       notes.rewriteRef
1695           When copying notes during a rewrite, specifies the (fully
1696           qualified) ref whose notes should be copied. The ref may be a glob,
1697           in which case notes in all matching refs will be copied. You may
1698           also specify this configuration several times.
1699
1700           Does not have a default value; you must configure this variable to
1701           enable note rewriting.
1702
1703       pack.window
1704           The size of the window used by git-pack-objects(1) when no window
1705           size is given on the command line. Defaults to 10.
1706
1707       pack.depth
1708           The maximum delta depth used by git-pack-objects(1) when no maximum
1709           depth is given on the command line. Defaults to 50.
1710
1711       pack.windowMemory
1712           The window memory size limit used by git-pack-objects(1) when no
1713           limit is given on the command line. The value can be suffixed with
1714           "k", "m", or "g". Defaults to 0, meaning no limit.
1715
1716       pack.compression
1717           An integer -1..9, indicating the compression level for objects in a
1718           pack file. -1 is the zlib default. 0 means no compression, and 1..9
1719           are various speed/size tradeoffs, 9 being slowest. If not set,
1720           defaults to core.compression. If that is not set, defaults to -1,
1721           the zlib default, which is "a default compromise between speed and
1722           compression (currently equivalent to level 6)."
1723
1724       pack.deltaCacheSize
1725           The maximum memory in bytes used for caching deltas in git-pack-
1726           objects(1) before writing them out to a pack. This cache is used to
1727           speed up the writing object phase by not having to recompute the
1728           final delta result once the best match for all objects is found.
1729           Repacking large repositories on machines which are tight with
1730           memory might be badly impacted by this though, especially if this
1731           cache pushes the system into swapping. A value of 0 means no limit.
1732           The smallest size of 1 byte may be used to virtually disable this
1733           cache. Defaults to 256 MiB.
1734
1735       pack.deltaCacheLimit
1736           The maximum size of a delta, that is cached in git-pack-objects(1).
1737           This cache is used to speed up the writing object phase by not
1738           having to recompute the final delta result once the best match for
1739           all objects is found. Defaults to 1000.
1740
1741       pack.threads
1742           Specifies the number of threads to spawn when searching for best
1743           delta matches. This requires that git-pack-objects(1) be compiled
1744           with pthreads otherwise this option is ignored with a warning. This
1745           is meant to reduce packing time on multiprocessor machines. The
1746           required amount of memory for the delta search window is however
1747           multiplied by the number of threads. Specifying 0 will cause git to
1748           auto-detect the number of CPU’s and set the number of threads
1749           accordingly.
1750
1751       pack.indexVersion
1752           Specify the default pack index version. Valid values are 1 for
1753           legacy pack index used by Git versions prior to 1.5.2, and 2 for
1754           the new pack index with capabilities for packs larger than 4 GB as
1755           well as proper protection against the repacking of corrupted packs.
1756           Version 2 is the default. Note that version 2 is enforced and this
1757           config option ignored whenever the corresponding pack is larger
1758           than 2 GB.
1759
1760           If you have an old git that does not understand the version 2 *.idx
1761           file, cloning or fetching over a non native protocol (e.g. "http"
1762           and "rsync") that will copy both *.pack file and corresponding
1763           *.idx file from the other side may give you a repository that
1764           cannot be accessed with your older version of git. If the *.pack
1765           file is smaller than 2 GB, however, you can use git-index-pack(1)
1766           on the *.pack file to regenerate the *.idx file.
1767
1768       pack.packSizeLimit
1769           The maximum size of a pack. This setting only affects packing to a
1770           file when repacking, i.e. the git:// protocol is unaffected. It can
1771           be overridden by the --max-pack-size option of git-repack(1). The
1772           minimum size allowed is limited to 1 MiB. The default is unlimited.
1773           Common unit suffixes of k, m, or g are supported.
1774
1775       pager.<cmd>
1776           Allows turning on or off pagination of the output of a particular
1777           git subcommand when writing to a tty. If --paginate or --no-pager
1778           is specified on the command line, it takes precedence over this
1779           option. To disable pagination for all commands, set core.pager or
1780           GIT_PAGER to cat.
1781
1782       pull.octopus
1783           The default merge strategy to use when pulling multiple branches at
1784           once.
1785
1786       pull.twohead
1787           The default merge strategy to use when pulling a single branch.
1788
1789       push.default
1790           Defines the action git push should take if no refspec is given on
1791           the command line, no refspec is configured in the remote, and no
1792           refspec is implied by any of the options given on the command line.
1793           Possible values are:
1794
1795           ·    nothing do not push anything.
1796
1797           ·    matching push all matching branches. All branches having the
1798               same name in both ends are considered to be matching. This is
1799               the default.
1800
1801           ·    tracking push the current branch to its upstream branch.
1802
1803           ·    current push the current branch to a branch of the same name.
1804
1805       rebase.stat
1806           Whether to show a diffstat of what changed upstream since the last
1807           rebase. False by default.
1808
1809       receive.autogc
1810           By default, git-receive-pack will run "git-gc --auto" after
1811           receiving data from git-push and updating refs. You can stop it by
1812           setting this variable to false.
1813
1814       receive.fsckObjects
1815           If it is set to true, git-receive-pack will check all received
1816           objects. It will abort in the case of a malformed object or a
1817           broken link. The result of an abort are only dangling objects.
1818           Defaults to false.
1819
1820       receive.unpackLimit
1821           If the number of objects received in a push is below this limit
1822           then the objects will be unpacked into loose object files. However
1823           if the number of received objects equals or exceeds this limit then
1824           the received pack will be stored as a pack, after adding any
1825           missing delta bases. Storing the pack from a push can make the push
1826           operation complete faster, especially on slow filesystems. If not
1827           set, the value of transfer.unpackLimit is used instead.
1828
1829       receive.denyDeletes
1830           If set to true, git-receive-pack will deny a ref update that
1831           deletes the ref. Use this to prevent such a ref deletion via a
1832           push.
1833
1834       receive.denyCurrentBranch
1835           If set to true or "refuse", receive-pack will deny a ref update to
1836           the currently checked out branch of a non-bare repository. Such a
1837           push is potentially dangerous because it brings the HEAD out of
1838           sync with the index and working tree. If set to "warn", print a
1839           warning of such a push to stderr, but allow the push to proceed. If
1840           set to false or "ignore", allow such pushes with no message.
1841           Defaults to "refuse".
1842
1843       receive.denyNonFastForwards
1844           If set to true, git-receive-pack will deny a ref update which is
1845           not a fast-forward. Use this to prevent such an update via a push,
1846           even if that push is forced. This configuration variable is set
1847           when initializing a shared repository.
1848
1849       receive.updateserverinfo
1850           If set to true, git-receive-pack will run git-update-server-info
1851           after receiving data from git-push and updating refs.
1852
1853       remote.<name>.url
1854           The URL of a remote repository. See git-fetch(1) or git-push(1).
1855
1856       remote.<name>.pushurl
1857           The push URL of a remote repository. See git-push(1).
1858
1859       remote.<name>.proxy
1860           For remotes that require curl (http, https and ftp), the URL to the
1861           proxy to use for that remote. Set to the empty string to disable
1862           proxying for that remote.
1863
1864       remote.<name>.fetch
1865           The default set of "refspec" for git-fetch(1). See git-fetch(1).
1866
1867       remote.<name>.push
1868           The default set of "refspec" for git-push(1). See git-push(1).
1869
1870       remote.<name>.mirror
1871           If true, pushing to this remote will automatically behave as if the
1872           --mirror option was given on the command line.
1873
1874       remote.<name>.skipDefaultUpdate
1875           If true, this remote will be skipped by default when updating using
1876           git-fetch(1) or the update subcommand of git-remote(1).
1877
1878       remote.<name>.skipFetchAll
1879           If true, this remote will be skipped by default when updating using
1880           git-fetch(1) or the update subcommand of git-remote(1).
1881
1882       remote.<name>.receivepack
1883           The default program to execute on the remote side when pushing. See
1884           option --receive-pack of git-push(1).
1885
1886       remote.<name>.uploadpack
1887           The default program to execute on the remote side when fetching.
1888           See option --upload-pack of git-fetch-pack(1).
1889
1890       remote.<name>.tagopt
1891           Setting this value to --no-tags disables automatic tag following
1892           when fetching from remote <name>
1893
1894       remote.<name>.vcs
1895           Setting this to a value <vcs> will cause git to interact with the
1896           remote with the git-remote-<vcs> helper.
1897
1898       remotes.<group>
1899           The list of remotes which are fetched by "git remote update
1900           <group>". See git-remote(1).
1901
1902       repack.usedeltabaseoffset
1903           By default, git-repack(1) creates packs that use delta-base offset.
1904           If you need to share your repository with git older than version
1905           1.4.4, either directly or via a dumb protocol such as http, then
1906           you need to set this option to "false" and repack. Access from old
1907           git versions over the native protocol are unaffected by this
1908           option.
1909
1910       rerere.autoupdate
1911           When set to true, git-rerere updates the index with the resulting
1912           contents after it cleanly resolves conflicts using previously
1913           recorded resolution. Defaults to false.
1914
1915       rerere.enabled
1916           Activate recording of resolved conflicts, so that identical
1917           conflict hunks can be resolved automatically, should they be
1918           encountered again.  git-rerere(1) command is by default enabled if
1919           you create rr-cache directory under $GIT_DIR, but can be disabled
1920           by setting this option to false.
1921
1922       sendemail.identity
1923           A configuration identity. When given, causes values in the
1924           sendemail.<identity> subsection to take precedence over values in
1925           the sendemail section. The default identity is the value of
1926           sendemail.identity.
1927
1928       sendemail.smtpencryption
1929           See git-send-email(1) for description. Note that this setting is
1930           not subject to the identity mechanism.
1931
1932       sendemail.smtpssl
1933           Deprecated alias for sendemail.smtpencryption = ssl.
1934
1935       sendemail.<identity>.*
1936           Identity-specific versions of the sendemail.*  parameters found
1937           below, taking precedence over those when the this identity is
1938           selected, through command-line or sendemail.identity.
1939
1940       sendemail.aliasesfile, sendemail.aliasfiletype, sendemail.bcc,
1941       sendemail.cc, sendemail.cccmd, sendemail.chainreplyto,
1942       sendemail.confirm, sendemail.envelopesender, sendemail.from,
1943       sendemail.multiedit, sendemail.signedoffbycc, sendemail.smtppass,
1944       sendemail.suppresscc, sendemail.suppressfrom, sendemail.to,
1945       sendemail.smtpserver, sendemail.smtpserverport, sendemail.smtpuser,
1946       sendemail.thread, sendemail.validate
1947           See git-send-email(1) for description.
1948
1949       sendemail.signedoffcc
1950           Deprecated alias for sendemail.signedoffbycc.
1951
1952       showbranch.default
1953           The default set of branches for git-show-branch(1). See git-show-
1954           branch(1).
1955
1956       status.relativePaths
1957           By default, git-status(1) shows paths relative to the current
1958           directory. Setting this variable to false shows paths relative to
1959           the repository root (this was the default for git prior to v1.5.4).
1960
1961       status.showUntrackedFiles
1962           By default, git-status(1) and git-commit(1) show files which are
1963           not currently tracked by Git. Directories which contain only
1964           untracked files, are shown with the directory name only. Showing
1965           untracked files means that Git needs to lstat() all all the files
1966           in the whole repository, which might be slow on some systems. So,
1967           this variable controls how the commands displays the untracked
1968           files. Possible values are:
1969
1970           ·    no - Show no untracked files
1971
1972           ·    normal - Shows untracked files and directories
1973
1974           ·    all - Shows also individual files in untracked directories.
1975               If this variable is not specified, it defaults to normal. This
1976               variable can be overridden with the -u|--untracked-files option
1977               of git-status(1) and git-commit(1).
1978
1979           tar.umask
1980               This variable can be used to restrict the permission bits of
1981               tar archive entries. The default is 0002, which turns off the
1982               world write bit. The special value "user" indicates that the
1983               archiving user’s umask will be used instead. See umask(2) and
1984               git-archive(1).
1985
1986           transfer.unpackLimit
1987               When fetch.unpackLimit or receive.unpackLimit are not set, the
1988               value of this variable is used instead. The default value is
1989               100.
1990
1991           url.<base>.insteadOf
1992               Any URL that starts with this value will be rewritten to start,
1993               instead, with <base>. In cases where some site serves a large
1994               number of repositories, and serves them with multiple access
1995               methods, and some users need to use different access methods,
1996               this feature allows people to specify any of the equivalent
1997               URLs and have git automatically rewrite the URL to the best
1998               alternative for the particular user, even for a
1999               never-before-seen repository on the site. When more than one
2000               insteadOf strings match a given URL, the longest match is used.
2001
2002           url.<base>.pushInsteadOf
2003               Any URL that starts with this value will not be pushed to;
2004               instead, it will be rewritten to start with <base>, and the
2005               resulting URL will be pushed to. In cases where some site
2006               serves a large number of repositories, and serves them with
2007               multiple access methods, some of which do not allow push, this
2008               feature allows people to specify a pull-only URL and have git
2009               automatically use an appropriate URL to push, even for a
2010               never-before-seen repository on the site. When more than one
2011               pushInsteadOf strings match a given URL, the longest match is
2012               used. If a remote has an explicit pushurl, git will ignore this
2013               setting for that remote.
2014
2015           user.email
2016               Your email address to be recorded in any newly created commits.
2017               Can be overridden by the GIT_AUTHOR_EMAIL, GIT_COMMITTER_EMAIL,
2018               and EMAIL environment variables. See git-commit-tree(1).
2019
2020           user.name
2021               Your full name to be recorded in any newly created commits. Can
2022               be overridden by the GIT_AUTHOR_NAME and GIT_COMMITTER_NAME
2023               environment variables. See git-commit-tree(1).
2024
2025           user.signingkey
2026               If git-tag(1) is not selecting the key you want it to
2027               automatically when creating a signed tag, you can override the
2028               default selection with this variable. This option is passed
2029               unchanged to gpg’s --local-user parameter, so you may specify a
2030               key using any method that gpg supports.
2031
2032           web.browser
2033               Specify a web browser that may be used by some commands.
2034               Currently only git-instaweb(1) and git-help(1) may use it.
2035

AUTHOR

2037       Written by Johannes Schindelin <Johannes.Schindelin@gmx.de[1]>
2038

DOCUMENTATION

2040       Documentation by Johannes Schindelin, Petr Baudis and the git-list
2041       <git@vger.kernel.org[2]>.
2042

GIT

2044       Part of the git(1) suite
2045

NOTES

2047        1. Johannes.Schindelin@gmx.de
2048           mailto:Johannes.Schindelin@gmx.de
2049
2050        2. git@vger.kernel.org
2051           mailto:git@vger.kernel.org
2052
2053
2054
2055Git 1.7.1                         08/16/2017                     GIT-CONFIG(1)
Impressum