Forward thinking helps when creating linear recursive methods. true or false?

Set the default matching behavior. Using a value of basic, extended, fixed, or perl will enable the --basic-regexp, --extended-regexp, --fixed-strings, or

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
0 option accordingly, while the value default will use the
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
1 option to choose between basic and extended.

grep.extendedRegexp

If set to true, enable --extended-regexp option by default. This option is ignored when the

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
3 option is set to a value other than default.

grep.threads

Number of grep worker threads to use. If unset [or set to 0], Git will use as many threads as the number of logical cores available.

grep.fullName

If set to true, enable

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
4 option by default.

grep.fallbackToNoIndex

If set to true, fall back to git grep --no-index if git grep is executed outside of a git repository. Defaults to false.

gpg.program

Use this custom program instead of "

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
5" found on
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
6 when making or verifying a PGP signature. The program must support the same command-line interface as GPG, namely, to verify a detached signature, "
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
7" is run, and the program is expected to signal a good signature by exiting with code 0, and to generate an ASCII-armored detached signature, the standard input of "
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
8" is fed with the contents to be signed, and the program is expected to send the result to its standard output.

gpg.format

Specifies which key format to use when signing with

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
9. Default is "openpgp". Other possible values are "x509", "ssh".

gpg..program

Use this to customize the program used for the signing format you chose. [see

	p deadbee The oneline of the commit
	p fa1afe1 The oneline of the next commit
	...
0 and
	p deadbee The oneline of the commit
	p fa1afe1 The oneline of the next commit
	...
1]
	p deadbee The oneline of the commit
	p fa1afe1 The oneline of the next commit
	...
0 can still be used as a legacy synonym for
	p deadbee The oneline of the commit
	p fa1afe1 The oneline of the next commit
	...
3. The default value for
	p deadbee The oneline of the commit
	p fa1afe1 The oneline of the next commit
	...
4 is "gpgsm" and
	p deadbee The oneline of the commit
	p fa1afe1 The oneline of the next commit
	...
5 is "ssh-keygen".

gpg.minTrustLevel

Specifies a minimum trust level for signature verification. If this option is unset, then signature verification for merge operations require a key with at least

	p deadbee The oneline of the commit
	p fa1afe1 The oneline of the next commit
	...
6 trust. Other operations that perform signature verification require a key with at least
	p deadbee The oneline of the commit
	p fa1afe1 The oneline of the next commit
	...
7 trust. Setting this option overrides the required trust-level for all operations. Supported values, in increasing order of significance:

  • 	p deadbee The oneline of the commit
    	p fa1afe1 The oneline of the next commit
    	...
    7

  • 	p deadbee The oneline of the commit
    	p fa1afe1 The oneline of the next commit
    	...
    9

  • 	p deadbee The oneline of the commit
    	p fa1afe1 The oneline of the next commit
    	...
    6

  • 	pick deadbee The oneline of the commit
    	pick fa1afe1 The oneline of the next commit
    	...
    1

  • 	pick deadbee The oneline of the commit
    	pick fa1afe1 The oneline of the next commit
    	...
    2

gpg.ssh.defaultKeyCommand

This command that will be run when user.signingkey is not set and a ssh signature is requested. On successful exit a valid ssh public key prefixed with

	pick deadbee The oneline of the commit
	pick fa1afe1 The oneline of the next commit
	...
3 is expected in the first line of its output. This allows for a script doing a dynamic lookup of the correct public key when it is impractical to statically configure
	pick deadbee The oneline of the commit
	pick fa1afe1 The oneline of the next commit
	...
4. For example when keys or SSH Certificates are rotated frequently or selection of the right key depends on external factors unknown to git.

gpg.ssh.allowedSignersFile

A file containing ssh public keys which you are willing to trust. The file consists of one or more lines of principals followed by an ssh public key. e.g.:

	pick deadbee The oneline of the commit
	pick fa1afe1 The oneline of the next commit
	...
5 See ssh-keygen[1] "ALLOWED SIGNERS" for details. The principal is only used to identify the key and is available when verifying a signature.

SSH has no concept of trust levels like gpg does. To be able to differentiate between valid signatures and trusted signatures the trust level of a signature verification is set to

	pick deadbee The oneline of the commit
	pick fa1afe1 The oneline of the next commit
	...
