include::config/add.txt[]
-alias.*::
- Command aliases for the linkgit:git[1] command wrapper - e.g.
- after defining "alias.last = cat-file commit HEAD", the invocation
- "git last" is equivalent to "git cat-file commit HEAD". To avoid
- confusion and troubles with script usage, aliases that
- hide existing Git commands are ignored. Arguments are split by
- spaces, the usual shell quoting and escaping is supported.
- A quote pair or a backslash can be used to quote them.
-+
-If the alias expansion is prefixed with an exclamation point,
-it will be treated as a shell command. For example, defining
-"alias.new = !gitk --all --not ORIG_HEAD", the invocation
-"git new" is equivalent to running the shell command
-"gitk --all --not ORIG_HEAD". Note that shell commands will be
-executed from the top-level directory of a repository, which may
-not necessarily be the current directory.
-`GIT_PREFIX` is set as returned by running 'git rev-parse --show-prefix'
-from the original current directory. See linkgit:git-rev-parse[1].
-
-am.keepcr::
- If true, git-am will call git-mailsplit for patches in mbox format
- with parameter `--keep-cr`. In this case git-mailsplit will
- not remove `\r` from lines ending with `\r\n`. Can be overridden
- by giving `--no-keep-cr` from the command line.
- See linkgit:git-am[1], linkgit:git-mailsplit[1].
-
-am.threeWay::
- By default, `git am` will fail if the patch does not apply cleanly. When
- set to true, this setting tells `git am` to fall back on 3-way merge if
- the patch records the identity of blobs it is supposed to apply to and
- we have those blobs available locally (equivalent to giving the `--3way`
- option from the command line). Defaults to `false`.
- See linkgit:git-am[1].
-
-apply.ignoreWhitespace::
- When set to 'change', tells 'git apply' to ignore changes in
- whitespace, in the same way as the `--ignore-space-change`
- option.
- When set to one of: no, none, never, false tells 'git apply' to
- respect all whitespace differences.
- See linkgit:git-apply[1].
-
-apply.whitespace::
- Tells 'git apply' how to handle whitespaces, in the same way
- as the `--whitespace` option. See linkgit:git-apply[1].
-
-blame.blankBoundary::
- Show blank commit object name for boundary commits in
- linkgit:git-blame[1]. This option defaults to false.
-
-blame.coloring::
- This determines the coloring scheme to be applied to blame
- output. It can be 'repeatedLines', 'highlightRecent',
- or 'none' which is the default.
-
-blame.date::
- Specifies the format used to output dates in linkgit:git-blame[1].
- If unset the iso format is used. For supported values,
- see the discussion of the `--date` option at linkgit:git-log[1].
-
-blame.showEmail::
- Show the author email instead of author name in linkgit:git-blame[1].
- This option defaults to false.
-
-blame.showRoot::
- Do not treat root commits as boundaries in linkgit:git-blame[1].
- This option defaults to false.
-
-branch.autoSetupMerge::
- Tells 'git branch' and 'git checkout' to set up new branches
- so that linkgit:git-pull[1] will appropriately merge from the
- starting point branch. Note that even if this option is not set,
- this behavior can be chosen per-branch using the `--track`
- and `--no-track` options. The valid settings are: `false` -- no
- automatic setup is done; `true` -- automatic setup is done when the
- starting point is a remote-tracking branch; `always` --
- automatic setup is done when the starting point is either a
- local branch or remote-tracking
- branch. This option defaults to true.
-
-branch.autoSetupRebase::
- When a new branch is created with 'git branch' or 'git checkout'
- that tracks another branch, this variable tells Git to set
- up pull to rebase instead of merge (see "branch.<name>.rebase").
- When `never`, rebase is never automatically set to true.
- When `local`, rebase is set to true for tracked branches of
- other local branches.
- When `remote`, rebase is set to true for tracked branches of
- remote-tracking branches.
- When `always`, rebase will be set to true for all tracking
- branches.
- See "branch.autoSetupMerge" for details on how to set up a
- branch to track another branch.
- This option defaults to never.
-
-branch.sort::
- This variable controls the sort ordering of branches when displayed by
- linkgit:git-branch[1]. Without the "--sort=<value>" option provided, the
- value of this variable will be used as the default.
- See linkgit:git-for-each-ref[1] field names for valid values.
-
-branch.<name>.remote::
- When on branch <name>, it tells 'git fetch' and 'git push'
- which remote to fetch from/push to. The remote to push to
- may be overridden with `remote.pushDefault` (for all branches).
- The remote to push to, for the current branch, may be further
- overridden by `branch.<name>.pushRemote`. If no remote is
- configured, or if you are not on any branch, it defaults to
- `origin` for fetching and `remote.pushDefault` for pushing.
- Additionally, `.` (a period) is the current local repository
- (a dot-repository), see `branch.<name>.merge`'s final note below.
-
-branch.<name>.pushRemote::
- When on branch <name>, it overrides `branch.<name>.remote` for
- pushing. It also overrides `remote.pushDefault` for pushing
- from branch <name>. When you pull from one place (e.g. your
- upstream) and push to another place (e.g. your own publishing
- repository), you would want to set `remote.pushDefault` to
- specify the remote to push to for all branches, and use this
- option to override it for a specific branch.
-
-branch.<name>.merge::
- Defines, together with branch.<name>.remote, the upstream branch
- for the given branch. It tells 'git fetch'/'git pull'/'git rebase' which
- branch to merge and can also affect 'git push' (see push.default).
- When in branch <name>, it tells 'git fetch' the default
- refspec to be marked for merging in FETCH_HEAD. The value is
- handled like the remote part of a refspec, and must match a
- ref which is fetched from the remote given by
- "branch.<name>.remote".
- The merge information is used by 'git pull' (which at first calls
- 'git fetch') to lookup the default branch for merging. Without
- this option, 'git pull' defaults to merge the first refspec fetched.
- Specify multiple values to get an octopus merge.
- If you wish to setup 'git pull' so that it merges into <name> from
- another branch in the local repository, you can point
- branch.<name>.merge to the desired branch, and use the relative path
- setting `.` (a period) for branch.<name>.remote.
-
-branch.<name>.mergeOptions::
- Sets default options for merging into branch <name>. The syntax and
- supported options are the same as those of linkgit:git-merge[1], but
- option values containing whitespace characters are currently not
- supported.
+include::config/alias.txt[]
-branch.<name>.rebase::
- When true, rebase the branch <name> on top of the fetched branch,
- instead of merging the default branch from the default remote when
- "git pull" is run. See "pull.rebase" for doing this in a non
- branch-specific manner.
-+
-When `merges`, pass the `--rebase-merges` option to 'git rebase'
-so that the local merge commits are included in the rebase (see
-linkgit:git-rebase[1] for details).
-+
-When preserve, also pass `--preserve-merges` along to 'git rebase'
-so that locally committed merge commits will not be flattened
-by running 'git pull'.
-+
-When the value is `interactive`, the rebase is run in interactive mode.
-+
-*NOTE*: this is a possibly dangerous operation; do *not* use
-it unless you understand the implications (see linkgit:git-rebase[1]
-for details).
-
-branch.<name>.description::
- Branch description, can be edited with
- `git branch --edit-description`. Branch description is
- automatically added in the format-patch cover letter or
- request-pull summary.
-
-browser.<tool>.cmd::
- Specify the command to invoke the specified browser. The
- specified command is evaluated in shell with the URLs passed
- as arguments. (See linkgit:git-web{litdd}browse[1].)
-
-browser.<tool>.path::
- Override the path for the given tool that may be used to
- browse HTML help (see `-w` option in linkgit:git-help[1]) or a
- working repository in gitweb (see linkgit:git-instaweb[1]).
-
-checkout.defaultRemote::
- When you run 'git checkout <something>' and only have one
- remote, it may implicitly fall back on checking out and
- tracking e.g. 'origin/<something>'. This stops working as soon
- as you have more than one remote with a '<something>'
- reference. This setting allows for setting the name of a
- preferred remote that should always win when it comes to
- disambiguation. The typical use-case is to set this to
- `origin`.
-+
-Currently this is used by linkgit:git-checkout[1] when 'git checkout
-<something>' will checkout the '<something>' branch on another remote,
-and by linkgit:git-worktree[1] when 'git worktree add' refers to a
-remote branch. This setting might be used for other checkout-like
-commands or functionality in the future.
-
-checkout.optimizeNewBranch::
- Optimizes the performance of "git checkout -b <new_branch>" when
- using sparse-checkout. When set to true, git will not update the
- repo based on the current sparse-checkout settings. This means it
- will not update the skip-worktree bit in the index nor add/remove
- files in the working directory to reflect the current sparse checkout
- settings nor will it show the local changes.
-
-clean.requireForce::
- A boolean to make git-clean do nothing unless given -f,
- -i or -n. Defaults to true.
-
-color.advice::
- A boolean to enable/disable color in hints (e.g. when a push
- failed, see `advice.*` for a list). May be set to `always`,
- `false` (or `never`) or `auto` (or `true`), in which case colors
- are used only when the error output goes to a terminal. If
- unset, then the value of `color.ui` is used (`auto` by default).
-
-color.advice.hint::
- Use customized color for hints.
-
-color.blame.highlightRecent::
- This can be used to color the metadata of a blame line depending
- on age of the line.
-+
-This setting should be set to a comma-separated list of color and date settings,
-starting and ending with a color, the dates should be set from oldest to newest.
-The metadata will be colored given the colors if the the line was introduced
-before the given timestamp, overwriting older timestamped colors.
-+
-Instead of an absolute timestamp relative timestamps work as well, e.g.
-2.weeks.ago is valid to address anything older than 2 weeks.
-+
-It defaults to 'blue,12 month ago,white,1 month ago,red', which colors
-everything older than one year blue, recent changes between one month and
-one year old are kept white, and lines introduced within the last month are
-colored red.
-
-color.blame.repeatedLines::
- Use the customized color for the part of git-blame output that
- is repeated meta information per line (such as commit id,
- author name, date and timezone). Defaults to cyan.
-
-color.branch::
- A boolean to enable/disable color in the output of
- linkgit:git-branch[1]. May be set to `always`,
- `false` (or `never`) or `auto` (or `true`), in which case colors are used
- only when the output is to a terminal. If unset, then the
- value of `color.ui` is used (`auto` by default).
-
-color.branch.<slot>::
- Use customized color for branch coloration. `<slot>` is one of
- `current` (the current branch), `local` (a local branch),
- `remote` (a remote-tracking branch in refs/remotes/),
- `upstream` (upstream tracking branch), `plain` (other
- refs).
-
-color.diff::
- Whether to use ANSI escape sequences to add color to patches.
- If this is set to `always`, linkgit:git-diff[1],
- linkgit:git-log[1], and linkgit:git-show[1] will use color
- for all patches. If it is set to `true` or `auto`, those
- commands will only use color when output is to the terminal.
- If unset, then the value of `color.ui` is used (`auto` by
- default).
-+
-This does not affect linkgit:git-format-patch[1] or the
-'git-diff-{asterisk}' plumbing commands. Can be overridden on the
-command line with the `--color[=<when>]` option.
-
-color.diff.<slot>::
- Use customized color for diff colorization. `<slot>` specifies
- which part of the patch to use the specified color, and is one
- of `context` (context text - `plain` is a historical synonym),
- `meta` (metainformation), `frag`
- (hunk header), 'func' (function in hunk header), `old` (removed lines),
- `new` (added lines), `commit` (commit headers), `whitespace`
- (highlighting whitespace errors), `oldMoved` (deleted lines),
- `newMoved` (added lines), `oldMovedDimmed`, `oldMovedAlternative`,
- `oldMovedAlternativeDimmed`, `newMovedDimmed`, `newMovedAlternative`
- `newMovedAlternativeDimmed` (See the '<mode>'
- setting of '--color-moved' in linkgit:git-diff[1] for details),
- `contextDimmed`, `oldDimmed`, `newDimmed`, `contextBold`,
- `oldBold`, and `newBold` (see linkgit:git-range-diff[1] for details).
-
-color.decorate.<slot>::
- Use customized color for 'git log --decorate' output. `<slot>` is one
- of `branch`, `remoteBranch`, `tag`, `stash` or `HEAD` for local
- branches, remote-tracking branches, tags, stash and HEAD, respectively
- and `grafted` for grafted commits.
-
-color.grep::
- When set to `always`, always highlight matches. When `false` (or
- `never`), never. When set to `true` or `auto`, use color only
- when the output is written to the terminal. If unset, then the
- value of `color.ui` is used (`auto` by default).
-
-color.grep.<slot>::
- Use customized color for grep colorization. `<slot>` specifies which
- part of the line to use the specified color, and is one of
-+
---
-`context`;;
- non-matching text in context lines (when using `-A`, `-B`, or `-C`)
-`filename`;;
- filename prefix (when not using `-h`)
-`function`;;
- function name lines (when using `-p`)
-`lineNumber`;;
- line number prefix (when using `-n`)
-`column`;;
- column number prefix (when using `--column`)
-`match`;;
- matching text (same as setting `matchContext` and `matchSelected`)
-`matchContext`;;
- matching text in context lines
-`matchSelected`;;
- matching text in selected lines
-`selected`;;
- non-matching text in selected lines
-`separator`;;
- separators between fields on a line (`:`, `-`, and `=`)
- and between hunks (`--`)
---
+include::config/am.txt[]
-color.interactive::
- When set to `always`, always use colors for interactive prompts
- and displays (such as those used by "git-add --interactive" and
- "git-clean --interactive"). When false (or `never`), never.
- When set to `true` or `auto`, use colors only when the output is
- to the terminal. If unset, then the value of `color.ui` is
- used (`auto` by default).
-
-color.interactive.<slot>::
- Use customized color for 'git add --interactive' and 'git clean
- --interactive' output. `<slot>` may be `prompt`, `header`, `help`
- or `error`, for four distinct types of normal output from
- interactive commands.
-
-color.pager::
- A boolean to enable/disable colored output when the pager is in
- use (default is true).
-
-color.push::
- A boolean to enable/disable color in push errors. May be set to
- `always`, `false` (or `never`) or `auto` (or `true`), in which
- case colors are used only when the error output goes to a terminal.
- If unset, then the value of `color.ui` is used (`auto` by default).
-
-color.push.error::
- Use customized color for push errors.
-
-color.remote::
- If set, keywords at the start of the line are highlighted. The
- keywords are "error", "warning", "hint" and "success", and are
- matched case-insensitively. May be set to `always`, `false` (or
- `never`) or `auto` (or `true`). If unset, then the value of
- `color.ui` is used (`auto` by default).
-
-color.remote.<slot>::
- Use customized color for each remote keyword. `<slot>` may be
- `hint`, `warning`, `success` or `error` which match the
- corresponding keyword.
-
-color.showBranch::
- A boolean to enable/disable color in the output of
- linkgit:git-show-branch[1]. May be set to `always`,
- `false` (or `never`) or `auto` (or `true`), in which case colors are used
- only when the output is to a terminal. If unset, then the
- value of `color.ui` is used (`auto` by default).
-
-color.status::
- A boolean to enable/disable color in the output of
- linkgit:git-status[1]. May be set to `always`,
- `false` (or `never`) or `auto` (or `true`), in which case colors are used
- only when the output is to a terminal. If unset, then the
- value of `color.ui` is used (`auto` by default).
-
-color.status.<slot>::
- Use customized color for status colorization. `<slot>` is
- one of `header` (the header text of the status message),
- `added` or `updated` (files which are added but not committed),
- `changed` (files which are changed but not added in the index),
- `untracked` (files which are not tracked by Git),
- `branch` (the current branch),
- `nobranch` (the color the 'no branch' warning is shown in, defaulting
- to red),
- `localBranch` or `remoteBranch` (the local and remote branch names,
- respectively, when branch and tracking information is displayed in the
- status short-format), or
- `unmerged` (files which have unmerged changes).
-
-color.transport::
- A boolean to enable/disable color when pushes are rejected. May be
- set to `always`, `false` (or `never`) or `auto` (or `true`), in which
- case colors are used only when the error output goes to a terminal.
- If unset, then the value of `color.ui` is used (`auto` by default).
-
-color.transport.rejected::
- Use customized color when a push was rejected.
-
-color.ui::
- This variable determines the default value for variables such
- as `color.diff` and `color.grep` that control the use of color
- per command family. Its scope will expand as more commands learn
- configuration to set a default for the `--color` option. Set it
- to `false` or `never` if you prefer Git commands not to use
- color unless enabled explicitly with some other configuration
- or the `--color` option. Set it to `always` if you want all
- output not intended for machine consumption to use color, to
- `true` or `auto` (this is the default since Git 1.8.4) if you
- want such output to use color when written to the terminal.
-
-column.ui::
- Specify whether supported commands should output in columns.
- This variable consists of a list of tokens separated by spaces
- or commas:
-+
-These options control when the feature should be enabled
-(defaults to 'never'):
-+
---
-`always`;;
- always show in columns
-`never`;;
- never show in columns
-`auto`;;
- show in columns if the output is to the terminal
---
-+
-These options control layout (defaults to 'column'). Setting any
-of these implies 'always' if none of 'always', 'never', or 'auto' are
-specified.
-+
---
-`column`;;
- fill columns before rows
-`row`;;
- fill rows before columns
-`plain`;;
- show in one column
---
-+
-Finally, these options can be combined with a layout option (defaults
-to 'nodense'):
-+
---
-`dense`;;
- make unequal size columns to utilize more space
-`nodense`;;
- make equal size columns
---
+include::config/apply.txt[]
-column.branch::
- Specify whether to output branch listing in `git branch` in columns.
- See `column.ui` for details.
-
-column.clean::
- Specify the layout when list items in `git clean -i`, which always
- shows files and directories in columns. See `column.ui` for details.
-
-column.status::
- Specify whether to output untracked files in `git status` in columns.
- See `column.ui` for details.
-
-column.tag::
- Specify whether to output tag listing in `git tag` in columns.
- See `column.ui` for details.
-
-commit.cleanup::
- This setting overrides the default of the `--cleanup` option in
- `git commit`. See linkgit:git-commit[1] for details. Changing the
- default can be useful when you always want to keep lines that begin
- with comment character `#` in your log message, in which case you
- would do `git config commit.cleanup whitespace` (note that you will
- have to remove the help lines that begin with `#` in the commit log
- template yourself, if you do this).
-
-commit.gpgSign::
-
- A boolean to specify whether all commits should be GPG signed.
- Use of this option when doing operations such as rebase can
- result in a large number of commits being signed. It may be
- convenient to use an agent to avoid typing your GPG passphrase
- several times.
-
-commit.status::
- A boolean to enable/disable inclusion of status information in the
- commit message template when using an editor to prepare the commit
- message. Defaults to true.
-
-commit.template::
- Specify the pathname of a file to use as the template for
- new commit messages.
-
-commit.verbose::
- A boolean or int to specify the level of verbose with `git commit`.
- See linkgit:git-commit[1].
-
-credential.helper::
- Specify an external helper to be called when a username or
- password credential is needed; the helper may consult external
- storage to avoid prompting the user for the credentials. Note
- that multiple helpers may be defined. See linkgit:gitcredentials[7]
- for details.
+include::config/blame.txt[]
-credential.useHttpPath::
- When acquiring credentials, consider the "path" component of an http
- or https URL to be important. Defaults to false. See
- linkgit:gitcredentials[7] for more information.
-
-credential.username::
- If no username is set for a network authentication, use this username
- by default. See credential.<context>.* below, and
- linkgit:gitcredentials[7].
-
-credential.<url>.*::
- Any of the credential.* options above can be applied selectively to
- some credentials. For example "credential.https://example.com.username"
- would set the default username only for https connections to
- example.com. See linkgit:gitcredentials[7] for details on how URLs are
- matched.
-
-credentialCache.ignoreSIGHUP::
- Tell git-credential-cache--daemon to ignore SIGHUP, instead of quitting.
-
-completion.commands::
- This is only used by git-completion.bash to add or remove
- commands from the list of completed commands. Normally only
- porcelain commands and a few select others are completed. You
- can add more commands, separated by space, in this
- variable. Prefixing the command with '-' will remove it from
- the existing list.
-
-include::diff-config.txt[]
-
-difftool.<tool>.path::
- Override the path for the given tool. This is useful in case
- your tool is not in the PATH.
+include::config/branch.txt[]
-difftool.<tool>.cmd::
- Specify the command to invoke the specified diff tool.
- The specified command is evaluated in shell with the following
- variables available: 'LOCAL' is set to the name of the temporary
- file containing the contents of the diff pre-image and 'REMOTE'
- is set to the name of the temporary file containing the contents
- of the diff post-image.
-
-difftool.prompt::
- Prompt before each invocation of the diff tool.
-
-fastimport.unpackLimit::
- If the number of objects imported by linkgit:git-fast-import[1]
- is below this limit, then the objects will be unpacked into
- loose object files. However if the number of imported objects
- equals or exceeds this limit then the pack will be stored as a
- pack. Storing the pack from a fast-import can make the import
- operation complete faster, especially on slow filesystems. If
- not set, the value of `transfer.unpackLimit` is used instead.
-
-include::fetch-config.txt[]
-
-include::format-config.txt[]
-
-filter.<driver>.clean::
- The command which is used to convert the content of a worktree
- file to a blob upon checkin. See linkgit:gitattributes[5] for
- details.
-
-filter.<driver>.smudge::
- The command which is used to convert the content of a blob
- object to a worktree file upon checkout. See
- linkgit:gitattributes[5] for details.
-
-fsck.<msg-id>::
- During fsck git may find issues with legacy data which
- wouldn't be generated by current versions of git, and which
- wouldn't be sent over the wire if `transfer.fsckObjects` was
- set. This feature is intended to support working with legacy
- repositories containing such data.
-+
-Setting `fsck.<msg-id>` will be picked up by linkgit:git-fsck[1], but
-to accept pushes of such data set `receive.fsck.<msg-id>` instead, or
-to clone or fetch it set `fetch.fsck.<msg-id>`.
-+
-The rest of the documentation discusses `fsck.*` for brevity, but the
-same applies for the corresponding `receive.fsck.*` and
-`fetch.<msg-id>.*`. variables.
-+
-Unlike variables like `color.ui` and `core.editor` the
-`receive.fsck.<msg-id>` and `fetch.fsck.<msg-id>` variables will not
-fall back on the `fsck.<msg-id>` configuration if they aren't set. To
-uniformly configure the same fsck settings in different circumstances
-all three of them they must all set to the same values.
-+
-When `fsck.<msg-id>` is set, errors can be switched to warnings and
-vice versa by configuring the `fsck.<msg-id>` setting where the
-`<msg-id>` is the fsck message ID and the value is one of `error`,
-`warn` or `ignore`. For convenience, fsck prefixes the error/warning
-with the message ID, e.g. "missingEmail: invalid author/committer line
-- missing email" means that setting `fsck.missingEmail = ignore` will
-hide that issue.
-+
-In general, it is better to enumerate existing objects with problems
-with `fsck.skipList`, instead of listing the kind of breakages these
-problematic objects share to be ignored, as doing the latter will
-allow new instances of the same breakages go unnoticed.
-+
-Setting an unknown `fsck.<msg-id>` value will cause fsck to die, but
-doing the same for `receive.fsck.<msg-id>` and `fetch.fsck.<msg-id>`
-will only cause git to warn.
-
-fsck.skipList::
- The path to a list of object names (i.e. one unabbreviated SHA-1 per
- line) that are known to be broken in a non-fatal way and should
- be ignored. On versions of Git 2.20 and later comments ('#'), empty
- lines, and any leading and trailing whitespace is ignored. Everything
- but a SHA-1 per line will error out on older versions.
-+
-This feature is useful when an established project should be accepted
-despite early commits containing errors that can be safely ignored
-such as invalid committer email addresses. Note: corrupt objects
-cannot be skipped with this setting.
-+
-Like `fsck.<msg-id>` this variable has corresponding
-`receive.fsck.skipList` and `fetch.fsck.skipList` variants.
-+
-Unlike variables like `color.ui` and `core.editor` the
-`receive.fsck.skipList` and `fetch.fsck.skipList` variables will not
-fall back on the `fsck.skipList` configuration if they aren't set. To
-uniformly configure the same fsck settings in different circumstances
-all three of them they must all set to the same values.
-+
-Older versions of Git (before 2.20) documented that the object names
-list should be sorted. This was never a requirement, the object names
-could appear in any order, but when reading the list we tracked whether
-the list was sorted for the purposes of an internal binary search
-implementation, which could save itself some work with an already sorted
-list. Unless you had a humongous list there was no reason to go out of
-your way to pre-sort the list. After Git version 2.20 a hash implementation
-is used instead, so there's now no reason to pre-sort the list.
-
-gc.aggressiveDepth::
- The depth parameter used in the delta compression
- algorithm used by 'git gc --aggressive'. This defaults
- to 50.
-
-gc.aggressiveWindow::
- The window size parameter used in the delta compression
- algorithm used by 'git gc --aggressive'. This defaults
- to 250.
-
-gc.auto::
- When there are approximately more than this many loose
- objects in the repository, `git gc --auto` will pack them.
- Some Porcelain commands use this command to perform a
- light-weight garbage collection from time to time. The
- default value is 6700. Setting this to 0 disables it.
-
-gc.autoPackLimit::
- When there are more than this many packs that are not
- marked with `*.keep` file in the repository, `git gc
- --auto` consolidates them into one larger pack. The
- default value is 50. Setting this to 0 disables it.
-
-gc.autoDetach::
- Make `git gc --auto` return immediately and run in background
- if the system supports it. Default is true.
-
-gc.bigPackThreshold::
- If non-zero, all packs larger than this limit are kept when
- `git gc` is run. This is very similar to `--keep-base-pack`
- except that all packs that meet the threshold are kept, not
- just the base pack. Defaults to zero. Common unit suffixes of
- 'k', 'm', or 'g' are supported.
-+
-Note that if the number of kept packs is more than gc.autoPackLimit,
-this configuration variable is ignored, all packs except the base pack
-will be repacked. After this the number of packs should go below
-gc.autoPackLimit and gc.bigPackThreshold should be respected again.
-
-gc.writeCommitGraph::
- If true, then gc will rewrite the commit-graph file when
- linkgit:git-gc[1] is run. When using linkgit:git-gc[1]
- '--auto' the commit-graph will be updated if housekeeping is
- required. Default is false. See linkgit:git-commit-graph[1]
- for details.
+include::config/browser.txt[]
+
+include::config/checkout.txt[]
+
+include::config/clean.txt[]
+
+include::config/color.txt[]
+
+include::config/column.txt[]
+
+include::config/commit.txt[]
+
+include::config/credential.txt[]
+
+include::config/completion.txt[]
+
+include::config/diff.txt[]
+
+include::config/difftool.txt[]
+
+include::config/fastimport.txt[]
+
+include::config/fetch.txt[]
+
+include::config/format.txt[]
+
+include::config/filter.txt[]
+
+include::config/fsck.txt[]
-gc.logExpiry::
- If the file gc.log exists, then `git gc --auto` will print
- its content and exit with status zero instead of running
- unless that file is more than 'gc.logExpiry' old. Default is
- "1.day". See `gc.pruneExpire` for more ways to specify its
- value.
-
-gc.packRefs::
- Running `git pack-refs` in a repository renders it
- unclonable by Git versions prior to 1.5.1.2 over dumb
- transports such as HTTP. This variable determines whether
- 'git gc' runs `git pack-refs`. This can be set to `notbare`
- to enable it within all non-bare repos or it can be set to a
- boolean value. The default is `true`.
-
-gc.pruneExpire::
- When 'git gc' is run, it will call 'prune --expire 2.weeks.ago'.
- Override the grace period with this config variable. The value
- "now" may be used to disable this grace period and always prune
- unreachable objects immediately, or "never" may be used to
- suppress pruning. This feature helps prevent corruption when
- 'git gc' runs concurrently with another process writing to the
- repository; see the "NOTES" section of linkgit:git-gc[1].
-
-gc.worktreePruneExpire::
- When 'git gc' is run, it calls
- 'git worktree prune --expire 3.months.ago'.
- This config variable can be used to set a different grace
- period. The value "now" may be used to disable the grace
- period and prune `$GIT_DIR/worktrees` immediately, or "never"
- may be used to suppress pruning.
-
-gc.reflogExpire::
-gc.<pattern>.reflogExpire::
- 'git reflog expire' removes reflog entries older than
- this time; defaults to 90 days. The value "now" expires all
- entries immediately, and "never" suppresses expiration
- altogether. With "<pattern>" (e.g.
- "refs/stash") in the middle the setting applies only to
- the refs that match the <pattern>.
-
-gc.reflogExpireUnreachable::
-gc.<pattern>.reflogExpireUnreachable::
- 'git reflog expire' removes reflog entries older than
- this time and are not reachable from the current tip;
- defaults to 30 days. The value "now" expires all entries
- immediately, and "never" suppresses expiration altogether.
- With "<pattern>" (e.g. "refs/stash")
- in the middle, the setting applies only to the refs that
- match the <pattern>.
-
-gc.rerereResolved::
- Records of conflicted merge you resolved earlier are
- kept for this many days when 'git rerere gc' is run.
- You can also use more human-readable "1.month.ago", etc.
- The default is 60 days. See linkgit:git-rerere[1].
-
-gc.rerereUnresolved::
- Records of conflicted merge you have not resolved are
- kept for this many days when 'git rerere gc' is run.
- You can also use more human-readable "1.month.ago", etc.
- The default is 15 days. See linkgit:git-rerere[1].
+include::config/gc.txt[]
include::gitcvs-config.txt[]