\&.*
.RS 4
Any of the http\&.* options above can be applied selectively to some URLs\&. For a config key to match a URL, each element of the config key is compared to that of the URL, in the following order:
.sp
.RS 4
.ie n \{\
\h'-04' 1.\h'+01'\c
.\}
.el \{\
.sp -1
.IP " 1." 4.2
.\}
Scheme (e\&.g\&.,
\fBhttps\fR
in
\fBhttps://example\&.com/\fR)\&. This field must match exactly between the config key and the URL\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 2.\h'+01'\c
.\}
.el \{\
.sp -1
.IP " 2." 4.2
.\}
Host/domain name (e\&.g\&.,
\fBexample\&.com\fR
in
\fBhttps://example\&.com/\fR)\&. This field must match between the config key and the URL\&. It is possible to specify a * as part of the host name to match all subdomains at this level\&.
\fBhttps://\fR*\&.example\&.com/ for example would match
\fBhttps://foo\&.example\&.com/\fR, but not
\fBhttps://foo\&.bar\&.example\&.com/\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 3.\h'+01'\c
.\}
.el \{\
.sp -1
.IP " 3." 4.2
.\}
Port number (e\&.g\&.,
\fB8080\fR
in
\fBhttp://example\&.com:8080/\fR)\&. This field must match exactly between the config key and the URL\&. Omitted port numbers are automatically converted to the correct default for the scheme before matching\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 4.\h'+01'\c
.\}
.el \{\
.sp -1
.IP " 4." 4.2
.\}
Path (e\&.g\&.,
\fBrepo\&.git\fR
in
\fBhttps://example\&.com/repo\&.git\fR)\&. The path field of the config key must match the path field of the URL either exactly or as a prefix of slash\-delimited path elements\&. This means a config key with path
\fBfoo/\fR
matches URL path
\fBfoo/bar\fR\&. A prefix can only match on a slash (\fB/\fR) boundary\&. Longer matches take precedence (so a config key with path
\fBfoo/bar\fR
is a better match to URL path
\fBfoo/bar\fR
than a config key with just path
\fBfoo/\fR)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 5.\h'+01'\c
.\}
.el \{\
.sp -1
.IP " 5." 4.2
.\}
User name (e\&.g\&.,
\fBuser\fR
in
\fBhttps://user@example\&.com/repo\&.git\fR)\&. If the config key has a user name it must match the user name in the URL exactly\&. If the config key does not have a user name, that config key will match a URL with any user name (including none), but at a lower precedence than a config key with a user name\&.
.RE
.sp
The list above is ordered by decreasing precedence; a URL that matches a config key\(cqs path is preferred to one that matches its user name\&. For example, if the URL is
\fBhttps://user@example\&.com/foo/bar\fR
a config key match of
\fBhttps://example\&.com/foo\fR
will be preferred over a config key match of
\fBhttps://user@example\&.com\fR\&.
.sp
All URLs are normalized before attempting any matching (the password part, if embedded in the URL, is always ignored for matching purposes) so that equivalent URLs that are simply spelled differently will match properly\&. Environment variable settings always override any matches\&. The URLs that are matched against are those given directly to Git commands\&. This means any URLs visited as a result of a redirection do not participate in matching\&.
.RE
.PP
i18n\&.commitEncoding
.RS 4
Character encoding the commit messages are stored in; Git itself does not care per se, but this information is necessary e\&.g\&. when importing commits from emails or in the gitk graphical history browser (and possibly in other places in the future or in other porcelains)\&. See e\&.g\&.
\fBgit-mailinfo\fR(1)\&. Defaults to
\fIutf\-8\fR\&.
.RE
.PP
i18n\&.logOutputEncoding
.RS 4
Character encoding the commit messages are converted to when running
\fIgit log\fR
and friends\&.
.RE
.PP
imap\&.folder
.RS 4
The folder to drop the mails into, which is typically the Drafts folder\&. For example: "INBOX\&.Drafts", "INBOX/Drafts" or "[Gmail]/Drafts"\&. Required\&.
.RE
.PP
imap\&.tunnel
.RS 4
Command used to set up a tunnel to the IMAP server through which commands will be piped instead of using a direct network connection to the server\&. Required when imap\&.host is not set\&.
.RE
.PP
imap\&.host
.RS 4
A URL identifying the server\&. Use an
\fBimap://\fR
prefix for non\-secure connections and an
\fBimaps://\fR
prefix for secure connections\&. Ignored when imap\&.tunnel is set, but required otherwise\&.
.RE
.PP
imap\&.user
.RS 4
The username to use when logging in to the server\&.
.RE
.PP
imap\&.pass
.RS 4
The password to use when logging in to the server\&.
.RE
.PP
imap\&.port
.RS 4
An integer port number to connect to on the server\&. Defaults to 143 for imap:// hosts and 993 for imaps:// hosts\&. Ignored when imap\&.tunnel is set\&.
.RE
.PP
imap\&.sslverify
.RS 4
A boolean to enable/disable verification of the server certificate used by the SSL/TLS connection\&. Default is
\fBtrue\fR\&. Ignored when imap\&.tunnel is set\&.
.RE
.PP
imap\&.preformattedHTML
.RS 4
A boolean to enable/disable the use of html encoding when sending a patch\&. An html encoded patch will be bracketed with and have a content type of text/html\&. Ironically, enabling this option causes Thunderbird to send the patch as a plain/text, format=fixed email\&. Default is
\fBfalse\fR\&.
.RE
.PP
imap\&.authMethod
.RS 4
Specify the authentication method for authenticating with the IMAP server\&. If Git was built with the NO_CURL option, or if your curl version is older than 7\&.34\&.0, or if you\(cqre running git\-imap\-send with the
\fB\-\-no\-curl\fR
option, the only supported method is
\fICRAM\-MD5\fR\&. If this is not set then
\fIgit imap\-send\fR
uses the basic IMAP plaintext LOGIN command\&.
.RE
.PP
include\&.path, includeIf\&.\&.path
.RS 4
Special variables to include other configuration files\&. See the "CONFIGURATION FILE" section in the main
\fBgit-config\fR(1)
documentation, specifically the "Includes" and "Conditional Includes" subsections\&.
.RE
.PP
index\&.recordEndOfIndexEntries
.RS 4
Specifies whether the index file should include an "End Of Index Entry" section\&. This reduces index load time on multiprocessor machines but produces a message "ignoring EOIE extension" when reading the index using Git versions before 2\&.20\&. Defaults to
\fItrue\fR
if index\&.threads has been explicitly enabled,
\fIfalse\fR
otherwise\&.
.RE
.PP
index\&.recordOffsetTable
.RS 4
Specifies whether the index file should include an "Index Entry Offset Table" section\&. This reduces index load time on multiprocessor machines but produces a message "ignoring IEOT extension" when reading the index using Git versions before 2\&.20\&. Defaults to
\fItrue\fR
if index\&.threads has been explicitly enabled,
\fIfalse\fR
otherwise\&.
.RE
.PP
index\&.sparse
.RS 4
When enabled, write the index using sparse\-directory entries\&. This has no effect unless
\fBcore\&.sparseCheckout\fR
and
\fBcore\&.sparseCheckoutCone\fR
are both enabled\&. Defaults to
\fIfalse\fR\&.
.RE
.PP
index\&.threads
.RS 4
Specifies the number of threads to spawn when loading the index\&. This is meant to reduce index load time on multiprocessor machines\&. Specifying 0 or
\fItrue\fR
will cause Git to auto\-detect the number of CPUs and set the number of threads accordingly\&. Specifying 1 or
\fIfalse\fR
will disable multithreading\&. Defaults to
\fItrue\fR\&.
.RE
.PP
index\&.version
.RS 4
Specify the version with which new index files should be initialized\&. This does not affect existing repositories\&. If
\fBfeature\&.manyFiles\fR
is enabled, then the default is 4\&.
.RE
.PP
index\&.skipHash
.RS 4
When enabled, do not compute the trailing hash for the index file\&. This accelerates Git commands that manipulate the index, such as
\fBgit\fR
\fBadd\fR,
\fBgit\fR
\fBcommit\fR, or
\fBgit\fR
\fBstatus\fR\&. Instead of storing the checksum, write a trailing set of bytes with value zero, indicating that the computation was skipped\&.
.sp
If you enable
\fBindex\&.skipHash\fR, then Git clients older than 2\&.13\&.0 will refuse to parse the index and Git clients older than 2\&.40\&.0 will report an error during
\fBgit\fR
\fBfsck\fR\&.
.RE
.PP
\fBinit\&.templateDir\fR
.RS 4
Specify the directory from which templates will be copied\&. (See the "TEMPLATE DIRECTORY" section of
\fBgit-init\fR(1)\&.)
.RE
.PP
\fBinit\&.defaultBranch\fR
.RS 4
Allows overriding the default branch name e\&.g\&. when initializing a new repository\&.
.RE
.PP
\fBinit\&.defaultObjectFormat\fR
.RS 4
Allows overriding the default object format for new repositories\&. See
\fB\-\-object\-format=\fR
in
\fBgit-init\fR(1)\&. Both the command line option and the
\fBGIT_DEFAULT_HASH\fR
environment variable take precedence over this config\&.
.RE
.PP
\fBinit\&.defaultRefFormat\fR
.RS 4
Allows overriding the default ref storage format for new repositories\&. See
\fB\-\-ref\-format=\fR
in
\fBgit-init\fR(1)\&. Both the command line option and the
\fBGIT_DEFAULT_REF_FORMAT\fR
environment variable take precedence over this config\&.
.RE
.PP
instaweb\&.browser
.RS 4
Specify the program that will be used to browse your working repository in gitweb\&. See
\fBgit-instaweb\fR(1)\&.
.RE
.PP
instaweb\&.httpd
.RS 4
The HTTP daemon command\-line to start gitweb on your working repository\&. See
\fBgit-instaweb\fR(1)\&.
.RE
.PP
instaweb\&.local
.RS 4
If true the web server started by
\fBgit-instaweb\fR(1)
will be bound to the local IP (127\&.0\&.0\&.1)\&.
.RE
.PP
instaweb\&.modulePath
.RS 4
The default module path for
\fBgit-instaweb\fR(1)
to use instead of /usr/lib/apache2/modules\&. Only used if httpd is Apache\&.
.RE
.PP
instaweb\&.port
.RS 4
The port number to bind the gitweb httpd to\&. See
\fBgit-instaweb\fR(1)\&.
.RE
.PP
interactive\&.singleKey
.RS 4
When set to true, allow the user to provide one\-letter input with a single key (i\&.e\&., without hitting the Enter key) in interactive commands\&. This is currently used by the
\fB\-\-patch\fR
mode of
\fBgit-add\fR(1),
\fBgit-checkout\fR(1),
\fBgit-restore\fR(1),
\fBgit-commit\fR(1),
\fBgit-reset\fR(1), and
\fBgit-stash\fR(1)\&.
.RE
.PP
interactive\&.diffFilter
.RS 4
When an interactive command (such as
\fBgit\fR
\fBadd\fR
\fB\-\-patch\fR) shows a colorized diff, git will pipe the diff through the shell command defined by this configuration variable\&. The command may mark up the diff further for human consumption, provided that it retains a one\-to\-one correspondence with the lines in the original diff\&. Defaults to disabled (no filtering)\&.
.RE
.PP
log\&.abbrevCommit
.RS 4
If true, makes
\fBgit-log\fR(1),
\fBgit-show\fR(1), and
\fBgit-whatchanged\fR(1)
assume
\fB\-\-abbrev\-commit\fR\&. You may override this option with
\fB\-\-no\-abbrev\-commit\fR\&.
.RE
.PP
log\&.date
.RS 4
Set the default date\-time mode for the
\fIlog\fR
command\&. Setting a value for log\&.date is similar to using
\fIgit log\fR\*(Aqs
\fB\-\-date\fR
option\&. See
\fBgit-log\fR(1)
for details\&.
.sp
If the format is set to "auto:foo" and the pager is in use, format "foo" will be used for the date format\&. Otherwise, "default" will be used\&.
.RE
.PP
log\&.decorate
.RS 4
Print out the ref names of any commits that are shown by the log command\&. If
\fIshort\fR
is specified, the ref name prefixes
\fIrefs/heads/\fR,
\fIrefs/tags/\fR
and
\fIrefs/remotes/\fR
will not be printed\&. If
\fIfull\fR
is specified, the full ref name (including prefix) will be printed\&. If
\fIauto\fR
is specified, then if the output is going to a terminal, the ref names are shown as if
\fIshort\fR
were given, otherwise no ref names are shown\&. This is the same as the
\fB\-\-decorate\fR
option of the
\fBgit\fR
\fBlog\fR\&.
.RE
.PP
log\&.initialDecorationSet
.RS 4
By default,
\fBgit\fR
\fBlog\fR
only shows decorations for certain known ref namespaces\&. If
\fIall\fR
is specified, then show all refs as decorations\&.
.RE
.PP
log\&.excludeDecoration
.RS 4
Exclude the specified patterns from the log decorations\&. This is similar to the
\fB\-\-decorate\-refs\-exclude\fR
command\-line option, but the config option can be overridden by the
\fB\-\-decorate\-refs\fR
option\&.
.RE
.PP
log\&.diffMerges
.RS 4
Set diff format to be used when
\fB\-\-diff\-merges=on\fR
is specified, see
\fB\-\-diff\-merges\fR
in
\fBgit-log\fR(1)
for details\&. Defaults to
\fBseparate\fR\&.
.RE
.PP
log\&.follow
.RS 4
If
\fBtrue\fR,
\fBgit\fR
\fBlog\fR
will act as if the
\fB\-\-follow\fR
option was used when a single is given\&. This has the same limitations as
\fB\-\-follow\fR, i\&.e\&. it cannot be used to follow multiple files and does not work well on non\-linear history\&.
.RE
.PP
log\&.graphColors
.RS 4
A list of colors, separated by commas, that can be used to draw history lines in
\fBgit\fR
\fBlog\fR
\fB\-\-graph\fR\&.
.RE
.PP
log\&.showRoot
.RS 4
If true, the initial commit will be shown as a big creation event\&. This is equivalent to a diff against an empty tree\&. Tools like
\fBgit-log\fR(1)
or
\fBgit-whatchanged\fR(1), which normally hide the root commit will now show it\&. True by default\&.
.RE
.PP
log\&.showSignature
.RS 4
If true, makes
\fBgit-log\fR(1),
\fBgit-show\fR(1), and
\fBgit-whatchanged\fR(1)
assume
\fB\-\-show\-signature\fR\&.
.RE
.PP
log\&.mailmap
.RS 4
If true, makes
\fBgit-log\fR(1),
\fBgit-show\fR(1), and
\fBgit-whatchanged\fR(1)
assume
\fB\-\-use\-mailmap\fR, otherwise assume
\fB\-\-no\-use\-mailmap\fR\&. True by default\&.
.RE
.PP
lsrefs\&.unborn
.RS 4
May be "advertise" (the default), "allow", or "ignore"\&. If "advertise", the server will respond to the client sending "unborn" (as described in
\fBgitprotocol-v2\fR(5)) and will advertise support for this feature during the protocol v2 capability advertisement\&. "allow" is the same as "advertise" except that the server will not advertise support for this feature; this is useful for load\-balanced servers that cannot be updated atomically (for example), since the administrator could configure "allow", then after a delay, configure "advertise"\&.
.RE
.PP
mailinfo\&.scissors
.RS 4
If true, makes
\fBgit-mailinfo\fR(1)
(and therefore
\fBgit-am\fR(1)) act by default as if the \-\-scissors option was provided on the command\-line\&. When active, this feature removes everything from the message body before a scissors line (i\&.e\&. consisting mainly of ">8", "8<" and "\-")\&.
.RE
.PP
mailmap\&.file
.RS 4
The location of an augmenting mailmap file\&. The default mailmap, located in the root of the repository, is loaded first, then the mailmap file pointed to by this variable\&. The location of the mailmap file may be in a repository subdirectory, or somewhere outside of the repository itself\&. See
\fBgit-shortlog\fR(1)
and
\fBgit-blame\fR(1)\&.
.RE
.PP
mailmap\&.blob
.RS 4
Like
\fBmailmap\&.file\fR, but consider the value as a reference to a blob in the repository\&. If both
\fBmailmap\&.file\fR
and
\fBmailmap\&.blob\fR
are given, both are parsed, with entries from
\fBmailmap\&.file\fR
taking precedence\&. In a bare repository, this defaults to
\fBHEAD:\&.mailmap\fR\&. In a non\-bare repository, it defaults to empty\&.
.RE
.PP
maintenance\&.auto
.RS 4
This boolean config option controls whether some commands run
\fBgit\fR
\fBmaintenance\fR
\fBrun\fR
\fB\-\-auto\fR
after doing their normal work\&. Defaults to true\&.
.RE
.PP
maintenance\&.autoDetach
.RS 4
Many Git commands trigger automatic maintenance after they have written data into the repository\&. This boolean config option controls whether this automatic maintenance shall happen in the foreground or whether the maintenance process shall detach and continue to run in the background\&.
.sp
If unset, the value of
\fBgc\&.autoDetach\fR
is used as a fallback\&. Defaults to true if both are unset, meaning that the maintenance process will detach\&.
.RE
.PP
maintenance\&.strategy
.RS 4
This string config option provides a way to specify one of a few recommended schedules for background maintenance\&. This only affects which tasks are run during
\fBgit\fR
\fBmaintenance\fR
\fBrun\fR
\fB\-\-schedule=X\fR
commands, provided no
\fB\-\-task=\fR\fI\fR
arguments are provided\&. Further, if a
\fBmaintenance\&.\fR\fI