1 when the public key is present in the allowedSignersFile. Otherwise the trust level is
	p deadbee The oneline of the commit
	p fa1afe1 The oneline of the next commit
	...
7 and git verify-commit/tag will fail.

This file can be set to a location outside of the repository and every developer maintains their own trust store. A central repository server could generate this file automatically from ssh keys with push access to verify the code against. In a corporate setting this file is probably generated at a global location from automation that already handles developer ssh keys.

A repository that only allows signed commits can store the file in the repository itself using a path relative to the top-level of the working tree. This way only committers with an already valid key can add or change keys in the keyring.

Since OpensSSH 8.8 this file allows specifying a key lifetime using valid-after & valid-before options. Git will mark signatures as valid if the signing key was valid at the time of the signature’s creation. This allows users to change a signing key without invalidating all previously made signatures.

Using a SSH CA key with the cert-authority option [see ssh-keygen[1] "CERTIFICATES"] is also valid.

Either a SSH KRL or a list of revoked public keys [without the principal prefix]. See ssh-keygen[1] for details. If a public key is found in this file then it will always be treated as having trust level "never" and signatures will show as invalid.

gui.commitMsgWidth

Defines how wide the commit message window is in the git-gui[1]. "75" is the default.

gui.diffContext

Specifies how many context lines should be used in calls to diff made by the git-gui[1]. The default is "5".

gui.displayUntracked

Determines if git-gui[1] shows untracked files in the file list. The default is "true".

gui.encoding

Specifies the default character encoding to use for displaying of file contents in git-gui[1] and gitk[1]. It can be overridden by setting the encoding attribute for relevant files [see gitattributes[5]]. If this option is not set, the tools default to the locale encoding.

gui.matchTrackingBranch

Determines if new branches created with git-gui[1] should default to tracking remote branches with matching names or not. Default: "false".

gui.newBranchTemplate

Is used as suggested name when creating new branches using the git-gui[1].

gui.pruneDuringFetch

"true" if git-gui[1] should prune remote-tracking branches when performing a fetch. The default value is "false".

Determines if git-gui[1] should trust the file modification timestamp or not. By default the timestamps are not trusted.

gui.spellingDictionary

Specifies the dictionary used for spell checking commit messages in the git-gui[1]. When set to "none" spell checking is turned off.

gui.fastCopyBlame

If true, git gui blame uses

	pick deadbee The oneline of the commit
	pick fa1afe1 The oneline of the next commit
	...
8 instead of
	pick deadbee The oneline of the commit
	pick fa1afe1 The oneline of the next commit
	...
9 for original location detection. It makes blame significantly faster on huge repositories at the expense of less thorough copy detection.

gui.copyBlameThreshold

Specifies the threshold to use in git gui blame original location detection, measured in alphanumeric characters. See the git-blame[1] manual for more information on copy detection.

gui.blamehistoryctx

Specifies the radius of history context in days to show in gitk[1] for the selected commit, when the

git config --system --add receive.procReceiveRefs ad:refs/heads
git config --system --add receive.procReceiveRefs !:refs/heads
0 menu item is invoked from git gui blame. If this variable is set to zero, the whole history is shown.

guitool..cmd

Specifies the shell command line to execute when the corresponding item of the git-gui[1]

git config --system --add receive.procReceiveRefs ad:refs/heads
git config --system --add receive.procReceiveRefs !:refs/heads
1 menu is invoked. This option is mandatory for every tool. The command is executed from the root of the working directory, and in the environment it receives the name of the tool as
git config --system --add receive.procReceiveRefs ad:refs/heads
git config --system --add receive.procReceiveRefs !:refs/heads
2, the name of the currently selected file as FILENAME, and the name of the current branch as CUR_BRANCH [if the head is detached, CUR_BRANCH is empty].

guitool..needsFile

Run the tool only if a diff is selected in the GUI. It guarantees that FILENAME is not empty.

guitool..noConsole

Run the command silently, without creating a window to display its output.

guitool..noRescan

Don’t rescan the working directory for changes after the tool finishes execution.

guitool..confirm

Show a confirmation dialog before actually running the tool.

guitool..argPrompt

Request a string argument from the user, and pass it to the tool through the

git config --system --add receive.procReceiveRefs ad:refs/heads
git config --system --add receive.procReceiveRefs !:refs/heads
3 environment variable. Since requesting an argument implies confirmation, the confirm option has no effect if this is enabled. If the option is set to true, yes, or 1, the dialog uses a built-in generic prompt; otherwise the exact value of the variable is used.

