Home Explore Blog CI



git

12th chunk of `Documentation/config/core.adoc`
57b95fdc6709d17108da3727cfa59501d2f6d7259d1b492b0000000100000e23
 that loose-objects remain consistent in the face
of a unclean system shutdown.

core.preloadIndex::
	Enable parallel index preload for operations like 'git diff'
+
This can speed up operations like 'git diff' and 'git status' especially
on filesystems like NFS that have weak caching semantics and thus
relatively high IO latencies.  When enabled, Git will do the
index comparison to the filesystem data in parallel, allowing
overlapping IO's.  Defaults to true.

core.unsetenvvars::
	Windows-only: comma-separated list of environment variables'
	names that need to be unset before spawning any other process.
	Defaults to `PERL5LIB` to account for the fact that Git for
	Windows insists on using its own Perl interpreter.

core.restrictinheritedhandles::
	Windows-only: override whether spawned processes inherit only standard
	file handles (`stdin`, `stdout` and `stderr`) or all handles. Can be
	`auto`, `true` or `false`. Defaults to `auto`, which means `true` on
	Windows 7 and later, and `false` on older Windows versions.

core.createObject::
	You can set this to 'link', in which case a hardlink followed by
	a delete of the source are used to make sure that object creation
	will not overwrite existing objects.
+
On some file system/operating system combinations, this is unreliable.
Set this config setting to 'rename' there; however, this will remove the
check that makes sure that existing object files will not get overwritten.

core.notesRef::
	When showing commit messages, also show notes which are stored in
	the given ref.  The ref must be fully qualified.  If the given
	ref does not exist, it is not an error but means that no
	notes should be printed.
+
This setting defaults to "refs/notes/commits", and it can be overridden by
the `GIT_NOTES_REF` environment variable.  See linkgit:git-notes[1].

core.commitGraph::
	If true, then git will read the commit-graph file (if it exists)
	to parse the graph structure of commits. Defaults to true. See
	linkgit:git-commit-graph[1] for more information.

core.useReplaceRefs::
	If set to `false`, behave as if the `--no-replace-objects`
	option was given on the command line. See linkgit:git[1] and
	linkgit:git-replace[1] for more information.

core.multiPackIndex::
	Use the multi-pack-index file to track multiple packfiles using a
	single index. See linkgit:git-multi-pack-index[1] for more
	information. Defaults to true.

core.sparseCheckout::
	Enable "sparse checkout" feature. See linkgit:git-sparse-checkout[1]
	for more information.

core.sparseCheckoutCone::
	Enables the "cone mode" of the sparse checkout feature. When the
	sparse-checkout file contains a limited set of patterns, this
	mode provides significant performance advantages. The "non-cone
	mode" can be requested to allow specifying more flexible
	patterns by setting this variable to 'false'. See
	linkgit:git-sparse-checkout[1] for more information.

core.abbrev::
	Set the length object names are abbreviated to.  If
	unspecified or set to "auto", an appropriate value is
	computed based on the approximate number of packed objects
	in your repository, which hopefully is enough for
	abbreviated object names to stay unique for some time.
	If set to "no", no abbreviation is made and the object names
	are shown in their full length.
	The minimum length is 4.

core.maxTreeDepth::
	The maximum depth Git is willing to recurse while traversing a
	tree (e.g., "a/b/cde/f" has a depth of 4). This is a fail-safe
	to allow Git to abort cleanly, and should not generally need to
	be adjusted. When Git is compiled with MSVC, the default is 512.
	Otherwise, the default is 2048.

Title: Git Core Configuration Variables for Performance and Data Management
Summary
This section describes various Git core configuration variables that control aspects such as data consistency, performance optimization, and repository management, including settings for parallel index preload, environment variables, object creation, commit graphs, and sparse checkout features.