Home Explore Blog CI



git

5th chunk of `Documentation/config/core.adoc`
b7d688c0a1be87d90354f898a579d4ef1f82d655ce096de50000000100000fa4
 string `none` can be used as the proxy command to
specify that no proxy be used for a given domain pattern.
This is useful for excluding servers inside a firewall from
proxy use, while defaulting to a common proxy for external domains.

core.sshCommand::
	If this variable is set, `git fetch` and `git push` will
	use the specified command instead of `ssh` when they need to
	connect to a remote system. The command is in the same form as
	the `GIT_SSH_COMMAND` environment variable and is overridden
	when the environment variable is set.

core.ignoreStat::
	If true, Git will avoid using lstat() calls to detect if files have
	changed by setting the "assume-unchanged" bit for those tracked files
	which it has updated identically in both the index and working tree.
+
When files are modified outside of Git, the user will need to stage
the modified files explicitly (e.g. see 'Examples' section in
linkgit:git-update-index[1]).
Git will not normally detect changes to those files.
+
This is useful on systems where lstat() calls are very slow, such as
CIFS/Microsoft Windows.
+
False by default.

core.preferSymlinkRefs::
	Instead of the default "symref" format for HEAD
	and other symbolic reference files, use symbolic links.
	This is sometimes needed to work with old scripts that
	expect HEAD to be a symbolic link.

core.alternateRefsCommand::
	When advertising tips of available history from an alternate, use the shell to
	execute the specified command instead of linkgit:git-for-each-ref[1]. The
	first argument is the absolute path of the alternate. Output must contain one
	hex object id per line (i.e., the same as produced by `git for-each-ref
	--format='%(objectname)'`).
+
Note that you cannot generally put `git for-each-ref` directly into the config
value, as it does not take a repository path as an argument (but you can wrap
the command above in a shell script).

core.alternateRefsPrefixes::
	When listing references from an alternate, list only references that begin
	with the given prefix. Prefixes match as if they were given as arguments to
	linkgit:git-for-each-ref[1]. To list multiple prefixes, separate them with
	whitespace. If `core.alternateRefsCommand` is set, setting
	`core.alternateRefsPrefixes` has no effect.

core.bare::
	If true this repository is assumed to be 'bare' and has no
	working directory associated with it.  If this is the case a
	number of commands that require a working directory will be
	disabled, such as linkgit:git-add[1] or linkgit:git-merge[1].
+
This setting is automatically guessed by linkgit:git-clone[1] or
linkgit:git-init[1] when the repository was created.  By default a
repository that ends in "/.git" is assumed to be not bare (bare =
false), while all other repositories are assumed to be bare (bare
= true).

core.worktree::
	Set the path to the root of the working tree.
	If `GIT_COMMON_DIR` environment variable is set, core.worktree
	is ignored and not used for determining the root of working tree.
	This can be overridden by the `GIT_WORK_TREE` environment
	variable and the `--work-tree` command-line option.
	The value can be an absolute path or relative to the path to
	the .git directory, which is either specified by --git-dir
	or GIT_DIR, or automatically discovered.
	If --git-dir or GIT_DIR is specified but none of
	--work-tree, GIT_WORK_TREE and core.worktree is specified,
	the current working directory is regarded as the top level
	of your working tree.
+
Note that this variable is honored even when set in a configuration
file in a ".git" subdirectory of a directory and its value differs
from the latter directory (e.g. "/path/to/.git/config" has
core.worktree set to "/different/path"), which is most likely a
misconfiguration.  Running Git commands in the "/path/to" directory will
still use "/different/path" as the root of the work tree and can cause
confusion unless you know what you are doing (e.g. you are creating a
read-only snapshot of the same index to a location different from the
repository's

Title: Git Core Configuration Variables for Proxy, SSH, and Repository Settings
Summary
This section describes various Git core configuration variables, including those related to proxy settings, SSH commands, file system interactions, repository settings, and working tree configurations, which can be used to customize Git's behavior and improve performance in different environments and use cases.