guitool..revPrompt

Request a single valid revision from the user, and set the

git config --system --add receive.procReceiveRefs ad:refs/heads
git config --system --add receive.procReceiveRefs !:refs/heads
4 environment variable. In other aspects this option is similar to argPrompt, and can be used together with it.

guitool..revUnmerged

Show only unmerged branches in the revPrompt subdialog. This is useful for tools similar to merge or rebase, but not for things like checkout or reset.

guitool..title

Specifies the title to use for the prompt dialog. The default is the tool name.

guitool..prompt

Specifies the general prompt string to display at the top of the dialog, before subsections for argPrompt and revPrompt. The default value includes the actual command.

help.browser

Specify the browser that will be used to display help in the web format. See git-help[1].

help.format

Override the default help format used by git-help[1]. Values man, info, web and html are supported. man is the default. web and html are the same.

help.autoCorrect

If git detects typos and can identify exactly one valid command similar to the error, git will try to suggest the correct command or even run the suggestion automatically. Possible config values are:

  • 0 [default]: show the suggested command.

  • positive number: run the suggested command after specified deciseconds [0.1 sec].

  • "immediate": run the suggested command immediately.

  • "prompt": show the suggestion and prompt for confirmation to run the command.

  • "never": don’t run or show any suggested command.

help.htmlPath

Specify the path where the HTML documentation resides. File system paths and URLs are supported. HTML pages will be prefixed with this path when help is displayed in the web format. This defaults to the documentation path of your Git installation.

http.proxy

