1core.fileMode:: 2 Tells Git if the executable bit of files in the working tree 3 is to be honored. 4+ 5Some filesystems lose the executable bit when a file that is 6marked as executable is checked out, or checks out a 7non-executable file with executable bit on. 8linkgit:git-clone[1] or linkgit:git-init[1] probe the filesystem 9to see if it handles the executable bit correctly 10and this variable is automatically set as necessary. 11+ 12A repository, however, may be on a filesystem that handles 13the filemode correctly, and this variable is set to 'true' 14when created, but later may be made accessible from another 15environment that loses the filemode (e.g. exporting ext4 via 16CIFS mount, visiting a Cygwin created repository with 17Git for Windows or Eclipse). 18In such a case it may be necessary to set this variable to 'false'. 19See linkgit:git-update-index[1]. 20+ 21The default is true (when core.filemode is not specified in the config file). 22 23core.hideDotFiles:: 24 (Windows-only) If true, mark newly-created directories and files whose 25 name starts with a dot as hidden. If 'dotGitOnly', only the `.git/` 26 directory is hidden, but no other files starting with a dot. The 27 default mode is 'dotGitOnly'. 28 29core.ignoreCase:: 30 Internal variable which enables various workarounds to enable 31 Git to work better on filesystems that are not case sensitive, 32 like APFS, HFS+, FAT, NTFS, etc. For example, if a directory listing 33 finds "makefile" when Git expects "Makefile", Git will assume 34 it is really the same file, and continue to remember it as 35 "Makefile". 36+ 37The default is false, except linkgit:git-clone[1] or linkgit:git-init[1] 38will probe and set core.ignoreCase true if appropriate when the repository 39is created. 40+ 41Git relies on the proper configuration of this variable for your operating 42and file system. Modifying this value may result in unexpected behavior. 43 44core.precomposeUnicode:: 45 This option is only used by Mac OS implementation of Git. 46 When core.precomposeUnicode=true, Git reverts the unicode decomposition 47 of filenames done by Mac OS. This is useful when sharing a repository 48 between Mac OS and Linux or Windows. 49 (Git for Windows 1.7.10 or higher is needed, or Git under cygwin 1.7). 50 When false, file names are handled fully transparent by Git, 51 which is backward compatible with older versions of Git. 52 53core.protectHFS:: 54 If set to true, do not allow checkout of paths that would 55 be considered equivalent to `.git` on an HFS+ filesystem. 56 Defaults to `true` on Mac OS, and `false` elsewhere. 57 58core.protectNTFS:: 59 If set to true, do not allow checkout of paths that would 60 cause problems with the NTFS filesystem, e.g. conflict with 61 8.3 "short" names. 62 Defaults to `true` on Windows, and `false` elsewhere. 63 64core.fsmonitor:: 65 If set, the value of this variable is used as a command which 66 will identify all files that may have changed since the 67 requested date/time. This information is used to speed up git by 68 avoiding unnecessary processing of files that have not changed. 69 See the "fsmonitor-watchman" section of linkgit:githooks[5]. 70 71core.trustctime:: 72 If false, the ctime differences between the index and the 73 working tree are ignored; useful when the inode change time 74 is regularly modified by something outside Git (file system 75 crawlers and some backup systems). 76 See linkgit:git-update-index[1]. True by default. 77 78core.splitIndex:: 79 If true, the split-index feature of the index will be used. 80 See linkgit:git-update-index[1]. False by default. 81 82core.untrackedCache:: 83 Determines what to do about the untracked cache feature of the 84 index. It will be kept, if this variable is unset or set to 85 `keep`. It will automatically be added if set to `true`. And 86 it will automatically be removed, if set to `false`. Before 87 setting it to `true`, you should check that mtime is working 88 properly on your system. 89 See linkgit:git-update-index[1]. `keep` by default. 90 91core.checkStat:: 92 When missing or is set to `default`, many fields in the stat 93 structure are checked to detect if a file has been modified 94 since Git looked at it. When this configuration variable is 95 set to `minimal`, sub-second part of mtime and ctime, the 96 uid and gid of the owner of the file, the inode number (and 97 the device number, if Git was compiled to use it), are 98 excluded from the check among these fields, leaving only the 99 whole-second part of mtime (and ctime, if `core.trustCtime` 100 is set) and the filesize to be checked. 101+ 102There are implementations of Git that do not leave usable values in 103some fields (e.g. JGit); by excluding these fields from the 104comparison, the `minimal` mode may help interoperability when the 105same repository is used by these other systems at the same time. 106 107core.quotePath:: 108 Commands that output paths (e.g. 'ls-files', 'diff'), will 109 quote "unusual" characters in the pathname by enclosing the 110 pathname in double-quotes and escaping those characters with 111 backslashes in the same way C escapes control characters (e.g. 112 `\t` for TAB, `\n` for LF, `\\` for backslash) or bytes with 113 values larger than 0x80 (e.g. octal `\302\265` for "micro" in 114 UTF-8). If this variable is set to false, bytes higher than 115 0x80 are not considered "unusual" any more. Double-quotes, 116 backslash and control characters are always escaped regardless 117 of the setting of this variable. A simple space character is 118 not considered "unusual". Many commands can output pathnames 119 completely verbatim using the `-z` option. The default value 120 is true. 121 122core.eol:: 123 Sets the line ending type to use in the working directory for 124 files that have the `text` property set when core.autocrlf is false. 125 Alternatives are 'lf', 'crlf' and 'native', which uses the platform's 126 native line ending. The default value is `native`. See 127 linkgit:gitattributes[5] for more information on end-of-line 128 conversion. 129 130core.safecrlf:: 131 If true, makes Git check if converting `CRLF` is reversible when 132 end-of-line conversion is active. Git will verify if a command 133 modifies a file in the work tree either directly or indirectly. 134 For example, committing a file followed by checking out the 135 same file should yield the original file in the work tree. If 136 this is not the case for the current setting of 137 `core.autocrlf`, Git will reject the file. The variable can 138 be set to "warn", in which case Git will only warn about an 139 irreversible conversion but continue the operation. 140+ 141CRLF conversion bears a slight chance of corrupting data. 142When it is enabled, Git will convert CRLF to LF during commit and LF to 143CRLF during checkout. A file that contains a mixture of LF and 144CRLF before the commit cannot be recreated by Git. For text 145files this is the right thing to do: it corrects line endings 146such that we have only LF line endings in the repository. 147But for binary files that are accidentally classified as text the 148conversion can corrupt data. 149+ 150If you recognize such corruption early you can easily fix it by 151setting the conversion type explicitly in .gitattributes. Right 152after committing you still have the original file in your work 153tree and this file is not yet corrupted. You can explicitly tell 154Git that this file is binary and Git will handle the file 155appropriately. 156+ 157Unfortunately, the desired effect of cleaning up text files with 158mixed line endings and the undesired effect of corrupting binary 159files cannot be distinguished. In both cases CRLFs are removed 160in an irreversible way. For text files this is the right thing 161to do because CRLFs are line endings, while for binary files 162converting CRLFs corrupts data. 163+ 164Note, this safety check does not mean that a checkout will generate a 165file identical to the original file for a different setting of 166`core.eol` and `core.autocrlf`, but only for the current one. For 167example, a text file with `LF` would be accepted with `core.eol=lf` 168and could later be checked out with `core.eol=crlf`, in which case the 169resulting file would contain `CRLF`, although the original file 170contained `LF`. However, in both work trees the line endings would be 171consistent, that is either all `LF` or all `CRLF`, but never mixed. A 172file with mixed line endings would be reported by the `core.safecrlf` 173mechanism. 174 175core.autocrlf:: 176 Setting this variable to "true" is the same as setting 177 the `text` attribute to "auto" on all files and core.eol to "crlf". 178 Set to true if you want to have `CRLF` line endings in your 179 working directory and the repository has LF line endings. 180 This variable can be set to 'input', 181 in which case no output conversion is performed. 182 183core.checkRoundtripEncoding:: 184 A comma and/or whitespace separated list of encodings that Git 185 performs UTF-8 round trip checks on if they are used in an 186 `working-tree-encoding` attribute (see linkgit:gitattributes[5]). 187 The default value is `SHIFT-JIS`. 188 189core.symlinks:: 190 If false, symbolic links are checked out as small plain files that 191 contain the link text. linkgit:git-update-index[1] and 192 linkgit:git-add[1] will not change the recorded type to regular 193 file. Useful on filesystems like FAT that do not support 194 symbolic links. 195+ 196The default is true, except linkgit:git-clone[1] or linkgit:git-init[1] 197will probe and set core.symlinks false if appropriate when the repository 198is created. 199 200core.gitProxy:: 201 A "proxy command" to execute (as 'command host port') instead 202 of establishing direct connection to the remote server when 203 using the Git protocol for fetching. If the variable value is 204 in the "COMMAND for DOMAIN" format, the command is applied only 205 on hostnames ending with the specified domain string. This variable 206 may be set multiple times and is matched in the given order; 207 the first match wins. 208+ 209Can be overridden by the `GIT_PROXY_COMMAND` environment variable 210(which always applies universally, without the special "for" 211handling). 212+ 213The special string `none` can be used as the proxy command to 214specify that no proxy be used for a given domain pattern. 215This is useful for excluding servers inside a firewall from 216proxy use, while defaulting to a common proxy for external domains. 217 218core.sshCommand:: 219 If this variable is set, `git fetch` and `git push` will 220 use the specified command instead of `ssh` when they need to 221 connect to a remote system. The command is in the same form as 222 the `GIT_SSH_COMMAND` environment variable and is overridden 223 when the environment variable is set. 224 225core.ignoreStat:: 226 If true, Git will avoid using lstat() calls to detect if files have 227 changed by setting the "assume-unchanged" bit for those tracked files 228 which it has updated identically in both the index and working tree. 229+ 230When files are modified outside of Git, the user will need to stage 231the modified files explicitly (e.g. see 'Examples' section in 232linkgit:git-update-index[1]). 233Git will not normally detect changes to those files. 234+ 235This is useful on systems where lstat() calls are very slow, such as 236CIFS/Microsoft Windows. 237+ 238False by default. 239 240core.preferSymlinkRefs:: 241 Instead of the default "symref" format for HEAD 242 and other symbolic reference files, use symbolic links. 243 This is sometimes needed to work with old scripts that 244 expect HEAD to be a symbolic link. 245 246core.alternateRefsCommand:: 247 When advertising tips of available history from an alternate, use the shell to 248 execute the specified command instead of linkgit:git-for-each-ref[1]. The 249 first argument is the absolute path of the alternate. Output must contain one 250 hex object id per line (i.e., the same as produced by `git for-each-ref 251 --format='%(objectname)'`). 252+ 253Note that you cannot generally put `git for-each-ref` directly into the config 254value, as it does not take a repository path as an argument (but you can wrap 255the command above in a shell script). 256 257core.alternateRefsPrefixes:: 258 When listing references from an alternate, list only references that begin 259 with the given prefix. Prefixes match as if they were given as arguments to 260 linkgit:git-for-each-ref[1]. To list multiple prefixes, separate them with 261 whitespace. If `core.alternateRefsCommand` is set, setting 262 `core.alternateRefsPrefixes` has no effect. 263 264core.bare:: 265 If true this repository is assumed to be 'bare' and has no 266 working directory associated with it. If this is the case a 267 number of commands that require a working directory will be 268 disabled, such as linkgit:git-add[1] or linkgit:git-merge[1]. 269+ 270This setting is automatically guessed by linkgit:git-clone[1] or 271linkgit:git-init[1] when the repository was created. By default a 272repository that ends in "/.git" is assumed to be not bare (bare = 273false), while all other repositories are assumed to be bare (bare 274= true). 275 276core.worktree:: 277 Set the path to the root of the working tree. 278 If `GIT_COMMON_DIR` environment variable is set, core.worktree 279 is ignored and not used for determining the root of working tree. 280 This can be overridden by the `GIT_WORK_TREE` environment 281 variable and the `--work-tree` command-line option. 282 The value can be an absolute path or relative to the path to 283 the .git directory, which is either specified by --git-dir 284 or GIT_DIR, or automatically discovered. 285 If --git-dir or GIT_DIR is specified but none of 286 --work-tree, GIT_WORK_TREE and core.worktree is specified, 287 the current working directory is regarded as the top level 288 of your working tree. 289+ 290Note that this variable is honored even when set in a configuration 291file in a ".git" subdirectory of a directory and its value differs 292from the latter directory (e.g. "/path/to/.git/config" has 293core.worktree set to "/different/path"), which is most likely a 294misconfiguration. Running Git commands in the "/path/to" directory will 295still use "/different/path" as the root of the work tree and can cause 296confusion unless you know what you are doing (e.g. you are creating a 297read-only snapshot of the same index to a location different from the 298repository's usual working tree). 299 300core.logAllRefUpdates:: 301 Enable the reflog. Updates to a ref <ref> is logged to the file 302 "`$GIT_DIR/logs/<ref>`", by appending the new and old 303 SHA-1, the date/time and the reason of the update, but 304 only when the file exists. If this configuration 305 variable is set to `true`, missing "`$GIT_DIR/logs/<ref>`" 306 file is automatically created for branch heads (i.e. under 307 `refs/heads/`), remote refs (i.e. under `refs/remotes/`), 308 note refs (i.e. under `refs/notes/`), and the symbolic ref `HEAD`. 309 If it is set to `always`, then a missing reflog is automatically 310 created for any ref under `refs/`. 311+ 312This information can be used to determine what commit 313was the tip of a branch "2 days ago". 314+ 315This value is true by default in a repository that has 316a working directory associated with it, and false by 317default in a bare repository. 318 319core.repositoryFormatVersion:: 320 Internal variable identifying the repository format and layout 321 version. 322 323core.sharedRepository:: 324 When 'group' (or 'true'), the repository is made shareable between 325 several users in a group (making sure all the files and objects are 326 group-writable). When 'all' (or 'world' or 'everybody'), the 327 repository will be readable by all users, additionally to being 328 group-shareable. When 'umask' (or 'false'), Git will use permissions 329 reported by umask(2). When '0xxx', where '0xxx' is an octal number, 330 files in the repository will have this mode value. '0xxx' will override 331 user's umask value (whereas the other options will only override 332 requested parts of the user's umask value). Examples: '0660' will make 333 the repo read/write-able for the owner and group, but inaccessible to 334 others (equivalent to 'group' unless umask is e.g. '0022'). '0640' is a 335 repository that is group-readable but not group-writable. 336 See linkgit:git-init[1]. False by default. 337 338core.warnAmbiguousRefs:: 339 If true, Git will warn you if the ref name you passed it is ambiguous 340 and might match multiple refs in the repository. True by default. 341 342core.compression:: 343 An integer -1..9, indicating a default compression level. 344 -1 is the zlib default. 0 means no compression, 345 and 1..9 are various speed/size tradeoffs, 9 being slowest. 346 If set, this provides a default to other compression variables, 347 such as `core.looseCompression` and `pack.compression`. 348 349core.looseCompression:: 350 An integer -1..9, indicating the compression level for objects that 351 are not in a pack file. -1 is the zlib default. 0 means no 352 compression, and 1..9 are various speed/size tradeoffs, 9 being 353 slowest. If not set, defaults to core.compression. If that is 354 not set, defaults to 1 (best speed). 355 356core.packedGitWindowSize:: 357 Number of bytes of a pack file to map into memory in a 358 single mapping operation. Larger window sizes may allow 359 your system to process a smaller number of large pack files 360 more quickly. Smaller window sizes will negatively affect 361 performance due to increased calls to the operating system's 362 memory manager, but may improve performance when accessing 363 a large number of large pack files. 364+ 365Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32 366MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should 367be reasonable for all users/operating systems. You probably do 368not need to adjust this value. 369+ 370Common unit suffixes of 'k', 'm', or 'g' are supported. 371 372core.packedGitLimit:: 373 Maximum number of bytes to map simultaneously into memory 374 from pack files. If Git needs to access more than this many 375 bytes at once to complete an operation it will unmap existing 376 regions to reclaim virtual address space within the process. 377+ 378Default is 256 MiB on 32 bit platforms and 32 TiB (effectively 379unlimited) on 64 bit platforms. 380This should be reasonable for all users/operating systems, except on 381the largest projects. You probably do not need to adjust this value. 382+ 383Common unit suffixes of 'k', 'm', or 'g' are supported. 384 385core.deltaBaseCacheLimit:: 386 Maximum number of bytes to reserve for caching base objects 387 that may be referenced by multiple deltified objects. By storing the 388 entire decompressed base objects in a cache Git is able 389 to avoid unpacking and decompressing frequently used base 390 objects multiple times. 391+ 392Default is 96 MiB on all platforms. This should be reasonable 393for all users/operating systems, except on the largest projects. 394You probably do not need to adjust this value. 395+ 396Common unit suffixes of 'k', 'm', or 'g' are supported. 397 398core.bigFileThreshold:: 399 Files larger than this size are stored deflated, without 400 attempting delta compression. Storing large files without 401 delta compression avoids excessive memory usage, at the 402 slight expense of increased disk usage. Additionally files 403 larger than this size are always treated as binary. 404+ 405Default is 512 MiB on all platforms. This should be reasonable 406for most projects as source code and other text files can still 407be delta compressed, but larger binary media files won't be. 408+ 409Common unit suffixes of 'k', 'm', or 'g' are supported. 410 411core.excludesFile:: 412 Specifies the pathname to the file that contains patterns to 413 describe paths that are not meant to be tracked, in addition 414 to '.gitignore' (per-directory) and '.git/info/exclude'. 415 Defaults to `$XDG_CONFIG_HOME/git/ignore`. 416 If `$XDG_CONFIG_HOME` is either not set or empty, `$HOME/.config/git/ignore` 417 is used instead. See linkgit:gitignore[5]. 418 419core.askPass:: 420 Some commands (e.g. svn and http interfaces) that interactively 421 ask for a password can be told to use an external program given 422 via the value of this variable. Can be overridden by the `GIT_ASKPASS` 423 environment variable. If not set, fall back to the value of the 424 `SSH_ASKPASS` environment variable or, failing that, a simple password 425 prompt. The external program shall be given a suitable prompt as 426 command-line argument and write the password on its STDOUT. 427 428core.attributesFile:: 429 In addition to '.gitattributes' (per-directory) and 430 '.git/info/attributes', Git looks into this file for attributes 431 (see linkgit:gitattributes[5]). Path expansions are made the same 432 way as for `core.excludesFile`. Its default value is 433 `$XDG_CONFIG_HOME/git/attributes`. If `$XDG_CONFIG_HOME` is either not 434 set or empty, `$HOME/.config/git/attributes` is used instead. 435 436core.hooksPath:: 437 By default Git will look for your hooks in the 438 '$GIT_DIR/hooks' directory. Set this to different path, 439 e.g. '/etc/git/hooks', and Git will try to find your hooks in 440 that directory, e.g. '/etc/git/hooks/pre-receive' instead of 441 in '$GIT_DIR/hooks/pre-receive'. 442+ 443The path can be either absolute or relative. A relative path is 444taken as relative to the directory where the hooks are run (see 445the "DESCRIPTION" section of linkgit:githooks[5]). 446+ 447This configuration variable is useful in cases where you'd like to 448centrally configure your Git hooks instead of configuring them on a 449per-repository basis, or as a more flexible and centralized 450alternative to having an `init.templateDir` where you've changed 451default hooks. 452 453core.editor:: 454 Commands such as `commit` and `tag` that let you edit 455 messages by launching an editor use the value of this 456 variable when it is set, and the environment variable 457 `GIT_EDITOR` is not set. See linkgit:git-var[1]. 458 459core.commentChar:: 460 Commands such as `commit` and `tag` that let you edit 461 messages consider a line that begins with this character 462 commented, and removes them after the editor returns 463 (default '#'). 464+ 465If set to "auto", `git-commit` would select a character that is not 466the beginning character of any line in existing commit messages. 467 468core.filesRefLockTimeout:: 469 The length of time, in milliseconds, to retry when trying to 470 lock an individual reference. Value 0 means not to retry at 471 all; -1 means to try indefinitely. Default is 100 (i.e., 472 retry for 100ms). 473 474core.packedRefsTimeout:: 475 The length of time, in milliseconds, to retry when trying to 476 lock the `packed-refs` file. Value 0 means not to retry at 477 all; -1 means to try indefinitely. Default is 1000 (i.e., 478 retry for 1 second). 479 480core.pager:: 481 Text viewer for use by Git commands (e.g., 'less'). The value 482 is meant to be interpreted by the shell. The order of preference 483 is the `$GIT_PAGER` environment variable, then `core.pager` 484 configuration, then `$PAGER`, and then the default chosen at 485 compile time (usually 'less'). 486+ 487When the `LESS` environment variable is unset, Git sets it to `FRX` 488(if `LESS` environment variable is set, Git does not change it at 489all). If you want to selectively override Git's default setting 490for `LESS`, you can set `core.pager` to e.g. `less -S`. This will 491be passed to the shell by Git, which will translate the final 492command to `LESS=FRX less -S`. The environment does not set the 493`S` option but the command line does, instructing less to truncate 494long lines. Similarly, setting `core.pager` to `less -+F` will 495deactivate the `F` option specified by the environment from the 496command-line, deactivating the "quit if one screen" behavior of 497`less`. One can specifically activate some flags for particular 498commands: for example, setting `pager.blame` to `less -S` enables 499line truncation only for `git blame`. 500+ 501Likewise, when the `LV` environment variable is unset, Git sets it 502to `-c`. You can override this setting by exporting `LV` with 503another value or setting `core.pager` to `lv +c`. 504 505core.whitespace:: 506 A comma separated list of common whitespace problems to 507 notice. 'git diff' will use `color.diff.whitespace` to 508 highlight them, and 'git apply --whitespace=error' will 509 consider them as errors. You can prefix `-` to disable 510 any of them (e.g. `-trailing-space`): 511+ 512* `blank-at-eol` treats trailing whitespaces at the end of the line 513 as an error (enabled by default). 514* `space-before-tab` treats a space character that appears immediately 515 before a tab character in the initial indent part of the line as an 516 error (enabled by default). 517* `indent-with-non-tab` treats a line that is indented with space 518 characters instead of the equivalent tabs as an error (not enabled by 519 default). 520* `tab-in-indent` treats a tab character in the initial indent part of 521 the line as an error (not enabled by default). 522* `blank-at-eof` treats blank lines added at the end of file as an error 523 (enabled by default). 524* `trailing-space` is a short-hand to cover both `blank-at-eol` and 525 `blank-at-eof`. 526* `cr-at-eol` treats a carriage-return at the end of line as 527 part of the line terminator, i.e. with it, `trailing-space` 528 does not trigger if the character before such a carriage-return 529 is not a whitespace (not enabled by default). 530* `tabwidth=<n>` tells how many character positions a tab occupies; this 531 is relevant for `indent-with-non-tab` and when Git fixes `tab-in-indent` 532 errors. The default tab width is 8. Allowed values are 1 to 63. 533 534core.fsyncObjectFiles:: 535 This boolean will enable 'fsync()' when writing object files. 536+ 537This is a total waste of time and effort on a filesystem that orders 538data writes properly, but can be useful for filesystems that do not use 539journalling (traditional UNIX filesystems) or that only journal metadata 540and not file contents (OS X's HFS+, or Linux ext3 with "data=writeback"). 541 542core.preloadIndex:: 543 Enable parallel index preload for operations like 'git diff' 544+ 545This can speed up operations like 'git diff' and 'git status' especially 546on filesystems like NFS that have weak caching semantics and thus 547relatively high IO latencies. When enabled, Git will do the 548index comparison to the filesystem data in parallel, allowing 549overlapping IO's. Defaults to true. 550 551core.unsetenvvars:: 552 Windows-only: comma-separated list of environment variables' 553 names that need to be unset before spawning any other process. 554 Defaults to `PERL5LIB` to account for the fact that Git for 555 Windows insists on using its own Perl interpreter. 556 557core.createObject:: 558 You can set this to 'link', in which case a hardlink followed by 559 a delete of the source are used to make sure that object creation 560 will not overwrite existing objects. 561+ 562On some file system/operating system combinations, this is unreliable. 563Set this config setting to 'rename' there; However, This will remove the 564check that makes sure that existing object files will not get overwritten. 565 566core.notesRef:: 567 When showing commit messages, also show notes which are stored in 568 the given ref. The ref must be fully qualified. If the given 569 ref does not exist, it is not an error but means that no 570 notes should be printed. 571+ 572This setting defaults to "refs/notes/commits", and it can be overridden by 573the `GIT_NOTES_REF` environment variable. See linkgit:git-notes[1]. 574 575core.commitGraph:: 576 If true, then git will read the commit-graph file (if it exists) 577 to parse the graph structure of commits. Defaults to false. See 578 linkgit:git-commit-graph[1] for more information. 579 580core.useReplaceRefs:: 581 If set to `false`, behave as if the `--no-replace-objects` 582 option was given on the command line. See linkgit:git[1] and 583 linkgit:git-replace[1] for more information. 584 585core.multiPackIndex:: 586 Use the multi-pack-index file to track multiple packfiles using a 587 single index. See link:technical/multi-pack-index.html[the 588 multi-pack-index design document]. 589 590core.sparseCheckout:: 591 Enable "sparse checkout" feature. See section "Sparse checkout" in 592 linkgit:git-read-tree[1] for more information. 593 594core.abbrev:: 595 Set the length object names are abbreviated to. If 596 unspecified or set to "auto", an appropriate value is 597 computed based on the approximate number of packed objects 598 in your repository, which hopefully is enough for 599 abbreviated object names to stay unique for some time. 600 The minimum length is 4.