Override the HTTP proxy, normally configured using the http_proxy, https_proxy, and all_proxy environment variables [see

git config --system --add receive.procReceiveRefs ad:refs/heads
git config --system --add receive.procReceiveRefs !:refs/heads
5]. In addition to the syntax understood by curl, it is possible to specify a proxy string with a user name but no password, in which case git will attempt to acquire one in the same way it does for other credentials. See gitcredentials[7] for more information. The syntax thus is [protocol://][user[:password]@]proxyhost[:port]. This can be overridden on a per-remote basis; see remote..proxy

http.proxyAuthMethod

Set the method with which to authenticate against the HTTP proxy. This only takes effect if the configured proxy string contains a user name part [i.e. is of the form user@host or user@host:port]. This can be overridden on a per-remote basis; see

git config --system --add receive.procReceiveRefs ad:refs/heads
git config --system --add receive.procReceiveRefs !:refs/heads
6. Both can be overridden by the
git config --system --add receive.procReceiveRefs ad:refs/heads
git config --system --add receive.procReceiveRefs !:refs/heads
7 environment variable. Possible values are:

  • git config --system --add receive.procReceiveRefs ad:refs/heads
    git config --system --add receive.procReceiveRefs !:refs/heads
    8 - Automatically pick a suitable authentication method. It is assumed that the proxy answers an unauthenticated request with a 407 status code and one or more Proxy-authenticate headers with supported authentication methods. This is the default.

  • git config --system --add receive.procReceiveRefs ad:refs/heads
    git config --system --add receive.procReceiveRefs !:refs/heads
    9 - HTTP Basic authentication

  • -n0 - HTTP Digest authentication; this prevents the password from being transmitted to the proxy in clear text

  • -n1 - GSS-Negotiate authentication [compare the --negotiate option of

    git config --system --add receive.procReceiveRefs ad:refs/heads
    git config --system --add receive.procReceiveRefs !:refs/heads
    5]

  • -n3 - NTLM authentication [compare the --ntlm option of

    git config --system --add receive.procReceiveRefs ad:refs/heads
    git config --system --add receive.procReceiveRefs !:refs/heads
    5]

http.proxySSLCert

The pathname of a file that stores a client certificate to use to authenticate with an HTTPS proxy. Can be overridden by the -n5 environment variable.

http.proxySSLKey

The pathname of a file that stores a private key to use to authenticate with an HTTPS proxy. Can be overridden by the -n6 environment variable.

http.proxySSLCertPasswordProtected

Enable Git’s password prompt for the proxy SSL certificate. Otherwise OpenSSL will prompt the user, possibly many times, if the certificate or private key is encrypted. Can be overridden by the -n7 environment variable.

http.proxySSLCAInfo

Pathname to the file containing the certificate bundle that should be used to verify the proxy with when using an HTTPS proxy. Can be overridden by the -n8 environment variable.

http.emptyAuth

Attempt authentication without seeking a username or password. This can be used to attempt GSS-Negotiate authentication without specifying a username in the URL, as libcurl normally requires a username for authentication.

http.delegation

Control GSSAPI credential delegation. The delegation is disabled by default in libcurl since version 7.21.7. Set parameter to tell the server what it is allowed to delegate when it comes to user credentials. Used with GSS/kerberos. Possible values are:

  • -n9 - Don’t allow any delegation.

  • --column0 - Delegates if and only if the OK-AS-DELEGATE flag is set in the Kerberos service ticket, which is a matter of realm policy.

  • --column1 - Unconditionally allow the server to delegate.

Pass an additional HTTP header when communicating with a server. If more than one such entry exists, all of them are added as extra headers. To allow overriding the settings inherited from the system config, an empty value will reset the extra headers to the empty list.

http.cookieFile

The pathname of a file containing previously stored cookie lines, which should be used in the Git http session, if they match the server. The file format of the file to read cookies from should be plain HTTP headers or the Netscape/Mozilla cookie file format [see

git config --system --add receive.procReceiveRefs ad:refs/heads
git config --system --add receive.procReceiveRefs !:refs/heads
5]. NOTE that the file specified with http.cookieFile is used only as input unless http.saveCookies is set.

http.saveCookies

If set, store cookies received during requests to the file specified by http.cookieFile. Has no effect if http.cookieFile is unset.

http.version

Use the specified HTTP protocol version when communicating with a server. If you want to force the default. The available and default version depend on libcurl. Currently the possible values of this option are:

http.curloptResolve

Hostname resolution information that will be used first by libcurl when sending HTTP requests. This information should be in one of the following formats:

  • [+]HOST:PORT:ADDRESS[,ADDRESS]

  • -HOST:PORT

The first format redirects all requests to the given --column3 to the provided --column4[s]. The second format clears all previous config values for that --column3 combination. To allow easy overriding of all the settings inherited from the system config, an empty value will reset all resolution information to the empty list.

http.sslVersion

The SSL version to use when negotiating an SSL connection, if you want to force the default. The available and default version depend on whether libcurl was built against NSS or OpenSSL and the particular configuration of the crypto library in use. Internally this sets the CURLOPT_SSL_VERSION option; see the libcurl documentation for more details on the format of this option and for the ssl version supported. Currently the possible values of this option are:

  • sslv2

  • sslv3

  • tlsv1

  • tlsv1.0

  • tlsv1.1

  • tlsv1.2

  • tlsv1.3

Can be overridden by the --column6 environment variable. To force git to use libcurl’s default ssl version and ignore any explicit http.sslversion option, set --column6 to the empty string.

http.sslCipherList

A list of SSL ciphers to use when negotiating an SSL connection. The available ciphers depend on whether libcurl was built against NSS or OpenSSL and the particular configuration of the crypto library in use. Internally this sets the CURLOPT_SSL_CIPHER_LIST option; see the libcurl documentation for more details on the format of this list.

Can be overridden by the --column8 environment variable. To force git to use libcurl’s default cipher list and ignore any explicit http.sslCipherList option, set --column8 to the empty string.

http.sslVerify

Whether to verify the SSL certificate when fetching or pushing over HTTPS. Defaults to true. Can be overridden by the --basic-regexp0 environment variable.

http.sslCert

File containing the SSL certificate when fetching or pushing over HTTPS. Can be overridden by the --basic-regexp1 environment variable.

http.sslKey

File containing the SSL private key when fetching or pushing over HTTPS. Can be overridden by the --basic-regexp2 environment variable.

http.sslCertPasswordProtected

Enable Git’s password prompt for the SSL certificate. Otherwise OpenSSL will prompt the user, possibly many times, if the certificate or private key is encrypted. Can be overridden by the --basic-regexp3 environment variable.

http.sslCAInfo

File containing the certificates to verify the peer with when fetching or pushing over HTTPS. Can be overridden by the --basic-regexp4 environment variable.

http.sslCAPath

Path containing files with the CA certificates to verify the peer with when fetching or pushing over HTTPS. Can be overridden by the --basic-regexp5 environment variable.

http.sslBackend

Name of the SSL backend to use [e.g. "openssl" or "schannel"]. This option is ignored if cURL lacks support for choosing the SSL backend at runtime.

http.schannelCheckRevoke

Used to enforce or disable certificate revocation checks in cURL when http.sslBackend is set to "schannel". Defaults to --basic-regexp6 if unset. Only necessary to disable this if Git consistently errors and the message is about checking the revocation status of a certificate. This option is ignored if cURL lacks support for setting the relevant SSL option at runtime.

http.schannelUseSSLCAInfo

As of cURL v7.60.0, the Secure Channel backend can use the certificate bundle provided via --basic-regexp7, but that would override the Windows Certificate Store. Since this is not desirable by default, Git will tell cURL not to use that bundle by default when the --basic-regexp8 backend was configured via --basic-regexp9, unless --extended-regexp0 overrides this behavior.

http.pinnedPubkey

Public key of the https service. It may either be the filename of a PEM or DER encoded public key file or a string starting with sha256// followed by the base64 encoded sha256 hash of the public key. See also libcurl CURLOPT_PINNEDPUBLICKEY. git will exit with an error if this option is set but not supported by cURL.

http.sslTry

Attempt to use AUTH SSL/TLS and encrypted data transfers when connecting via regular FTP protocol. This might be needed if the FTP server requires it for security reasons or you wish to connect securely whenever remote FTP server supports it. Default is false since it might trigger certificate verification errors on misconfigured servers.

http.maxRequests

How many HTTP requests to launch in parallel. Can be overridden by the --extended-regexp1 environment variable. Default is 5.

http.minSessions

The number of curl sessions [counted across slots] to be kept across requests. They will not be ended with curl_easy_cleanup[] until http_cleanup[] is invoked. If USE_CURL_MULTI is not defined, this value will be capped at 1. Defaults to 1.

http.postBuffer

Maximum size in bytes of the buffer used by smart HTTP transports when POSTing data to the remote system. For requests larger than this buffer size, HTTP/1.1 and Transfer-Encoding: chunked is used to avoid creating a massive pack file locally. Default is 1 MiB, which is sufficient for most requests.

Note that raising this limit is only effective for disabling chunked transfer encoding and therefore should be used only where the remote server or a proxy only supports HTTP/1.0 or is noncompliant with the HTTP standard. Raising this is not, in general, an effective solution for most push problems, but can increase memory consumption significantly since the entire buffer is allocated even for small pushes.

If the HTTP transfer speed is less than http.lowSpeedLimit for longer than http.lowSpeedTime seconds, the transfer is aborted. Can be overridden by the --extended-regexp2 and --extended-regexp3 environment variables.

http.noEPSV

A boolean which disables using of EPSV ftp command by curl. This can helpful with some "poor" ftp servers which don’t support EPSV mode. Can be overridden by the --extended-regexp4 environment variable. Default is false [curl will use EPSV].

http.userAgent

The HTTP USER_AGENT string presented to an HTTP server. The default value represents the version of the client Git such as git/1.7.1. This option allows you to override this value to a more common value such as Mozilla/4.0. This may be necessary, for instance, if connecting through a firewall that restricts HTTP connections to a set of common USER_AGENT strings [but not including those like git/1.7.1]. Can be overridden by the --extended-regexp5 environment variable.

http.followRedirects

Whether git should follow HTTP redirects. If set to --basic-regexp6, git will transparently follow any redirect issued by a server it encounters. If set to --extended-regexp7, git will treat all redirects as errors. If set to --extended-regexp8, git will follow redirects only for the initial request to a remote, but not for subsequent follow-up HTTP requests. Since git uses the redirected URL as the base for the follow-up requests, this is generally sufficient. The default is --extended-regexp8.

http..*

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:

  1. Scheme [e.g., --fixed-strings0 in --fixed-strings1]. This field must match exactly between the config key and the URL.

  2. Host/domain name [e.g., --fixed-strings2 in --fixed-strings1]. This field must match between the config key and the URL. It is possible to specify a --fixed-strings4 as part of the host name to match all subdomains at this level. --fixed-strings5 for example would match --fixed-strings6, but not --fixed-strings7.

  3. Port number [e.g., --fixed-strings8 in --fixed-strings9]. 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.

  4. Path [e.g.,

    Example:
    
    /etc/gitconfig
      push.pushoption = a
      push.pushoption = b
    
    ~/.gitconfig
      push.pushoption = c
    
    repo/.git/config
      push.pushoption =
      push.pushoption = b
    
    This will result in only b [a and c are cleared].
    00 in
    Example:
    
    /etc/gitconfig
      push.pushoption = a
      push.pushoption = b
    
    ~/.gitconfig
      push.pushoption = c
    
    repo/.git/config
      push.pushoption =
      push.pushoption = b
    
    This will result in only b [a and c are cleared].
    01]. 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
    Example:
    
    /etc/gitconfig
      push.pushoption = a
      push.pushoption = b
    
    ~/.gitconfig
      push.pushoption = c
    
    repo/.git/config
      push.pushoption =
      push.pushoption = b
    
    This will result in only b [a and c are cleared].
    02 matches URL path
    Example:
    
    /etc/gitconfig
      push.pushoption = a
      push.pushoption = b
    
    ~/.gitconfig
      push.pushoption = c
    
    repo/.git/config
      push.pushoption =
      push.pushoption = b
    
    This will result in only b [a and c are cleared].
    03. A prefix can only match on a slash [
    Example:
    
    /etc/gitconfig
      push.pushoption = a
      push.pushoption = b
    
    ~/.gitconfig
      push.pushoption = c
    
    repo/.git/config
      push.pushoption =
      push.pushoption = b
    
    This will result in only b [a and c are cleared].
    04] boundary. Longer matches take precedence [so a config key with path
    Example:
    
    /etc/gitconfig
      push.pushoption = a
      push.pushoption = b
    
    ~/.gitconfig
      push.pushoption = c
    
    repo/.git/config
      push.pushoption =
      push.pushoption = b
    
    This will result in only b [a and c are cleared].
    03 is a better match to URL path
    Example:
    
    /etc/gitconfig
      push.pushoption = a
      push.pushoption = b
    
    ~/.gitconfig
      push.pushoption = c
    
    repo/.git/config
      push.pushoption =
      push.pushoption = b
    
    This will result in only b [a and c are cleared].
    03 than a config key with just path
    Example:
    
    /etc/gitconfig
      push.pushoption = a
      push.pushoption = b
    
    ~/.gitconfig
      push.pushoption = c
    
    repo/.git/config
      push.pushoption =
      push.pushoption = b
    
    This will result in only b [a and c are cleared].
    02].

  5. User name [e.g.,

    Example:
    
    /etc/gitconfig
      push.pushoption = a
      push.pushoption = b
    
    ~/.gitconfig
      push.pushoption = c
    
    repo/.git/config
      push.pushoption =
      push.pushoption = b
    
    This will result in only b [a and c are cleared].
    08 in
    Example:
    
    /etc/gitconfig
      push.pushoption = a
      push.pushoption = b
    
    ~/.gitconfig
      push.pushoption = c
    
    repo/.git/config
      push.pushoption =
      push.pushoption = b
    
    This will result in only b [a and c are cleared].
    09]. 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.

The list above is ordered by decreasing precedence; a URL that matches a config key’s path is preferred to one that matches its user name. For example, if the URL is

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
10 a config key match of
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
11 will be preferred over a config key match of
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
12.

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.

i18n.commitEncoding

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 at other places in the future or in other porcelains]. See e.g. git-mailinfo[1]. Defaults to utf-8.

i18n.logOutputEncoding

Character encoding the commit messages are converted to when running git log and friends.

imap.folder

The folder to drop the mails into, which is typically the Drafts folder. For example: "INBOX.Drafts", "INBOX/Drafts" or "[Gmail]/Drafts". Required.

imap.tunnel

Command used to setup 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.

imap.host

A URL identifying the server. Use an

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
13 prefix for non-secure connections and an
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
14 prefix for secure connections. Ignored when imap.tunnel is set, but required otherwise.

imap.user

The username to use when logging in to the server.

imap.pass

The password to use when logging in to the server.

imap.port

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.

imap.sslverify

A boolean to enable/disable verification of the server certificate used by the SSL/TLS connection. Default is --basic-regexp6. Ignored when imap.tunnel is set.

imap.preformattedHTML

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 false.
imap.authMethod

Specify authenticate method for authentication with 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’re running git-imap-send with the

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
16 option, the only supported method is CRAM-MD5. If this is not set then git imap-send uses the basic IMAP plaintext LOGIN command.

include.pathincludeIf..path

Special variables to include other configuration files. See the "CONFIGURATION FILE" section in the main git-config[1] documentation, specifically the "Includes" and "Conditional Includes" subsections.

index.recordEndOfIndexEntries

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 true if index.threads has been explicitly enabled, false otherwise.

index.recordOffsetTable

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 true if index.threads has been explicitly enabled, false otherwise.

index.sparse

When enabled, write the index using sparse-directory entries. This has no effect unless

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
17 and
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
18 are both enabled. Defaults to false.

index.threads

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 true will cause Git to auto-detect the number of CPU’s and set the number of threads accordingly. Specifying 1 or false will disable multithreading. Defaults to true.

index.version

Specify the version with which new index files should be initialized. This does not affect existing repositories. If

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
19 is enabled, then the default is 4.

init.templateDir

Specify the directory from which templates will be copied. [See the "TEMPLATE DIRECTORY" section of git-init[1].]

init.defaultBranch

Allows overriding the default branch name e.g. when initializing a new repository.

instaweb.browser

Specify the program that will be used to browse your working repository in gitweb. See git-instaweb[1].

instaweb.httpd

The HTTP daemon command-line to start gitweb on your working repository. See git-instaweb[1].

instaweb.local

If true the web server started by git-instaweb[1] will be bound to the local IP [127.0.0.1].

instaweb.modulePath

The default module path for git-instaweb[1] to use instead of /usr/lib/apache2/modules. Only used if httpd is Apache.

instaweb.port

The port number to bind the gitweb httpd to. See git-instaweb[1].

interactive.singleKey

In interactive commands, allow the user to provide one-letter input with a single key [i.e., without hitting enter]. Currently this is used by the

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
20 mode of git-add[1], git-checkout[1], git-restore[1], git-commit[1], git-reset[1], and git-stash[1]. Note that this setting is silently ignored if portable keystroke input is not available; requires the Perl module Term::ReadKey.

interactive.diffFilter

When an interactive command [such as

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
21] 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].

log.abbrevCommit

If true, makes git-log[1], git-show[1], and git-whatchanged[1] assume

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
22. You may override this option with
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
23.

Set the default date-time mode for the log command. Setting a value for log.date is similar to using git log's

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
24 option. See git-log[1] for details.

If the format is set to "auto:foo" and the pager is in use, format "foo" will be the used for the date format. Otherwise "default" will be used.

log.decorate

Print out the ref names of any commits that are shown by the log command. If short is specified, the ref name prefixes refs/heads/, refs/tags/ and refs/remotes/ will not be printed. If full is specified, the full ref name [including prefix] will be printed. If auto is specified, then if the output is going to a terminal, the ref names are shown as if short were given, otherwise no ref names are shown. This is the same as the

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
25 option of the
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
26.

log.initialDecorationSet

By default,

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
26 only shows decorations for certain known ref namespaces. If all is specified, then show all refs as decorations.

log.excludeDecoration

Exclude the specified patterns from the log decorations. This is similar to the

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
28 command-line option, but the config option can be overridden by the
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
29 option.

log.diffMerges

Set diff format to be used when

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
30 is specified, see
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
31 in git-log[1] for details. Defaults to
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
32.

log.follow

If --basic-regexp6,

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
26 will act as if the
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
35 option was used when a singleis given. This has the same limitations as
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
35, i.e. it cannot be used to follow multiple files and does not work well on non-linear history.

log.graphColors

A list of colors, separated by commas, that can be used to draw history lines in

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
37.

log.showRoot

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 git-log[1] or git-whatchanged[1], which normally hide the root commit will now show it. True by default.

log.showSignature

If true, makes git-log[1], git-show[1], and git-whatchanged[1] assume

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
38.

log.mailmap

If true, makes git-log[1], git-show[1], and git-whatchanged[1] assume

Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
39, otherwise assume
Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b [a and c are cleared].
40. True by default.

lsrefs.unborn

May be "advertise" [the default], "allow", or "ignore". If "advertise", the server will respond to the client sending "unborn" [as described in gitprotocol-v2[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".

mailinfo.scissors

If true, makes git-mailinfo[1] [and therefore git-am[1]] act by default as if the --scissors option was provided on the command-line. When active, this features removes everything from the message body before a scissors line [i.e. consisting mainly of ">8", "8

Chủ Đề