summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-03-11 15:41:17 -0700
committerJunio C Hamano <gitster@pobox.com>2024-03-11 15:41:17 -0700
commitb47d9c841ffcd228bc7f676414b2e7086beb1550 (patch)
tree09e35794cfc9e417a481a756e62d3201713d4fcb
parentd2c69b605afd8b35f402e2ac9d01d9ee195116e0 (diff)
downloadgit-htmldocs-b47d9c841ffcd228bc7f676414b2e7086beb1550.tar.gz
Autogenerated HTML docs for v2.44.0-191-g945115
-rw-r--r--MyFirstContribution.html2
-rw-r--r--MyFirstObjectWalk.html2
-rw-r--r--RelNotes/2.45.0.txt4
-rw-r--r--ReviewingGuidelines.html2
-rw-r--r--SubmittingPatches.html2
-rw-r--r--ToolsForGit.html2
-rw-r--r--config.txt28
-rw-r--r--everyday.html2
-rw-r--r--git-config.html2478
-rw-r--r--git-remote-helpers.html2
-rw-r--r--gitcli.html8
-rw-r--r--gitcli.txt3
-rw-r--r--howto/coordinate-embargoed-releases.html2
-rw-r--r--howto/keep-canonical-history-correct.html4
-rw-r--r--howto/maintain-git.html4
-rw-r--r--howto/new-command.html4
-rw-r--r--howto/rebase-from-internal-branch.html4
-rw-r--r--howto/rebuild-from-update-hook.html4
-rw-r--r--howto/recover-corrupted-blob-object.html4
-rw-r--r--howto/recover-corrupted-object-harder.html4
-rw-r--r--howto/revert-a-faulty-merge.html4
-rw-r--r--howto/revert-branch-rebase.html4
-rw-r--r--howto/separating-topic-branches.html4
-rw-r--r--howto/setup-git-server-over-http.html4
-rw-r--r--howto/update-hook-example.html4
-rw-r--r--howto/use-git-daemon.html4
-rw-r--r--howto/using-merge-subtree.html4
-rw-r--r--howto/using-signed-tag-in-pull-request.html4
-rw-r--r--technical/api-error-handling.html2
-rw-r--r--technical/api-index.html2
-rw-r--r--technical/api-merge.html2
-rw-r--r--technical/api-parse-options.html2
-rw-r--r--technical/api-simple-ipc.html2
-rw-r--r--technical/api-trace2.html2
-rw-r--r--technical/bitmap-format.html2
-rw-r--r--technical/bundle-uri.html2
-rw-r--r--technical/hash-function-transition.html2
-rw-r--r--technical/long-running-process-protocol.html2
-rw-r--r--technical/multi-pack-index.html2
-rw-r--r--technical/pack-heuristics.html2
-rw-r--r--technical/parallel-checkout.html2
-rw-r--r--technical/partial-clone.html2
-rw-r--r--technical/racy-git.html2
-rw-r--r--technical/scalar.html2
-rw-r--r--technical/send-pack-pipeline.html2
-rw-r--r--technical/shallow.html2
-rw-r--r--technical/trivial-merge.html2
-rw-r--r--technical/unit-tests.html2
-rw-r--r--user-manual.html2
49 files changed, 1317 insertions, 1322 deletions
diff --git a/MyFirstContribution.html b/MyFirstContribution.html
index 4fb5a5a19..5d5794304 100644
--- a/MyFirstContribution.html
+++ b/MyFirstContribution.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>My First Contribution to the Git Project</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/MyFirstObjectWalk.html b/MyFirstObjectWalk.html
index d4d9e8e1c..369da93b0 100644
--- a/MyFirstObjectWalk.html
+++ b/MyFirstObjectWalk.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>My First Object Walk</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/RelNotes/2.45.0.txt b/RelNotes/2.45.0.txt
index c0f9b9e44..2e7593253 100644
--- a/RelNotes/2.45.0.txt
+++ b/RelNotes/2.45.0.txt
@@ -127,6 +127,9 @@ Fixes since v2.44
not advertise the capability, which has been corrected.
(merge a922bfa3b5 jk/upload-pack-v2-capability-cleanup later to maint).
+ * Make sure failure return from merge_bases_many() is properly caught.
+ (merge 25fd20eb44 js/merge-base-with-missing-commit later to maint).
+
* Other code cleanup, docfix, build fix, etc.
(merge f0e578c69c rs/use-xstrncmpz later to maint).
(merge 83e6eb7d7a ba/credential-test-clean-fix later to maint).
@@ -142,3 +145,4 @@ Fixes since v2.44
(merge 9a97b43e03 rs/submodule-prefix-simplify later to maint).
(merge 40b8076462 ak/rebase-autosquash later to maint).
(merge 3223204456 eg/add-uflags later to maint).
+ (merge 5f78d52dce es/config-doc-sort-sections later to maint).
diff --git a/ReviewingGuidelines.html b/ReviewingGuidelines.html
index 4aa5d90ea..e6a0ece11 100644
--- a/ReviewingGuidelines.html
+++ b/ReviewingGuidelines.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Reviewing Patches in the Git Project</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/SubmittingPatches.html b/SubmittingPatches.html
index 3a50e9980..4e68aee89 100644
--- a/SubmittingPatches.html
+++ b/SubmittingPatches.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Submitting Patches</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/ToolsForGit.html b/ToolsForGit.html
index 453d24359..46f659fd2 100644
--- a/ToolsForGit.html
+++ b/ToolsForGit.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Tools for developing Git</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/config.txt b/config.txt
index e3a74dd1c..782c2bab9 100644
--- a/config.txt
+++ b/config.txt
@@ -369,20 +369,18 @@ inventing new variables for use in your own tool, make sure their
names do not conflict with those that are used by Git itself and
other popular tools, and describe them in your documentation.
-include::config/advice.txt[]
-
-include::config/attr.txt[]
-
-include::config/core.txt[]
-
include::config/add.txt[]
+include::config/advice.txt[]
+
include::config/alias.txt[]
include::config/am.txt[]
include::config/apply.txt[]
+include::config/attr.txt[]
+
include::config/blame.txt[]
include::config/branch.txt[]
@@ -405,10 +403,12 @@ include::config/commit.txt[]
include::config/commitgraph.txt[]
-include::config/credential.txt[]
-
include::config/completion.txt[]
+include::config/core.txt[]
+
+include::config/credential.txt[]
+
include::config/diff.txt[]
include::config/difftool.txt[]
@@ -421,10 +421,10 @@ include::config/feature.txt[]
include::config/fetch.txt[]
-include::config/format.txt[]
-
include::config/filter.txt[]
+include::config/format.txt[]
+
include::config/fsck.txt[]
include::config/fsmonitor--daemon.txt[]
@@ -435,10 +435,10 @@ include::config/gitcvs.txt[]
include::config/gitweb.txt[]
-include::config/grep.txt[]
-
include::config/gpg.txt[]
+include::config/grep.txt[]
+
include::config/gui.txt[]
include::config/guitool.txt[]
@@ -519,10 +519,10 @@ include::config/splitindex.txt[]
include::config/ssh.txt[]
-include::config/status.txt[]
-
include::config/stash.txt[]
+include::config/status.txt[]
+
include::config/submodule.txt[]
include::config/tag.txt[]
diff --git a/everyday.html b/everyday.html
index b6b536598..c931df498 100644
--- a/everyday.html
+++ b/everyday.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Everyday Git With 20 Commands Or So</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/git-config.html b/git-config.html
index 7b99b74d6..1a2dc4c6c 100644
--- a/git-config.html
+++ b/git-config.html
@@ -1979,6 +1979,32 @@ names do not conflict with those that are used by Git itself and
other popular tools, and describe them in your documentation.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
+add.ignoreErrors
+</dt>
+<dt class="hdlist1">
+add.ignore-errors (deprecated)
+</dt>
+<dd>
+<p>
+ Tells <em>git add</em> to continue adding files when some files cannot be
+ added due to indexing errors. Equivalent to the <code>--ignore-errors</code>
+ option of <a href="git-add.html">git-add(1)</a>. <code>add.ignore-errors</code> is deprecated,
+ as it does not follow the usual naming convention for configuration
+ variables.
+</p>
+</dd>
+<dt class="hdlist1">
+add.interactive.useBuiltin
+</dt>
+<dd>
+<p>
+ Unused configuration variable. Used in Git versions v2.25.0 to
+ v2.36.0 to enable the built-in version of <a href="git-add.html">git-add(1)</a>'s
+ interactive mode, which then became the default in Git
+ versions v2.37.0 to v2.39.0.
+</p>
+</dd>
+<dt class="hdlist1">
advice.*
</dt>
<dd>
@@ -2361,6 +2387,85 @@ worktreeAddOrphan
</div></div>
</dd>
<dt class="hdlist1">
+alias.*
+</dt>
+<dd>
+<p>
+ Command aliases for the <a href="git.html">git(1)</a> command wrapper - e.g.
+ after defining <code>alias.last = cat-file commit HEAD</code>, the invocation
+ <code>git last</code> is equivalent to <code>git cat-file commit HEAD</code>. 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 are supported.
+ A quote pair or a backslash can be used to quote them.
+</p>
+<div class="paragraph"><p>Note that the first word of an alias does not necessarily have to be a
+command. It can be a command-line option that will be passed into the
+invocation of <code>git</code>. In particular, this is useful when used with <code>-c</code>
+to pass in one-time configurations or <code>-p</code> to force pagination. For example,
+<code>loud-rebase = -c commit.verbose=true rebase</code> can be defined such that
+running <code>git loud-rebase</code> would be equivalent to
+<code>git -c commit.verbose=true rebase</code>. Also, <code>ps = -p status</code> would be a
+helpful alias since <code>git ps</code> would paginate the output of <code>git status</code>
+where the original command does not.</p></div>
+<div class="paragraph"><p>If the alias expansion is prefixed with an exclamation point,
+it will be treated as a shell command. For example, defining
+<code>alias.new = !gitk --all --not ORIG_HEAD</code>, the invocation
+<code>git new</code> is equivalent to running the shell command
+<code>gitk --all --not ORIG_HEAD</code>. Note that shell commands will be
+executed from the top-level directory of a repository, which may
+not necessarily be the current directory.
+<code>GIT_PREFIX</code> is set as returned by running <code>git rev-parse --show-prefix</code>
+from the original current directory. See <a href="git-rev-parse.html">git-rev-parse(1)</a>.</p></div>
+</dd>
+<dt class="hdlist1">
+am.keepcr
+</dt>
+<dd>
+<p>
+ If true, git-am will call git-mailsplit for patches in mbox format
+ with parameter <code>--keep-cr</code>. In this case git-mailsplit will
+ not remove <code>\r</code> from lines ending with <code>\r\n</code>. Can be overridden
+ by giving <code>--no-keep-cr</code> from the command line.
+ See <a href="git-am.html">git-am(1)</a>, <a href="git-mailsplit.html">git-mailsplit(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+am.threeWay
+</dt>
+<dd>
+<p>
+ By default, <code>git am</code> will fail if the patch does not apply cleanly. When
+ set to true, this setting tells <code>git am</code> 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 <code>--3way</code>
+ option from the command line). Defaults to <code>false</code>.
+ See <a href="git-am.html">git-am(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+apply.ignoreWhitespace
+</dt>
+<dd>
+<p>
+ When set to <em>change</em>, tells <em>git apply</em> to ignore changes in
+ whitespace, in the same way as the <code>--ignore-space-change</code>
+ option.
+ When set to one of: no, none, never, false, it tells <em>git apply</em> to
+ respect all whitespace differences.
+ See <a href="git-apply.html">git-apply(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+apply.whitespace
+</dt>
+<dd>
+<p>
+ Tells <em>git apply</em> how to handle whitespace, in the same way
+ as the <code>--whitespace</code> option. See <a href="git-apply.html">git-apply(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
attr.tree
</dt>
<dd>
@@ -2374,6 +2479,1026 @@ attr.tree
</p>
</dd>
<dt class="hdlist1">
+blame.blankBoundary
+</dt>
+<dd>
+<p>
+ Show blank commit object name for boundary commits in
+ <a href="git-blame.html">git-blame(1)</a>. This option defaults to false.
+</p>
+</dd>
+<dt class="hdlist1">
+blame.coloring
+</dt>
+<dd>
+<p>
+ This determines the coloring scheme to be applied to blame
+ output. It can be <em>repeatedLines</em>, <em>highlightRecent</em>,
+ or <em>none</em> which is the default.
+</p>
+</dd>
+<dt class="hdlist1">
+blame.date
+</dt>
+<dd>
+<p>
+ Specifies the format used to output dates in <a href="git-blame.html">git-blame(1)</a>.
+ If unset the iso format is used. For supported values,
+ see the discussion of the <code>--date</code> option at <a href="git-log.html">git-log(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+blame.showEmail
+</dt>
+<dd>
+<p>
+ Show the author email instead of author name in <a href="git-blame.html">git-blame(1)</a>.
+ This option defaults to false.
+</p>
+</dd>
+<dt class="hdlist1">
+blame.showRoot
+</dt>
+<dd>
+<p>
+ Do not treat root commits as boundaries in <a href="git-blame.html">git-blame(1)</a>.
+ This option defaults to false.
+</p>
+</dd>
+<dt class="hdlist1">
+blame.ignoreRevsFile
+</dt>
+<dd>
+<p>
+ Ignore revisions listed in the file, one unabbreviated object name per
+ line, in <a href="git-blame.html">git-blame(1)</a>. Whitespace and comments beginning with
+ <code>#</code> are ignored. This option may be repeated multiple times. Empty
+ file names will reset the list of ignored revisions. This option will
+ be handled before the command line option <code>--ignore-revs-file</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+blame.markUnblamableLines
+</dt>
+<dd>
+<p>
+ Mark lines that were changed by an ignored revision that we could not
+ attribute to another commit with a <em>*</em> in the output of
+ <a href="git-blame.html">git-blame(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+blame.markIgnoredLines
+</dt>
+<dd>
+<p>
+ Mark lines that were changed by an ignored revision that we attributed to
+ another commit with a <em>?</em> in the output of <a href="git-blame.html">git-blame(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+branch.autoSetupMerge
+</dt>
+<dd>
+<p>
+ Tells <em>git branch</em>, <em>git switch</em> and <em>git checkout</em> to set up new branches
+ so that <a href="git-pull.html">git-pull(1)</a> 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 <code>--track</code>
+ and <code>--no-track</code> options. The valid settings are: <code>false</code>&#8201;&#8212;&#8201;no
+ automatic setup is done; <code>true</code>&#8201;&#8212;&#8201;automatic setup is done when the
+ starting point is a remote-tracking branch; <code>always</code>&#8201;&#8212;&#8201; automatic setup is done when the starting point is either a
+ local branch or remote-tracking branch; <code>inherit</code>&#8201;&#8212;&#8201;if the starting point
+ has a tracking configuration, it is copied to the new
+ branch; <code>simple</code>&#8201;&#8212;&#8201;automatic setup is done only when the starting point
+ is a remote-tracking branch and the new branch has the same name as the
+ remote branch. This option defaults to true.
+</p>
+</dd>
+<dt class="hdlist1">
+branch.autoSetupRebase
+</dt>
+<dd>
+<p>
+ When a new branch is created with <em>git branch</em>, <em>git switch</em> or <em>git checkout</em>
+ that tracks another branch, this variable tells Git to set
+ up pull to rebase instead of merge (see "branch.&lt;name&gt;.rebase").
+ When <code>never</code>, rebase is never automatically set to true.
+ When <code>local</code>, rebase is set to true for tracked branches of
+ other local branches.
+ When <code>remote</code>, rebase is set to true for tracked branches of
+ remote-tracking branches.
+ When <code>always</code>, 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.
+</p>
+</dd>
+<dt class="hdlist1">
+branch.sort
+</dt>
+<dd>
+<p>
+ This variable controls the sort ordering of branches when displayed by
+ <a href="git-branch.html">git-branch(1)</a>. Without the "--sort=&lt;value&gt;" option provided, the
+ value of this variable will be used as the default.
+ See <a href="git-for-each-ref.html">git-for-each-ref(1)</a> field names for valid values.
+</p>
+</dd>
+<dt class="hdlist1">
+branch.&lt;name&gt;.remote
+</dt>
+<dd>
+<p>
+ When on branch &lt;name&gt;, it tells <em>git fetch</em> and <em>git push</em>
+ which remote to fetch from or push to. The remote to push to
+ may be overridden with <code>remote.pushDefault</code> (for all branches).
+ The remote to push to, for the current branch, may be further
+ overridden by <code>branch.&lt;name&gt;.pushRemote</code>. If no remote is
+ configured, or if you are not on any branch and there is more than
+ one remote defined in the repository, it defaults to <code>origin</code> for
+ fetching and <code>remote.pushDefault</code> for pushing.
+ Additionally, <code>.</code> (a period) is the current local repository
+ (a dot-repository), see <code>branch.&lt;name&gt;.merge</code>'s final note below.
+</p>
+</dd>
+<dt class="hdlist1">
+branch.&lt;name&gt;.pushRemote
+</dt>
+<dd>
+<p>
+ When on branch &lt;name&gt;, it overrides <code>branch.&lt;name&gt;.remote</code> for
+ pushing. It also overrides <code>remote.pushDefault</code> for pushing
+ from branch &lt;name&gt;. 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 <code>remote.pushDefault</code> to
+ specify the remote to push to for all branches, and use this
+ option to override it for a specific branch.
+</p>
+</dd>
+<dt class="hdlist1">
+branch.&lt;name&gt;.merge
+</dt>
+<dd>
+<p>
+ Defines, together with branch.&lt;name&gt;.remote, the upstream branch
+ for the given branch. It tells <em>git fetch</em>/<em>git pull</em>/<em>git rebase</em> which
+ branch to merge and can also affect <em>git push</em> (see push.default).
+ When in branch &lt;name&gt;, it tells <em>git fetch</em> 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.&lt;name&gt;.remote".
+ The merge information is used by <em>git pull</em> (which first calls
+ <em>git fetch</em>) to lookup the default branch for merging. Without
+ this option, <em>git pull</em> defaults to merge the first refspec fetched.
+ Specify multiple values to get an octopus merge.
+ If you wish to setup <em>git pull</em> so that it merges into &lt;name&gt; from
+ another branch in the local repository, you can point
+ branch.&lt;name&gt;.merge to the desired branch, and use the relative path
+ setting <code>.</code> (a period) for branch.&lt;name&gt;.remote.
+</p>
+</dd>
+<dt class="hdlist1">
+branch.&lt;name&gt;.mergeOptions
+</dt>
+<dd>
+<p>
+ Sets default options for merging into branch &lt;name&gt;. The syntax and
+ supported options are the same as those of <a href="git-merge.html">git-merge(1)</a>, but
+ option values containing whitespace characters are currently not
+ supported.
+</p>
+</dd>
+<dt class="hdlist1">
+branch.&lt;name&gt;.rebase
+</dt>
+<dd>
+<p>
+ When true, rebase the branch &lt;name&gt; 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.
+</p>
+<div class="paragraph"><p>When <code>merges</code> (or just <em>m</em>), pass the <code>--rebase-merges</code> option to <em>git rebase</em>
+so that the local merge commits are included in the rebase (see
+<a href="git-rebase.html">git-rebase(1)</a> for details).</p></div>
+<div class="paragraph"><p>When the value is <code>interactive</code> (or just <em>i</em>), the rebase is run in interactive
+mode.</p></div>
+<div class="paragraph"><p><strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use
+it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a>
+for details).</p></div>
+</dd>
+<dt class="hdlist1">
+branch.&lt;name&gt;.description
+</dt>
+<dd>
+<p>
+ Branch description, can be edited with
+ <code>git branch --edit-description</code>. Branch description is
+ automatically added to the format-patch cover letter or
+ request-pull summary.
+</p>
+</dd>
+<dt class="hdlist1">
+browser.&lt;tool&gt;.cmd
+</dt>
+<dd>
+<p>
+ Specify the command to invoke the specified browser. The
+ specified command is evaluated in shell with the URLs passed
+ as arguments. (See <a href="git-web&#45;&#45;browse.html">git-web&#45;&#45;browse(1)</a>.)
+</p>
+</dd>
+<dt class="hdlist1">
+browser.&lt;tool&gt;.path
+</dt>
+<dd>
+<p>
+ Override the path for the given tool that may be used to
+ browse HTML help (see <code>-w</code> option in <a href="git-help.html">git-help(1)</a>) or a
+ working repository in gitweb (see <a href="git-instaweb.html">git-instaweb(1)</a>).
+</p>
+</dd>
+<dt class="hdlist1">
+bundle.*
+</dt>
+<dd>
+<p>
+ The <code>bundle.*</code> keys may appear in a bundle list file found via the
+ <code>git clone --bundle-uri</code> option. These keys currently have no effect
+ if placed in a repository config file, though this will change in the
+ future. See <a href="technical/bundle-uri.html">the bundle URI design
+ document</a> for more details.
+</p>
+</dd>
+<dt class="hdlist1">
+bundle.version
+</dt>
+<dd>
+<p>
+ This integer value advertises the version of the bundle list format
+ used by the bundle list. Currently, the only accepted value is <code>1</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+bundle.mode
+</dt>
+<dd>
+<p>
+ This string value should be either <code>all</code> or <code>any</code>. This value describes
+ whether all of the advertised bundles are required to unbundle a
+ complete understanding of the bundled information (<code>all</code>) or if any one
+ of the listed bundle URIs is sufficient (<code>any</code>).
+</p>
+</dd>
+<dt class="hdlist1">
+bundle.heuristic
+</dt>
+<dd>
+<p>
+ If this string-valued key exists, then the bundle list is designed to
+ work well with incremental <code>git fetch</code> commands. The heuristic signals
+ that there are additional keys available for each bundle that help
+ determine which subset of bundles the client should download. The
+ only value currently understood is <code>creationToken</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+bundle.&lt;id&gt;.*
+</dt>
+<dd>
+<p>
+ The <code>bundle.&lt;id&gt;.*</code> keys are used to describe a single item in the
+ bundle list, grouped under <code>&lt;id&gt;</code> for identification purposes.
+</p>
+</dd>
+<dt class="hdlist1">
+bundle.&lt;id&gt;.uri
+</dt>
+<dd>
+<p>
+ This string value defines the URI by which Git can reach the contents
+ of this <code>&lt;id&gt;</code>. This URI may be a bundle file or another bundle list.
+</p>
+</dd>
+<dt class="hdlist1">
+checkout.defaultRemote
+</dt>
+<dd>
+<p>
+ When you run <code>git checkout &lt;something&gt;</code>
+ or <code>git switch &lt;something&gt;</code> and only have one
+ remote, it may implicitly fall back on checking out and
+ tracking e.g. <code>origin/&lt;something&gt;</code>. This stops working as soon
+ as you have more than one remote with a <code>&lt;something&gt;</code>
+ 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
+ <code>origin</code>.
+</p>
+<div class="paragraph"><p>Currently this is used by <a href="git-switch.html">git-switch(1)</a> and
+<a href="git-checkout.html">git-checkout(1)</a> when <code>git checkout &lt;something&gt;</code>
+or <code>git switch &lt;something&gt;</code>
+will checkout the <code>&lt;something&gt;</code> branch on another remote,
+and by <a href="git-worktree.html">git-worktree(1)</a> when <code>git worktree add</code> refers to a
+remote branch. This setting might be used for other checkout-like
+commands or functionality in the future.</p></div>
+</dd>
+<dt class="hdlist1">
+checkout.guess
+</dt>
+<dd>
+<p>
+ Provides the default value for the <code>--guess</code> or <code>--no-guess</code>
+ option in <code>git checkout</code> and <code>git switch</code>. See
+ <a href="git-switch.html">git-switch(1)</a> and <a href="git-checkout.html">git-checkout(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+checkout.workers
+</dt>
+<dd>
+<p>
+ The number of parallel workers to use when updating the working tree.
+ The default is one, i.e. sequential execution. If set to a value less
+ than one, Git will use as many workers as the number of logical cores
+ available. This setting and <code>checkout.thresholdForParallelism</code> affect
+ all commands that perform checkout. E.g. checkout, clone, reset,
+ sparse-checkout, etc.
+</p>
+<div class="paragraph"><p>Note: Parallel checkout usually delivers better performance for repositories
+located on SSDs or over NFS. For repositories on spinning disks and/or machines
+with a small number of cores, the default sequential checkout often performs
+better. The size and compression level of a repository might also influence how
+well the parallel version performs.</p></div>
+</dd>
+<dt class="hdlist1">
+checkout.thresholdForParallelism
+</dt>
+<dd>
+<p>
+ When running parallel checkout with a small number of files, the cost
+ of subprocess spawning and inter-process communication might outweigh
+ the parallelization gains. This setting allows you to define the minimum
+ number of files for which parallel checkout should be attempted. The
+ default is 100.
+</p>
+</dd>
+<dt class="hdlist1">
+clean.requireForce
+</dt>
+<dd>
+<p>
+ A boolean to make git-clean do nothing unless given -f,
+ -i, or -n. Defaults to true.
+</p>
+</dd>
+<dt class="hdlist1">
+clone.defaultRemoteName
+</dt>
+<dd>
+<p>
+ The name of the remote to create when cloning a repository. Defaults to
+ <code>origin</code>, and can be overridden by passing the <code>--origin</code> command-line
+ option to <a href="git-clone.html">git-clone(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+clone.rejectShallow
+</dt>
+<dd>
+<p>
+ Reject cloning a repository if it is a shallow one; this can be overridden by
+ passing the <code>--reject-shallow</code> option on the command line. See <a href="git-clone.html">git-clone(1)</a>
+</p>
+</dd>
+<dt class="hdlist1">
+clone.filterSubmodules
+</dt>
+<dd>
+<p>
+ If a partial clone filter is provided (see <code>--filter</code> in
+ <a href="git-rev-list.html">git-rev-list(1)</a>) and <code>--recurse-submodules</code> is used, also apply
+ the filter to submodules.
+</p>
+</dd>
+<dt class="hdlist1">
+color.advice
+</dt>
+<dd>
+<p>
+ A boolean to enable/disable color in hints (e.g. when a push
+ failed, see <code>advice.*</code> for a list). May be set to <code>always</code>,
+ <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors
+ are used only when the error output goes to a terminal. If
+ unset, then the value of <code>color.ui</code> is used (<code>auto</code> by default).
+</p>
+</dd>
+<dt class="hdlist1">
+color.advice.hint
+</dt>
+<dd>
+<p>
+ Use customized color for hints.
+</p>
+</dd>
+<dt class="hdlist1">
+color.blame.highlightRecent
+</dt>
+<dd>
+<p>
+ Specify the line annotation color for <code>git blame --color-by-age</code>
+ depending upon the age of the line.
+</p>
+<div class="paragraph"><p>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 with the
+specified colors if the line was introduced before the given
+timestamp, overwriting older timestamped colors.</p></div>
+<div class="paragraph"><p>Instead of an absolute timestamp relative timestamps work as well,
+e.g. <code>2.weeks.ago</code> is valid to address anything older than 2 weeks.</p></div>
+<div class="paragraph"><p>It defaults to <code>blue,12 month ago,white,1 month ago,red</code>, 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.</p></div>
+</dd>
+<dt class="hdlist1">
+color.blame.repeatedLines
+</dt>
+<dd>
+<p>
+ Use the specified color to colorize line annotations for
+ <code>git blame --color-lines</code>, if they come from the same commit as the
+ preceding line. Defaults to cyan.
+</p>
+</dd>
+<dt class="hdlist1">
+color.branch
+</dt>
+<dd>
+<p>
+ A boolean to enable/disable color in the output of
+ <a href="git-branch.html">git-branch(1)</a>. May be set to <code>always</code>,
+ <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used
+ only when the output is to a terminal. If unset, then the
+ value of <code>color.ui</code> is used (<code>auto</code> by default).
+</p>
+</dd>
+<dt class="hdlist1">
+color.branch.&lt;slot&gt;
+</dt>
+<dd>
+<p>
+ Use customized color for branch coloration. <code>&lt;slot&gt;</code> is one of
+ <code>current</code> (the current branch), <code>local</code> (a local branch),
+ <code>remote</code> (a remote-tracking branch in refs/remotes/),
+ <code>upstream</code> (upstream tracking branch), <code>plain</code> (other
+ refs).
+</p>
+</dd>
+<dt class="hdlist1">
+color.diff
+</dt>
+<dd>
+<p>
+ Whether to use ANSI escape sequences to add color to patches.
+ If this is set to <code>always</code>, <a href="git-diff.html">git-diff(1)</a>,
+ <a href="git-log.html">git-log(1)</a>, and <a href="git-show.html">git-show(1)</a> will use color
+ for all patches. If it is set to <code>true</code> or <code>auto</code>, those
+ commands will only use color when output is to the terminal.
+ If unset, then the value of <code>color.ui</code> is used (<code>auto</code> by
+ default).
+</p>
+<div class="paragraph"><p>This does not affect <a href="git-format-patch.html">git-format-patch(1)</a> or the
+<em>git-diff-&#42;</em> plumbing commands. Can be overridden on the
+command line with the <code>--color[=&lt;when&gt;]</code> option.</p></div>
+</dd>
+<dt class="hdlist1">
+color.diff.&lt;slot&gt;
+</dt>
+<dd>
+<p>
+ Use customized color for diff colorization. <code>&lt;slot&gt;</code> specifies
+ which part of the patch to use the specified color, and is one
+ of <code>context</code> (context text - <code>plain</code> is a historical synonym),
+ <code>meta</code> (metainformation), <code>frag</code>
+ (hunk header), <em>func</em> (function in hunk header), <code>old</code> (removed lines),
+ <code>new</code> (added lines), <code>commit</code> (commit headers), <code>whitespace</code>
+ (highlighting whitespace errors), <code>oldMoved</code> (deleted lines),
+ <code>newMoved</code> (added lines), <code>oldMovedDimmed</code>, <code>oldMovedAlternative</code>,
+ <code>oldMovedAlternativeDimmed</code>, <code>newMovedDimmed</code>, <code>newMovedAlternative</code>
+ <code>newMovedAlternativeDimmed</code> (See the <em>&lt;mode&gt;</em>
+ setting of <em>--color-moved</em> in <a href="git-diff.html">git-diff(1)</a> for details),
+ <code>contextDimmed</code>, <code>oldDimmed</code>, <code>newDimmed</code>, <code>contextBold</code>,
+ <code>oldBold</code>, and <code>newBold</code> (see <a href="git-range-diff.html">git-range-diff(1)</a> for details).
+</p>
+</dd>
+<dt class="hdlist1">
+color.decorate.&lt;slot&gt;
+</dt>
+<dd>
+<p>
+ Use customized color for <em>git log --decorate</em> output. <code>&lt;slot&gt;</code> is one
+ of <code>branch</code>, <code>remoteBranch</code>, <code>tag</code>, <code>stash</code> or <code>HEAD</code> for local
+ branches, remote-tracking branches, tags, stash and HEAD, respectively
+ and <code>grafted</code> for grafted commits.
+</p>
+</dd>
+<dt class="hdlist1">
+color.grep
+</dt>
+<dd>
+<p>
+ When set to <code>always</code>, always highlight matches. When <code>false</code> (or
+ <code>never</code>), never. When set to <code>true</code> or <code>auto</code>, use color only
+ when the output is written to the terminal. If unset, then the
+ value of <code>color.ui</code> is used (<code>auto</code> by default).
+</p>
+</dd>
+<dt class="hdlist1">
+color.grep.&lt;slot&gt;
+</dt>
+<dd>
+<p>
+ Use customized color for grep colorization. <code>&lt;slot&gt;</code> specifies which
+ part of the line to use the specified color, and is one of
+</p>
+<div class="openblock">
+<div class="content">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>context</code>
+</dt>
+<dd>
+<p>
+ non-matching text in context lines (when using <code>-A</code>, <code>-B</code>, or <code>-C</code>)
+</p>
+</dd>
+<dt class="hdlist1">
+<code>filename</code>
+</dt>
+<dd>
+<p>
+ filename prefix (when not using <code>-h</code>)
+</p>
+</dd>
+<dt class="hdlist1">
+<code>function</code>
+</dt>
+<dd>
+<p>
+ function name lines (when using <code>-p</code>)
+</p>
+</dd>
+<dt class="hdlist1">
+<code>lineNumber</code>
+</dt>
+<dd>
+<p>
+ line number prefix (when using <code>-n</code>)
+</p>
+</dd>
+<dt class="hdlist1">
+<code>column</code>
+</dt>
+<dd>
+<p>
+ column number prefix (when using <code>--column</code>)
+</p>
+</dd>
+<dt class="hdlist1">
+<code>match</code>
+</dt>
+<dd>
+<p>
+ matching text (same as setting <code>matchContext</code> and <code>matchSelected</code>)
+</p>
+</dd>
+<dt class="hdlist1">
+<code>matchContext</code>
+</dt>
+<dd>
+<p>
+ matching text in context lines
+</p>
+</dd>
+<dt class="hdlist1">
+<code>matchSelected</code>
+</dt>
+<dd>
+<p>
+ matching text in selected lines. Also, used to customize the following
+ <a href="git-log.html">git-log(1)</a> subcommands: <code>--grep</code>, <code>--author</code>, and <code>--committer</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>selected</code>
+</dt>
+<dd>
+<p>
+ non-matching text in selected lines. Also, used to customize the
+ following <a href="git-log.html">git-log(1)</a> subcommands: <code>--grep</code>, <code>--author</code> and
+ <code>--committer</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>separator</code>
+</dt>
+<dd>
+<p>
+ separators between fields on a line (<code>:</code>, <code>-</code>, and <code>=</code>)
+ and between hunks (<code>--</code>)
+</p>
+</dd>
+</dl></div>
+</div></div>
+</dd>
+<dt class="hdlist1">
+color.interactive
+</dt>
+<dd>
+<p>
+ When set to <code>always</code>, always use colors for interactive prompts
+ and displays (such as those used by "git-add --interactive" and
+ "git-clean --interactive"). When false (or <code>never</code>), never.
+ When set to <code>true</code> or <code>auto</code>, use colors only when the output is
+ to the terminal. If unset, then the value of <code>color.ui</code> is
+ used (<code>auto</code> by default).
+</p>
+</dd>
+<dt class="hdlist1">
+color.interactive.&lt;slot&gt;
+</dt>
+<dd>
+<p>
+ Use customized color for <em>git add --interactive</em> and <em>git clean
+ --interactive</em> output. <code>&lt;slot&gt;</code> may be <code>prompt</code>, <code>header</code>, <code>help</code>
+ or <code>error</code>, for four distinct types of normal output from
+ interactive commands.
+</p>
+</dd>
+<dt class="hdlist1">
+color.pager
+</dt>
+<dd>
+<p>
+ A boolean to specify whether <code>auto</code> color modes should colorize
+ output going to the pager. Defaults to true; set this to false
+ if your pager does not understand ANSI color codes.
+</p>
+</dd>
+<dt class="hdlist1">
+color.push
+</dt>
+<dd>
+<p>
+ A boolean to enable/disable color in push errors. May be set to
+ <code>always</code>, <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which
+ case colors are used only when the error output goes to a terminal.
+ If unset, then the value of <code>color.ui</code> is used (<code>auto</code> by default).
+</p>
+</dd>
+<dt class="hdlist1">
+color.push.error
+</dt>
+<dd>
+<p>
+ Use customized color for push errors.
+</p>
+</dd>
+<dt class="hdlist1">
+color.remote
+</dt>
+<dd>
+<p>
+ 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 <code>always</code>, <code>false</code> (or
+ <code>never</code>) or <code>auto</code> (or <code>true</code>). If unset, then the value of
+ <code>color.ui</code> is used (<code>auto</code> by default).
+</p>
+</dd>
+<dt class="hdlist1">
+color.remote.&lt;slot&gt;
+</dt>
+<dd>
+<p>
+ Use customized color for each remote keyword. <code>&lt;slot&gt;</code> may be
+ <code>hint</code>, <code>warning</code>, <code>success</code> or <code>error</code> which match the
+ corresponding keyword.
+</p>
+</dd>
+<dt class="hdlist1">
+color.showBranch
+</dt>
+<dd>
+<p>
+ A boolean to enable/disable color in the output of
+ <a href="git-show-branch.html">git-show-branch(1)</a>. May be set to <code>always</code>,
+ <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used
+ only when the output is to a terminal. If unset, then the
+ value of <code>color.ui</code> is used (<code>auto</code> by default).
+</p>
+</dd>
+<dt class="hdlist1">
+color.status
+</dt>
+<dd>
+<p>
+ A boolean to enable/disable color in the output of
+ <a href="git-status.html">git-status(1)</a>. May be set to <code>always</code>,
+ <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used
+ only when the output is to a terminal. If unset, then the
+ value of <code>color.ui</code> is used (<code>auto</code> by default).
+</p>
+</dd>
+<dt class="hdlist1">
+color.status.&lt;slot&gt;
+</dt>
+<dd>
+<p>
+ Use customized color for status colorization. <code>&lt;slot&gt;</code> is
+ one of <code>header</code> (the header text of the status message),
+ <code>added</code> or <code>updated</code> (files which are added but not committed),
+ <code>changed</code> (files which are changed but not added in the index),
+ <code>untracked</code> (files which are not tracked by Git),
+ <code>branch</code> (the current branch),
+ <code>nobranch</code> (the color the <em>no branch</em> warning is shown in, defaulting
+ to red),
+ <code>localBranch</code> or <code>remoteBranch</code> (the local and remote branch names,
+ respectively, when branch and tracking information is displayed in the
+ status short-format), or
+ <code>unmerged</code> (files which have unmerged changes).
+</p>
+</dd>
+<dt class="hdlist1">
+color.transport
+</dt>
+<dd>
+<p>
+ A boolean to enable/disable color when pushes are rejected. May be
+ set to <code>always</code>, <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which
+ case colors are used only when the error output goes to a terminal.
+ If unset, then the value of <code>color.ui</code> is used (<code>auto</code> by default).
+</p>
+</dd>
+<dt class="hdlist1">
+color.transport.rejected
+</dt>
+<dd>
+<p>
+ Use customized color when a push was rejected.
+</p>
+</dd>
+<dt class="hdlist1">
+color.ui
+</dt>
+<dd>
+<p>
+ This variable determines the default value for variables such
+ as <code>color.diff</code> and <code>color.grep</code> that control the use of color
+ per command family. Its scope will expand as more commands learn
+ configuration to set a default for the <code>--color</code> option. Set it
+ to <code>false</code> or <code>never</code> if you prefer Git commands not to use
+ color unless enabled explicitly with some other configuration
+ or the <code>--color</code> option. Set it to <code>always</code> if you want all
+ output not intended for machine consumption to use color, to
+ <code>true</code> or <code>auto</code> (this is the default since Git 1.8.4) if you
+ want such output to use color when written to the terminal.
+</p>
+</dd>
+<dt class="hdlist1">
+column.ui
+</dt>
+<dd>
+<p>
+ Specify whether supported commands should output in columns.
+ This variable consists of a list of tokens separated by spaces
+ or commas:
+</p>
+<div class="paragraph"><p>These options control when the feature should be enabled
+(defaults to <em>never</em>):</p></div>
+<div class="openblock">
+<div class="content">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>always</code>
+</dt>
+<dd>
+<p>
+ always show in columns
+</p>
+</dd>
+<dt class="hdlist1">
+<code>never</code>
+</dt>
+<dd>
+<p>
+ never show in columns
+</p>
+</dd>
+<dt class="hdlist1">
+<code>auto</code>
+</dt>
+<dd>
+<p>
+ show in columns if the output is to the terminal
+</p>
+</dd>
+</dl></div>
+</div></div>
+<div class="paragraph"><p>These options control layout (defaults to <em>column</em>). Setting any
+of these implies <em>always</em> if none of <em>always</em>, <em>never</em>, or <em>auto</em> are
+specified.</p></div>
+<div class="openblock">
+<div class="content">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>column</code>
+</dt>
+<dd>
+<p>
+ fill columns before rows
+</p>
+</dd>
+<dt class="hdlist1">
+<code>row</code>
+</dt>
+<dd>
+<p>
+ fill rows before columns
+</p>
+</dd>
+<dt class="hdlist1">
+<code>plain</code>
+</dt>
+<dd>
+<p>
+ show in one column
+</p>
+</dd>
+</dl></div>
+</div></div>
+<div class="paragraph"><p>Finally, these options can be combined with a layout option (defaults
+to <em>nodense</em>):</p></div>
+<div class="openblock">
+<div class="content">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>dense</code>
+</dt>
+<dd>
+<p>
+ make unequal size columns to utilize more space
+</p>
+</dd>
+<dt class="hdlist1">
+<code>nodense</code>
+</dt>
+<dd>
+<p>
+ make equal size columns
+</p>
+</dd>
+</dl></div>
+</div></div>
+</dd>
+<dt class="hdlist1">
+column.branch
+</dt>
+<dd>
+<p>
+ Specify whether to output branch listing in <code>git branch</code> in columns.
+ See <code>column.ui</code> for details.
+</p>
+</dd>
+<dt class="hdlist1">
+column.clean
+</dt>
+<dd>
+<p>
+ Specify the layout when listing items in <code>git clean -i</code>, which always
+ shows files and directories in columns. See <code>column.ui</code> for details.
+</p>
+</dd>
+<dt class="hdlist1">
+column.status
+</dt>
+<dd>
+<p>
+ Specify whether to output untracked files in <code>git status</code> in columns.
+ See <code>column.ui</code> for details.
+</p>
+</dd>
+<dt class="hdlist1">
+column.tag
+</dt>
+<dd>
+<p>
+ Specify whether to output tag listings in <code>git tag</code> in columns.
+ See <code>column.ui</code> for details.
+</p>
+</dd>
+<dt class="hdlist1">
+commit.cleanup
+</dt>
+<dd>
+<p>
+ This setting overrides the default of the <code>--cleanup</code> option in
+ <code>git commit</code>. See <a href="git-commit.html">git-commit(1)</a> for details. Changing the
+ default can be useful when you always want to keep lines that begin
+ with the comment character <code>#</code> in your log message, in which case you
+ would do <code>git config commit.cleanup whitespace</code> (note that you will
+ have to remove the help lines that begin with <code>#</code> in the commit log
+ template yourself, if you do this).
+</p>
+</dd>
+<dt class="hdlist1">
+commit.gpgSign
+</dt>
+<dd>
+<p>
+ 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.
+</p>
+</dd>
+<dt class="hdlist1">
+commit.status
+</dt>
+<dd>
+<p>
+ 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.
+</p>
+</dd>
+<dt class="hdlist1">
+commit.template
+</dt>
+<dd>
+<p>
+ Specify the pathname of a file to use as the template for
+ new commit messages.
+</p>
+</dd>
+<dt class="hdlist1">
+commit.verbose
+</dt>
+<dd>
+<p>
+ A boolean or int to specify the level of verbosity with <code>git commit</code>.
+ See <a href="git-commit.html">git-commit(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+commitGraph.generationVersion
+</dt>
+<dd>
+<p>
+ Specifies the type of generation number version to use when writing
+ or reading the commit-graph file. If version 1 is specified, then
+ the corrected commit dates will not be written or read. Defaults to
+ 2.
+</p>
+</dd>
+<dt class="hdlist1">
+commitGraph.maxNewFilters
+</dt>
+<dd>
+<p>
+ Specifies the default value for the <code>--max-new-filters</code> option of <code>git
+ commit-graph write</code> (c.f., <a href="git-commit-graph.html">git-commit-graph(1)</a>).
+</p>
+</dd>
+<dt class="hdlist1">
+commitGraph.readChangedPaths
+</dt>
+<dd>
+<p>
+ If true, then git will use the changed-path Bloom filters in the
+ commit-graph file (if it exists, and they are present). Defaults to
+ true. See <a href="git-commit-graph.html">git-commit-graph(1)</a> for more information.
+</p>
+</dd>
+<dt class="hdlist1">
+completion.commands
+</dt>
+<dd>
+<p>
+ 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 <em>-</em> will remove it from
+ the existing list.
+</p>
+</dd>
+<dt class="hdlist1">
core.fileMode
</dt>
<dd>
@@ -3484,1118 +4609,6 @@ core.maxTreeDepth
</p>
</dd>
<dt class="hdlist1">
-add.ignoreErrors
-</dt>
-<dt class="hdlist1">
-add.ignore-errors (deprecated)
-</dt>
-<dd>
-<p>
- Tells <em>git add</em> to continue adding files when some files cannot be
- added due to indexing errors. Equivalent to the <code>--ignore-errors</code>
- option of <a href="git-add.html">git-add(1)</a>. <code>add.ignore-errors</code> is deprecated,
- as it does not follow the usual naming convention for configuration
- variables.
-</p>
-</dd>
-<dt class="hdlist1">
-add.interactive.useBuiltin
-</dt>
-<dd>
-<p>
- Unused configuration variable. Used in Git versions v2.25.0 to
- v2.36.0 to enable the built-in version of <a href="git-add.html">git-add(1)</a>'s
- interactive mode, which then became the default in Git
- versions v2.37.0 to v2.39.0.
-</p>
-</dd>
-<dt class="hdlist1">
-alias.*
-</dt>
-<dd>
-<p>
- Command aliases for the <a href="git.html">git(1)</a> command wrapper - e.g.
- after defining <code>alias.last = cat-file commit HEAD</code>, the invocation
- <code>git last</code> is equivalent to <code>git cat-file commit HEAD</code>. 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 are supported.
- A quote pair or a backslash can be used to quote them.
-</p>
-<div class="paragraph"><p>Note that the first word of an alias does not necessarily have to be a
-command. It can be a command-line option that will be passed into the
-invocation of <code>git</code>. In particular, this is useful when used with <code>-c</code>
-to pass in one-time configurations or <code>-p</code> to force pagination. For example,
-<code>loud-rebase = -c commit.verbose=true rebase</code> can be defined such that
-running <code>git loud-rebase</code> would be equivalent to
-<code>git -c commit.verbose=true rebase</code>. Also, <code>ps = -p status</code> would be a
-helpful alias since <code>git ps</code> would paginate the output of <code>git status</code>
-where the original command does not.</p></div>
-<div class="paragraph"><p>If the alias expansion is prefixed with an exclamation point,
-it will be treated as a shell command. For example, defining
-<code>alias.new = !gitk --all --not ORIG_HEAD</code>, the invocation
-<code>git new</code> is equivalent to running the shell command
-<code>gitk --all --not ORIG_HEAD</code>. Note that shell commands will be
-executed from the top-level directory of a repository, which may
-not necessarily be the current directory.
-<code>GIT_PREFIX</code> is set as returned by running <code>git rev-parse --show-prefix</code>
-from the original current directory. See <a href="git-rev-parse.html">git-rev-parse(1)</a>.</p></div>
-</dd>
-<dt class="hdlist1">
-am.keepcr
-</dt>
-<dd>
-<p>
- If true, git-am will call git-mailsplit for patches in mbox format
- with parameter <code>--keep-cr</code>. In this case git-mailsplit will
- not remove <code>\r</code> from lines ending with <code>\r\n</code>. Can be overridden
- by giving <code>--no-keep-cr</code> from the command line.
- See <a href="git-am.html">git-am(1)</a>, <a href="git-mailsplit.html">git-mailsplit(1)</a>.
-</p>
-</dd>
-<dt class="hdlist1">
-am.threeWay
-</dt>
-<dd>
-<p>
- By default, <code>git am</code> will fail if the patch does not apply cleanly. When
- set to true, this setting tells <code>git am</code> 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 <code>--3way</code>
- option from the command line). Defaults to <code>false</code>.
- See <a href="git-am.html">git-am(1)</a>.
-</p>
-</dd>
-<dt class="hdlist1">
-apply.ignoreWhitespace
-</dt>
-<dd>
-<p>
- When set to <em>change</em>, tells <em>git apply</em> to ignore changes in
- whitespace, in the same way as the <code>--ignore-space-change</code>
- option.
- When set to one of: no, none, never, false, it tells <em>git apply</em> to
- respect all whitespace differences.
- See <a href="git-apply.html">git-apply(1)</a>.
-</p>
-</dd>
-<dt class="hdlist1">
-apply.whitespace
-</dt>
-<dd>
-<p>
- Tells <em>git apply</em> how to handle whitespace, in the same way
- as the <code>--whitespace</code> option. See <a href="git-apply.html">git-apply(1)</a>.
-</p>
-</dd>
-<dt class="hdlist1">
-blame.blankBoundary
-</dt>
-<dd>
-<p>
- Show blank commit object name for boundary commits in
- <a href="git-blame.html">git-blame(1)</a>. This option defaults to false.
-</p>
-</dd>
-<dt class="hdlist1">
-blame.coloring
-</dt>
-<dd>
-<p>
- This determines the coloring scheme to be applied to blame
- output. It can be <em>repeatedLines</em>, <em>highlightRecent</em>,
- or <em>none</em> which is the default.
-</p>
-</dd>
-<dt class="hdlist1">
-blame.date
-</dt>
-<dd>
-<p>
- Specifies the format used to output dates in <a href="git-blame.html">git-blame(1)</a>.
- If unset the iso format is used. For supported values,
- see the discussion of the <code>--date</code> option at <a href="git-log.html">git-log(1)</a>.
-</p>
-</dd>
-<dt class="hdlist1">
-blame.showEmail
-</dt>
-<dd>
-<p>
- Show the author email instead of author name in <a href="git-blame.html">git-blame(1)</a>.
- This option defaults to false.
-</p>
-</dd>
-<dt class="hdlist1">
-blame.showRoot
-</dt>
-<dd>
-<p>
- Do not treat root commits as boundaries in <a href="git-blame.html">git-blame(1)</a>.
- This option defaults to false.
-</p>
-</dd>
-<dt class="hdlist1">
-blame.ignoreRevsFile
-</dt>
-<dd>
-<p>
- Ignore revisions listed in the file, one unabbreviated object name per
- line, in <a href="git-blame.html">git-blame(1)</a>. Whitespace and comments beginning with
- <code>#</code> are ignored. This option may be repeated multiple times. Empty
- file names will reset the list of ignored revisions. This option will
- be handled before the command line option <code>--ignore-revs-file</code>.
-</p>
-</dd>
-<dt class="hdlist1">
-blame.markUnblamableLines
-</dt>
-<dd>
-<p>
- Mark lines that were changed by an ignored revision that we could not
- attribute to another commit with a <em>*</em> in the output of
- <a href="git-blame.html">git-blame(1)</a>.
-</p>
-</dd>
-<dt class="hdlist1">
-blame.markIgnoredLines
-</dt>
-<dd>
-<p>
- Mark lines that were changed by an ignored revision that we attributed to
- another commit with a <em>?</em> in the output of <a href="git-blame.html">git-blame(1)</a>.
-</p>
-</dd>
-<dt class="hdlist1">
-branch.autoSetupMerge
-</dt>
-<dd>
-<p>
- Tells <em>git branch</em>, <em>git switch</em> and <em>git checkout</em> to set up new branches
- so that <a href="git-pull.html">git-pull(1)</a> 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 <code>--track</code>
- and <code>--no-track</code> options. The valid settings are: <code>false</code>&#8201;&#8212;&#8201;no
- automatic setup is done; <code>true</code>&#8201;&#8212;&#8201;automatic setup is done when the
- starting point is a remote-tracking branch; <code>always</code>&#8201;&#8212;&#8201; automatic setup is done when the starting point is either a
- local branch or remote-tracking branch; <code>inherit</code>&#8201;&#8212;&#8201;if the starting point
- has a tracking configuration, it is copied to the new
- branch; <code>simple</code>&#8201;&#8212;&#8201;automatic setup is done only when the starting point
- is a remote-tracking branch and the new branch has the same name as the
- remote branch. This option defaults to true.
-</p>
-</dd>
-<dt class="hdlist1">
-branch.autoSetupRebase
-</dt>
-<dd>
-<p>
- When a new branch is created with <em>git branch</em>, <em>git switch</em> or <em>git checkout</em>
- that tracks another branch, this variable tells Git to set
- up pull to rebase instead of merge (see "branch.&lt;name&gt;.rebase").
- When <code>never</code>, rebase is never automatically set to true.
- When <code>local</code>, rebase is set to true for tracked branches of
- other local branches.
- When <code>remote</code>, rebase is set to true for tracked branches of
- remote-tracking branches.
- When <code>always</code>, 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.
-</p>
-</dd>
-<dt class="hdlist1">
-branch.sort
-</dt>
-<dd>
-<p>
- This variable controls the sort ordering of branches when displayed by
- <a href="git-branch.html">git-branch(1)</a>. Without the "--sort=&lt;value&gt;" option provided, the
- value of this variable will be used as the default.
- See <a href="git-for-each-ref.html">git-for-each-ref(1)</a> field names for valid values.
-</p>
-</dd>
-<dt class="hdlist1">
-branch.&lt;name&gt;.remote
-</dt>
-<dd>
-<p>
- When on branch &lt;name&gt;, it tells <em>git fetch</em> and <em>git push</em>
- which remote to fetch from or push to. The remote to push to
- may be overridden with <code>remote.pushDefault</code> (for all branches).
- The remote to push to, for the current branch, may be further
- overridden by <code>branch.&lt;name&gt;.pushRemote</code>. If no remote is
- configured, or if you are not on any branch and there is more than
- one remote defined in the repository, it defaults to <code>origin</code> for
- fetching and <code>remote.pushDefault</code> for pushing.
- Additionally, <code>.</code> (a period) is the current local repository
- (a dot-repository), see <code>branch.&lt;name&gt;.merge</code>'s final note below.
-</p>
-</dd>
-<dt class="hdlist1">
-branch.&lt;name&gt;.pushRemote
-</dt>
-<dd>
-<p>
- When on branch &lt;name&gt;, it overrides <code>branch.&lt;name&gt;.remote</code> for
- pushing. It also overrides <code>remote.pushDefault</code> for pushing
- from branch &lt;name&gt;. 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 <code>remote.pushDefault</code> to
- specify the remote to push to for all branches, and use this
- option to override it for a specific branch.
-</p>
-</dd>
-<dt class="hdlist1">
-branch.&lt;name&gt;.merge
-</dt>
-<dd>
-<p>
- Defines, together with branch.&lt;name&gt;.remote, the upstream branch
- for the given branch. It tells <em>git fetch</em>/<em>git pull</em>/<em>git rebase</em> which
- branch to merge and can also affect <em>git push</em> (see push.default).
- When in branch &lt;name&gt;, it tells <em>git fetch</em> 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.&lt;name&gt;.remote".
- The merge information is used by <em>git pull</em> (which first calls
- <em>git fetch</em>) to lookup the default branch for merging. Without
- this option, <em>git pull</em> defaults to merge the first refspec fetched.
- Specify multiple values to get an octopus merge.
- If you wish to setup <em>git pull</em> so that it merges into &lt;name&gt; from
- another branch in the local repository, you can point
- branch.&lt;name&gt;.merge to the desired branch, and use the relative path
- setting <code>.</code> (a period) for branch.&lt;name&gt;.remote.
-</p>
-</dd>
-<dt class="hdlist1">
-branch.&lt;name&gt;.mergeOptions
-</dt>
-<dd>
-<p>
- Sets default options for merging into branch &lt;name&gt;. The syntax and
- supported options are the same as those of <a href="git-merge.html">git-merge(1)</a>, but
- option values containing whitespace characters are currently not
- supported.
-</p>
-</dd>
-<dt class="hdlist1">
-branch.&lt;name&gt;.rebase
-</dt>
-<dd>
-<p>
- When true, rebase the branch &lt;name&gt; 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.
-</p>
-<div class="paragraph"><p>When <code>merges</code> (or just <em>m</em>), pass the <code>--rebase-merges</code> option to <em>git rebase</em>
-so that the local merge commits are included in the rebase (see
-<a href="git-rebase.html">git-rebase(1)</a> for details).</p></div>
-<div class="paragraph"><p>When the value is <code>interactive</code> (or just <em>i</em>), the rebase is run in interactive
-mode.</p></div>
-<div class="paragraph"><p><strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use
-it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a>
-for details).</p></div>
-</dd>
-<dt class="hdlist1">
-branch.&lt;name&gt;.description
-</dt>
-<dd>
-<p>
- Branch description, can be edited with
- <code>git branch --edit-description</code>. Branch description is
- automatically added to the format-patch cover letter or
- request-pull summary.
-</p>
-</dd>
-<dt class="hdlist1">
-browser.&lt;tool&gt;.cmd
-</dt>
-<dd>
-<p>
- Specify the command to invoke the specified browser. The
- specified command is evaluated in shell with the URLs passed
- as arguments. (See <a href="git-web&#45;&#45;browse.html">git-web&#45;&#45;browse(1)</a>.)
-</p>
-</dd>
-<dt class="hdlist1">
-browser.&lt;tool&gt;.path
-</dt>
-<dd>
-<p>
- Override the path for the given tool that may be used to
- browse HTML help (see <code>-w</code> option in <a href="git-help.html">git-help(1)</a>) or a
- working repository in gitweb (see <a href="git-instaweb.html">git-instaweb(1)</a>).
-</p>
-</dd>
-<dt class="hdlist1">
-bundle.*
-</dt>
-<dd>
-<p>
- The <code>bundle.*</code> keys may appear in a bundle list file found via the
- <code>git clone --bundle-uri</code> option. These keys currently have no effect
- if placed in a repository config file, though this will change in the
- future. See <a href="technical/bundle-uri.html">the bundle URI design
- document</a> for more details.
-</p>
-</dd>
-<dt class="hdlist1">
-bundle.version
-</dt>
-<dd>
-<p>
- This integer value advertises the version of the bundle list format
- used by the bundle list. Currently, the only accepted value is <code>1</code>.
-</p>
-</dd>
-<dt class="hdlist1">
-bundle.mode
-</dt>
-<dd>
-<p>
- This string value should be either <code>all</code> or <code>any</code>. This value describes
- whether all of the advertised bundles are required to unbundle a
- complete understanding of the bundled information (<code>all</code>) or if any one
- of the listed bundle URIs is sufficient (<code>any</code>).
-</p>
-</dd>
-<dt class="hdlist1">
-bundle.heuristic
-</dt>
-<dd>
-<p>
- If this string-valued key exists, then the bundle list is designed to
- work well with incremental <code>git fetch</code> commands. The heuristic signals
- that there are additional keys available for each bundle that help
- determine which subset of bundles the client should download. The
- only value currently understood is <code>creationToken</code>.
-</p>
-</dd>
-<dt class="hdlist1">
-bundle.&lt;id&gt;.*
-</dt>
-<dd>
-<p>
- The <code>bundle.&lt;id&gt;.*</code> keys are used to describe a single item in the
- bundle list, grouped under <code>&lt;id&gt;</code> for identification purposes.
-</p>
-</dd>
-<dt class="hdlist1">
-bundle.&lt;id&gt;.uri
-</dt>
-<dd>
-<p>
- This string value defines the URI by which Git can reach the contents
- of this <code>&lt;id&gt;</code>. This URI may be a bundle file or another bundle list.
-</p>
-</dd>
-<dt class="hdlist1">
-checkout.defaultRemote
-</dt>
-<dd>
-<p>
- When you run <code>git checkout &lt;something&gt;</code>
- or <code>git switch &lt;something&gt;</code> and only have one
- remote, it may implicitly fall back on checking out and
- tracking e.g. <code>origin/&lt;something&gt;</code>. This stops working as soon
- as you have more than one remote with a <code>&lt;something&gt;</code>
- 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
- <code>origin</code>.
-</p>
-<div class="paragraph"><p>Currently this is used by <a href="git-switch.html">git-switch(1)</a> and
-<a href="git-checkout.html">git-checkout(1)</a> when <code>git checkout &lt;something&gt;</code>
-or <code>git switch &lt;something&gt;</code>
-will checkout the <code>&lt;something&gt;</code> branch on another remote,
-and by <a href="git-worktree.html">git-worktree(1)</a> when <code>git worktree add</code> refers to a
-remote branch. This setting might be used for other checkout-like
-commands or functionality in the future.</p></div>
-</dd>
-<dt class="hdlist1">
-checkout.guess
-</dt>
-<dd>
-<p>
- Provides the default value for the <code>--guess</code> or <code>--no-guess</code>
- option in <code>git checkout</code> and <code>git switch</code>. See
- <a href="git-switch.html">git-switch(1)</a> and <a href="git-checkout.html">git-checkout(1)</a>.
-</p>
-</dd>
-<dt class="hdlist1">
-checkout.workers
-</dt>
-<dd>
-<p>
- The number of parallel workers to use when updating the working tree.
- The default is one, i.e. sequential execution. If set to a value less
- than one, Git will use as many workers as the number of logical cores
- available. This setting and <code>checkout.thresholdForParallelism</code> affect
- all commands that perform checkout. E.g. checkout, clone, reset,
- sparse-checkout, etc.
-</p>
-<div class="paragraph"><p>Note: Parallel checkout usually delivers better performance for repositories
-located on SSDs or over NFS. For repositories on spinning disks and/or machines
-with a small number of cores, the default sequential checkout often performs
-better. The size and compression level of a repository might also influence how
-well the parallel version performs.</p></div>
-</dd>
-<dt class="hdlist1">
-checkout.thresholdForParallelism
-</dt>
-<dd>
-<p>
- When running parallel checkout with a small number of files, the cost
- of subprocess spawning and inter-process communication might outweigh
- the parallelization gains. This setting allows you to define the minimum
- number of files for which parallel checkout should be attempted. The
- default is 100.
-</p>
-</dd>
-<dt class="hdlist1">
-clean.requireForce
-</dt>
-<dd>
-<p>
- A boolean to make git-clean do nothing unless given -f,
- -i, or -n. Defaults to true.
-</p>
-</dd>
-<dt class="hdlist1">
-clone.defaultRemoteName
-</dt>
-<dd>
-<p>
- The name of the remote to create when cloning a repository. Defaults to
- <code>origin</code>, and can be overridden by passing the <code>--origin</code> command-line
- option to <a href="git-clone.html">git-clone(1)</a>.
-</p>
-</dd>
-<dt class="hdlist1">
-clone.rejectShallow
-</dt>
-<dd>
-<p>
- Reject cloning a repository if it is a shallow one; this can be overridden by
- passing the <code>--reject-shallow</code> option on the command line. See <a href="git-clone.html">git-clone(1)</a>
-</p>
-</dd>
-<dt class="hdlist1">
-clone.filterSubmodules
-</dt>
-<dd>
-<p>
- If a partial clone filter is provided (see <code>--filter</code> in
- <a href="git-rev-list.html">git-rev-list(1)</a>) and <code>--recurse-submodules</code> is used, also apply
- the filter to submodules.
-</p>
-</dd>
-<dt class="hdlist1">
-color.advice
-</dt>
-<dd>
-<p>
- A boolean to enable/disable color in hints (e.g. when a push
- failed, see <code>advice.*</code> for a list). May be set to <code>always</code>,
- <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors
- are used only when the error output goes to a terminal. If
- unset, then the value of <code>color.ui</code> is used (<code>auto</code> by default).
-</p>
-</dd>
-<dt class="hdlist1">
-color.advice.hint
-</dt>
-<dd>
-<p>
- Use customized color for hints.
-</p>
-</dd>
-<dt class="hdlist1">
-color.blame.highlightRecent
-</dt>
-<dd>
-<p>
- Specify the line annotation color for <code>git blame --color-by-age</code>
- depending upon the age of the line.
-</p>
-<div class="paragraph"><p>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 with the
-specified colors if the line was introduced before the given
-timestamp, overwriting older timestamped colors.</p></div>
-<div class="paragraph"><p>Instead of an absolute timestamp relative timestamps work as well,
-e.g. <code>2.weeks.ago</code> is valid to address anything older than 2 weeks.</p></div>
-<div class="paragraph"><p>It defaults to <code>blue,12 month ago,white,1 month ago,red</code>, 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.</p></div>
-</dd>
-<dt class="hdlist1">
-color.blame.repeatedLines
-</dt>
-<dd>
-<p>
- Use the specified color to colorize line annotations for
- <code>git blame --color-lines</code>, if they come from the same commit as the
- preceding line. Defaults to cyan.
-</p>
-</dd>
-<dt class="hdlist1">
-color.branch
-</dt>
-<dd>
-<p>
- A boolean to enable/disable color in the output of
- <a href="git-branch.html">git-branch(1)</a>. May be set to <code>always</code>,
- <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used
- only when the output is to a terminal. If unset, then the
- value of <code>color.ui</code> is used (<code>auto</code> by default).
-</p>
-</dd>
-<dt class="hdlist1">
-color.branch.&lt;slot&gt;
-</dt>
-<dd>
-<p>
- Use customized color for branch coloration. <code>&lt;slot&gt;</code> is one of
- <code>current</code> (the current branch), <code>local</code> (a local branch),
- <code>remote</code> (a remote-tracking branch in refs/remotes/),
- <code>upstream</code> (upstream tracking branch), <code>plain</code> (other
- refs).
-</p>
-</dd>
-<dt class="hdlist1">
-color.diff
-</dt>
-<dd>
-<p>
- Whether to use ANSI escape sequences to add color to patches.
- If this is set to <code>always</code>, <a href="git-diff.html">git-diff(1)</a>,
- <a href="git-log.html">git-log(1)</a>, and <a href="git-show.html">git-show(1)</a> will use color
- for all patches. If it is set to <code>true</code> or <code>auto</code>, those
- commands will only use color when output is to the terminal.
- If unset, then the value of <code>color.ui</code> is used (<code>auto</code> by
- default).
-</p>
-<div class="paragraph"><p>This does not affect <a href="git-format-patch.html">git-format-patch(1)</a> or the
-<em>git-diff-&#42;</em> plumbing commands. Can be overridden on the
-command line with the <code>--color[=&lt;when&gt;]</code> option.</p></div>
-</dd>
-<dt class="hdlist1">
-color.diff.&lt;slot&gt;
-</dt>
-<dd>
-<p>
- Use customized color for diff colorization. <code>&lt;slot&gt;</code> specifies
- which part of the patch to use the specified color, and is one
- of <code>context</code> (context text - <code>plain</code> is a historical synonym),
- <code>meta</code> (metainformation), <code>frag</code>
- (hunk header), <em>func</em> (function in hunk header), <code>old</code> (removed lines),
- <code>new</code> (added lines), <code>commit</code> (commit headers), <code>whitespace</code>
- (highlighting whitespace errors), <code>oldMoved</code> (deleted lines),
- <code>newMoved</code> (added lines), <code>oldMovedDimmed</code>, <code>oldMovedAlternative</code>,
- <code>oldMovedAlternativeDimmed</code>, <code>newMovedDimmed</code>, <code>newMovedAlternative</code>
- <code>newMovedAlternativeDimmed</code> (See the <em>&lt;mode&gt;</em>
- setting of <em>--color-moved</em> in <a href="git-diff.html">git-diff(1)</a> for details),
- <code>contextDimmed</code>, <code>oldDimmed</code>, <code>newDimmed</code>, <code>contextBold</code>,
- <code>oldBold</code>, and <code>newBold</code> (see <a href="git-range-diff.html">git-range-diff(1)</a> for details).
-</p>
-</dd>
-<dt class="hdlist1">
-color.decorate.&lt;slot&gt;
-</dt>
-<dd>
-<p>
- Use customized color for <em>git log --decorate</em> output. <code>&lt;slot&gt;</code> is one
- of <code>branch</code>, <code>remoteBranch</code>, <code>tag</code>, <code>stash</code> or <code>HEAD</code> for local
- branches, remote-tracking branches, tags, stash and HEAD, respectively
- and <code>grafted</code> for grafted commits.
-</p>
-</dd>
-<dt class="hdlist1">
-color.grep
-</dt>
-<dd>
-<p>
- When set to <code>always</code>, always highlight matches. When <code>false</code> (or
- <code>never</code>), never. When set to <code>true</code> or <code>auto</code>, use color only
- when the output is written to the terminal. If unset, then the
- value of <code>color.ui</code> is used (<code>auto</code> by default).
-</p>
-</dd>
-<dt class="hdlist1">
-color.grep.&lt;slot&gt;
-</dt>
-<dd>
-<p>
- Use customized color for grep colorization. <code>&lt;slot&gt;</code> specifies which
- part of the line to use the specified color, and is one of
-</p>
-<div class="openblock">
-<div class="content">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-<code>context</code>
-</dt>
-<dd>
-<p>
- non-matching text in context lines (when using <code>-A</code>, <code>-B</code>, or <code>-C</code>)
-</p>
-</dd>
-<dt class="hdlist1">
-<code>filename</code>
-</dt>
-<dd>
-<p>
- filename prefix (when not using <code>-h</code>)
-</p>
-</dd>
-<dt class="hdlist1">
-<code>function</code>
-</dt>
-<dd>
-<p>
- function name lines (when using <code>-p</code>)
-</p>
-</dd>
-<dt class="hdlist1">
-<code>lineNumber</code>
-</dt>
-<dd>
-<p>
- line number prefix (when using <code>-n</code>)
-</p>
-</dd>
-<dt class="hdlist1">
-<code>column</code>
-</dt>
-<dd>
-<p>
- column number prefix (when using <code>--column</code>)
-</p>
-</dd>
-<dt class="hdlist1">
-<code>match</code>
-</dt>
-<dd>
-<p>
- matching text (same as setting <code>matchContext</code> and <code>matchSelected</code>)
-</p>
-</dd>
-<dt class="hdlist1">
-<code>matchContext</code>
-</dt>
-<dd>
-<p>
- matching text in context lines
-</p>
-</dd>
-<dt class="hdlist1">
-<code>matchSelected</code>
-</dt>
-<dd>
-<p>
- matching text in selected lines. Also, used to customize the following
- <a href="git-log.html">git-log(1)</a> subcommands: <code>--grep</code>, <code>--author</code>, and <code>--committer</code>.
-</p>
-</dd>
-<dt class="hdlist1">
-<code>selected</code>
-</dt>
-<dd>
-<p>
- non-matching text in selected lines. Also, used to customize the
- following <a href="git-log.html">git-log(1)</a> subcommands: <code>--grep</code>, <code>--author</code> and
- <code>--committer</code>.
-</p>
-</dd>
-<dt class="hdlist1">
-<code>separator</code>
-</dt>
-<dd>
-<p>
- separators between fields on a line (<code>:</code>, <code>-</code>, and <code>=</code>)
- and between hunks (<code>--</code>)
-</p>
-</dd>
-</dl></div>
-</div></div>
-</dd>
-<dt class="hdlist1">
-color.interactive
-</dt>
-<dd>
-<p>
- When set to <code>always</code>, always use colors for interactive prompts
- and displays (such as those used by "git-add --interactive" and
- "git-clean --interactive"). When false (or <code>never</code>), never.
- When set to <code>true</code> or <code>auto</code>, use colors only when the output is
- to the terminal. If unset, then the value of <code>color.ui</code> is
- used (<code>auto</code> by default).
-</p>
-</dd>
-<dt class="hdlist1">
-color.interactive.&lt;slot&gt;
-</dt>
-<dd>
-<p>
- Use customized color for <em>git add --interactive</em> and <em>git clean
- --interactive</em> output. <code>&lt;slot&gt;</code> may be <code>prompt</code>, <code>header</code>, <code>help</code>
- or <code>error</code>, for four distinct types of normal output from
- interactive commands.
-</p>
-</dd>
-<dt class="hdlist1">
-color.pager
-</dt>
-<dd>
-<p>
- A boolean to specify whether <code>auto</code> color modes should colorize
- output going to the pager. Defaults to true; set this to false
- if your pager does not understand ANSI color codes.
-</p>
-</dd>
-<dt class="hdlist1">
-color.push
-</dt>
-<dd>
-<p>
- A boolean to enable/disable color in push errors. May be set to
- <code>always</code>, <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which
- case colors are used only when the error output goes to a terminal.
- If unset, then the value of <code>color.ui</code> is used (<code>auto</code> by default).
-</p>
-</dd>
-<dt class="hdlist1">
-color.push.error
-</dt>
-<dd>
-<p>
- Use customized color for push errors.
-</p>
-</dd>
-<dt class="hdlist1">
-color.remote
-</dt>
-<dd>
-<p>
- 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 <code>always</code>, <code>false</code> (or
- <code>never</code>) or <code>auto</code> (or <code>true</code>). If unset, then the value of
- <code>color.ui</code> is used (<code>auto</code> by default).
-</p>
-</dd>
-<dt class="hdlist1">
-color.remote.&lt;slot&gt;
-</dt>
-<dd>
-<p>
- Use customized color for each remote keyword. <code>&lt;slot&gt;</code> may be
- <code>hint</code>, <code>warning</code>, <code>success</code> or <code>error</code> which match the
- corresponding keyword.
-</p>
-</dd>
-<dt class="hdlist1">
-color.showBranch
-</dt>
-<dd>
-<p>
- A boolean to enable/disable color in the output of
- <a href="git-show-branch.html">git-show-branch(1)</a>. May be set to <code>always</code>,
- <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used
- only when the output is to a terminal. If unset, then the
- value of <code>color.ui</code> is used (<code>auto</code> by default).
-</p>
-</dd>
-<dt class="hdlist1">
-color.status
-</dt>
-<dd>
-<p>
- A boolean to enable/disable color in the output of
- <a href="git-status.html">git-status(1)</a>. May be set to <code>always</code>,
- <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used
- only when the output is to a terminal. If unset, then the
- value of <code>color.ui</code> is used (<code>auto</code> by default).
-</p>
-</dd>
-<dt class="hdlist1">
-color.status.&lt;slot&gt;
-</dt>
-<dd>
-<p>
- Use customized color for status colorization. <code>&lt;slot&gt;</code> is
- one of <code>header</code> (the header text of the status message),
- <code>added</code> or <code>updated</code> (files which are added but not committed),
- <code>changed</code> (files which are changed but not added in the index),
- <code>untracked</code> (files which are not tracked by Git),
- <code>branch</code> (the current branch),
- <code>nobranch</code> (the color the <em>no branch</em> warning is shown in, defaulting
- to red),
- <code>localBranch</code> or <code>remoteBranch</code> (the local and remote branch names,
- respectively, when branch and tracking information is displayed in the
- status short-format), or
- <code>unmerged</code> (files which have unmerged changes).
-</p>
-</dd>
-<dt class="hdlist1">
-color.transport
-</dt>
-<dd>
-<p>
- A boolean to enable/disable color when pushes are rejected. May be
- set to <code>always</code>, <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which
- case colors are used only when the error output goes to a terminal.
- If unset, then the value of <code>color.ui</code> is used (<code>auto</code> by default).
-</p>
-</dd>
-<dt class="hdlist1">
-color.transport.rejected
-</dt>
-<dd>
-<p>
- Use customized color when a push was rejected.
-</p>
-</dd>
-<dt class="hdlist1">
-color.ui
-</dt>
-<dd>
-<p>
- This variable determines the default value for variables such
- as <code>color.diff</code> and <code>color.grep</code> that control the use of color
- per command family. Its scope will expand as more commands learn
- configuration to set a default for the <code>--color</code> option. Set it
- to <code>false</code> or <code>never</code> if you prefer Git commands not to use
- color unless enabled explicitly with some other configuration
- or the <code>--color</code> option. Set it to <code>always</code> if you want all
- output not intended for machine consumption to use color, to
- <code>true</code> or <code>auto</code> (this is the default since Git 1.8.4) if you
- want such output to use color when written to the terminal.
-</p>
-</dd>
-<dt class="hdlist1">
-column.ui
-</dt>
-<dd>
-<p>
- Specify whether supported commands should output in columns.
- This variable consists of a list of tokens separated by spaces
- or commas:
-</p>
-<div class="paragraph"><p>These options control when the feature should be enabled
-(defaults to <em>never</em>):</p></div>
-<div class="openblock">
-<div class="content">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-<code>always</code>
-</dt>
-<dd>
-<p>
- always show in columns
-</p>
-</dd>
-<dt class="hdlist1">
-<code>never</code>
-</dt>
-<dd>
-<p>
- never show in columns
-</p>
-</dd>
-<dt class="hdlist1">
-<code>auto</code>
-</dt>
-<dd>
-<p>
- show in columns if the output is to the terminal
-</p>
-</dd>
-</dl></div>
-</div></div>
-<div class="paragraph"><p>These options control layout (defaults to <em>column</em>). Setting any
-of these implies <em>always</em> if none of <em>always</em>, <em>never</em>, or <em>auto</em> are
-specified.</p></div>
-<div class="openblock">
-<div class="content">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-<code>column</code>
-</dt>
-<dd>
-<p>
- fill columns before rows
-</p>
-</dd>
-<dt class="hdlist1">
-<code>row</code>
-</dt>
-<dd>
-<p>
- fill rows before columns
-</p>
-</dd>
-<dt class="hdlist1">
-<code>plain</code>
-</dt>
-<dd>
-<p>
- show in one column
-</p>
-</dd>
-</dl></div>
-</div></div>
-<div class="paragraph"><p>Finally, these options can be combined with a layout option (defaults
-to <em>nodense</em>):</p></div>
-<div class="openblock">
-<div class="content">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-<code>dense</code>
-</dt>
-<dd>
-<p>
- make unequal size columns to utilize more space
-</p>
-</dd>
-<dt class="hdlist1">
-<code>nodense</code>
-</dt>
-<dd>
-<p>
- make equal size columns
-</p>
-</dd>
-</dl></div>
-</div></div>
-</dd>
-<dt class="hdlist1">
-column.branch
-</dt>
-<dd>
-<p>
- Specify whether to output branch listing in <code>git branch</code> in columns.
- See <code>column.ui</code> for details.
-</p>
-</dd>
-<dt class="hdlist1">
-column.clean
-</dt>
-<dd>
-<p>
- Specify the layout when listing items in <code>git clean -i</code>, which always
- shows files and directories in columns. See <code>column.ui</code> for details.
-</p>
-</dd>
-<dt class="hdlist1">
-column.status
-</dt>
-<dd>
-<p>
- Specify whether to output untracked files in <code>git status</code> in columns.
- See <code>column.ui</code> for details.
-</p>
-</dd>
-<dt class="hdlist1">
-column.tag
-</dt>
-<dd>
-<p>
- Specify whether to output tag listings in <code>git tag</code> in columns.
- See <code>column.ui</code> for details.
-</p>
-</dd>
-<dt class="hdlist1">
-commit.cleanup
-</dt>
-<dd>
-<p>
- This setting overrides the default of the <code>--cleanup</code> option in
- <code>git commit</code>. See <a href="git-commit.html">git-commit(1)</a> for details. Changing the
- default can be useful when you always want to keep lines that begin
- with the comment character <code>#</code> in your log message, in which case you
- would do <code>git config commit.cleanup whitespace</code> (note that you will
- have to remove the help lines that begin with <code>#</code> in the commit log
- template yourself, if you do this).
-</p>
-</dd>
-<dt class="hdlist1">
-commit.gpgSign
-</dt>
-<dd>
-<p>
- 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.
-</p>
-</dd>
-<dt class="hdlist1">
-commit.status
-</dt>
-<dd>
-<p>
- 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.
-</p>
-</dd>
-<dt class="hdlist1">
-commit.template
-</dt>
-<dd>
-<p>
- Specify the pathname of a file to use as the template for
- new commit messages.
-</p>
-</dd>
-<dt class="hdlist1">
-commit.verbose
-</dt>
-<dd>
-<p>
- A boolean or int to specify the level of verbosity with <code>git commit</code>.
- See <a href="git-commit.html">git-commit(1)</a>.
-</p>
-</dd>
-<dt class="hdlist1">
-commitGraph.generationVersion
-</dt>
-<dd>
-<p>
- Specifies the type of generation number version to use when writing
- or reading the commit-graph file. If version 1 is specified, then
- the corrected commit dates will not be written or read. Defaults to
- 2.
-</p>
-</dd>
-<dt class="hdlist1">
-commitGraph.maxNewFilters
-</dt>
-<dd>
-<p>
- Specifies the default value for the <code>--max-new-filters</code> option of <code>git
- commit-graph write</code> (c.f., <a href="git-commit-graph.html">git-commit-graph(1)</a>).
-</p>
-</dd>
-<dt class="hdlist1">
-commitGraph.readChangedPaths
-</dt>
-<dd>
-<p>
- If true, then git will use the changed-path Bloom filters in the
- commit-graph file (if it exists, and they are present). Defaults to
- true. See <a href="git-commit-graph.html">git-commit-graph(1)</a> for more information.
-</p>
-</dd>
-<dt class="hdlist1">
credential.helper
</dt>
<dd>
@@ -4662,19 +4675,6 @@ credentialStore.lockTimeoutMS
</p>
</dd>
<dt class="hdlist1">
-completion.commands
-</dt>
-<dd>
-<p>
- 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 <em>-</em> will remove it from
- the existing list.
-</p>
-</dd>
-<dt class="hdlist1">
diff.autoRefreshIndex
</dt>
<dd>
@@ -5768,6 +5768,26 @@ bundle URI. If you modify the URI at <code>fetch.bundleURI</code>, then be sure
remove the value for the <code>fetch.bundleCreationToken</code> value before fetching.</p></div>
</dd>
<dt class="hdlist1">
+filter.&lt;driver&gt;.clean
+</dt>
+<dd>
+<p>
+ The command which is used to convert the content of a worktree
+ file to a blob upon checkin. See <a href="gitattributes.html">gitattributes(5)</a> for
+ details.
+</p>
+</dd>
+<dt class="hdlist1">
+filter.&lt;driver&gt;.smudge
+</dt>
+<dd>
+<p>
+ The command which is used to convert the content of a blob
+ object to a worktree file upon checkout. See
+ <a href="gitattributes.html">gitattributes(5)</a> for details.
+</p>
+</dd>
+<dt class="hdlist1">
format.attach
</dt>
<dd>
@@ -6030,26 +6050,6 @@ format.noprefix
</p>
</dd>
<dt class="hdlist1">
-filter.&lt;driver&gt;.clean
-</dt>
-<dd>
-<p>
- The command which is used to convert the content of a worktree
- file to a blob upon checkin. See <a href="gitattributes.html">gitattributes(5)</a> for
- details.
-</p>
-</dd>
-<dt class="hdlist1">
-filter.&lt;driver&gt;.smudge
-</dt>
-<dd>
-<p>
- The command which is used to convert the content of a blob
- object to a worktree file upon checkout. See
- <a href="gitattributes.html">gitattributes(5)</a> for details.
-</p>
-</dd>
-<dt class="hdlist1">
fsck.&lt;msg-id&gt;
</dt>
<dd>
@@ -6582,70 +6582,6 @@ gitweb.snapshot
</p>
</dd>
<dt class="hdlist1">
-grep.lineNumber
-</dt>
-<dd>
-<p>
- If set to true, enable <code>-n</code> option by default.
-</p>
-</dd>
-<dt class="hdlist1">
-grep.column
-</dt>
-<dd>
-<p>
- If set to true, enable the <code>--column</code> option by default.
-</p>
-</dd>
-<dt class="hdlist1">
-grep.patternType
-</dt>
-<dd>
-<p>
- Set the default matching behavior. Using a value of <em>basic</em>, <em>extended</em>,
- <em>fixed</em>, or <em>perl</em> will enable the <code>--basic-regexp</code>, <code>--extended-regexp</code>,
- <code>--fixed-strings</code>, or <code>--perl-regexp</code> option accordingly, while the
- value <em>default</em> will use the <code>grep.extendedRegexp</code> option to choose
- between <em>basic</em> and <em>extended</em>.
-</p>
-</dd>
-<dt class="hdlist1">
-grep.extendedRegexp
-</dt>
-<dd>
-<p>
- If set to true, enable <code>--extended-regexp</code> option by default. This
- option is ignored when the <code>grep.patternType</code> option is set to a value
- other than <em>default</em>.
-</p>
-</dd>
-<dt class="hdlist1">
-grep.threads
-</dt>
-<dd>
-<p>
- 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.
-</p>
-</dd>
-<dt class="hdlist1">
-grep.fullName
-</dt>
-<dd>
-<p>
- If set to true, enable <code>--full-name</code> option by default.
-</p>
-</dd>
-<dt class="hdlist1">
-grep.fallbackToNoIndex
-</dt>
-<dd>
-<p>
- If set to true, fall back to git grep --no-index if git grep
- is executed outside of a git repository. Defaults to false.
-</p>
-</dd>
-<dt class="hdlist1">
gpg.program
</dt>
<dd>
@@ -6782,6 +6718,70 @@ gpg.ssh.revocationFile
</p>
</dd>
<dt class="hdlist1">
+grep.lineNumber
+</dt>
+<dd>
+<p>
+ If set to true, enable <code>-n</code> option by default.
+</p>
+</dd>
+<dt class="hdlist1">
+grep.column
+</dt>
+<dd>
+<p>
+ If set to true, enable the <code>--column</code> option by default.
+</p>
+</dd>
+<dt class="hdlist1">
+grep.patternType
+</dt>
+<dd>
+<p>
+ Set the default matching behavior. Using a value of <em>basic</em>, <em>extended</em>,
+ <em>fixed</em>, or <em>perl</em> will enable the <code>--basic-regexp</code>, <code>--extended-regexp</code>,
+ <code>--fixed-strings</code>, or <code>--perl-regexp</code> option accordingly, while the
+ value <em>default</em> will use the <code>grep.extendedRegexp</code> option to choose
+ between <em>basic</em> and <em>extended</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+grep.extendedRegexp
+</dt>
+<dd>
+<p>
+ If set to true, enable <code>--extended-regexp</code> option by default. This
+ option is ignored when the <code>grep.patternType</code> option is set to a value
+ other than <em>default</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+grep.threads
+</dt>
+<dd>
+<p>
+ 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.
+</p>
+</dd>
+<dt class="hdlist1">
+grep.fullName
+</dt>
+<dd>
+<p>
+ If set to true, enable <code>--full-name</code> option by default.
+</p>
+</dd>
+<dt class="hdlist1">
+grep.fallbackToNoIndex
+</dt>
+<dd>
+<p>
+ If set to true, fall back to git grep --no-index if git grep
+ is executed outside of a git repository. Defaults to false.
+</p>
+</dd>
+<dt class="hdlist1">
gui.commitMsgWidth
</dt>
<dd>
@@ -10825,6 +10825,36 @@ follows:</p></div>
change as git gains new features.</p></div>
</dd>
<dt class="hdlist1">
+stash.showIncludeUntracked
+</dt>
+<dd>
+<p>
+ If this is set to true, the <code>git stash show</code> command will show
+ the untracked files of a stash entry. Defaults to false. See
+ the description of the <em>show</em> command in <a href="git-stash.html">git-stash(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+stash.showPatch
+</dt>
+<dd>
+<p>
+ If this is set to true, the <code>git stash show</code> command without an
+ option will show the stash entry in patch form. Defaults to false.
+ See the description of the <em>show</em> command in <a href="git-stash.html">git-stash(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+stash.showStat
+</dt>
+<dd>
+<p>
+ If this is set to true, the <code>git stash show</code> command without an
+ option will show a diffstat of the stash entry. Defaults to true.
+ See the description of the <em>show</em> command in <a href="git-stash.html">git-stash(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
status.relativePaths
</dt>
<dd>
@@ -10966,36 +10996,6 @@ status.submoduleSummary
</p>
</dd>
<dt class="hdlist1">
-stash.showIncludeUntracked
-</dt>
-<dd>
-<p>
- If this is set to true, the <code>git stash show</code> command will show
- the untracked files of a stash entry. Defaults to false. See
- the description of the <em>show</em> command in <a href="git-stash.html">git-stash(1)</a>.
-</p>
-</dd>
-<dt class="hdlist1">
-stash.showPatch
-</dt>
-<dd>
-<p>
- If this is set to true, the <code>git stash show</code> command without an
- option will show the stash entry in patch form. Defaults to false.
- See the description of the <em>show</em> command in <a href="git-stash.html">git-stash(1)</a>.
-</p>
-</dd>
-<dt class="hdlist1">
-stash.showStat
-</dt>
-<dd>
-<p>
- If this is set to true, the <code>git stash show</code> command without an
- option will show a diffstat of the stash entry. Defaults to true.
- See the description of the <em>show</em> command in <a href="git-stash.html">git-stash(1)</a>.
-</p>
-</dd>
-<dt class="hdlist1">
submodule.&lt;name&gt;.url
</dt>
<dd>
diff --git a/git-remote-helpers.html b/git-remote-helpers.html
index 556df3e0a..567cbe963 100644
--- a/git-remote-helpers.html
+++ b/git-remote-helpers.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>git-remote-helpers</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/gitcli.html b/gitcli.html
index 4ed8ec24f..66647ab79 100644
--- a/gitcli.html
+++ b/gitcli.html
@@ -843,12 +843,6 @@ scripting Git:</p></div>
<div class="ulist"><ul>
<li>
<p>
-It&#8217;s preferred to use the non-dashed form of Git commands, which means that
- you should prefer <code>git foo</code> to <code>git-foo</code>.
-</p>
-</li>
-<li>
-<p>
Splitting short options to separate words (prefer <code>git foo -a -b</code>
to <code>git foo -ab</code>, the latter may not even work).
</p>
@@ -1052,7 +1046,7 @@ The two options can be specified together to ask a command to work
<div id="footer">
<div id="footer-text">
Last updated
- 2023-10-23 14:43:46 PDT
+ 2024-03-11 15:39:49 PDT
</div>
</div>
</body>
diff --git a/gitcli.txt b/gitcli.txt
index e5fac9432..7c709324b 100644
--- a/gitcli.txt
+++ b/gitcli.txt
@@ -81,9 +81,6 @@ you will.
Here are the rules regarding the "flags" that you should follow when you are
scripting Git:
- * It's preferred to use the non-dashed form of Git commands, which means that
- you should prefer `git foo` to `git-foo`.
-
* Splitting short options to separate words (prefer `git foo -a -b`
to `git foo -ab`, the latter may not even work).
diff --git a/howto/coordinate-embargoed-releases.html b/howto/coordinate-embargoed-releases.html
index e1ec52da3..cbd4b2235 100644
--- a/howto/coordinate-embargoed-releases.html
+++ b/howto/coordinate-embargoed-releases.html
@@ -1038,7 +1038,7 @@ Thanks,
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:38 PST
+ 2024-03-11 15:40:12 PDT
</div>
</div>
</body>
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html
index 6153a193b..1bd38ac46 100644
--- a/howto/keep-canonical-history-correct.html
+++ b/howto/keep-canonical-history-correct.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Keep authoritative canonical history correct with git pull</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
@@ -939,7 +939,7 @@ tip of your <em>master</em> again and redo the two merges:</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:38 PST
+ 2024-03-11 15:40:12 PDT
</div>
</div>
</body>
diff --git a/howto/maintain-git.html b/howto/maintain-git.html
index 057981166..ed5f3a204 100644
--- a/howto/maintain-git.html
+++ b/howto/maintain-git.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>How to maintain Git</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div class="sect1">
@@ -1479,7 +1479,7 @@ $ git update-ref -d $mf/ai/topic</code></pre>
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:38 PST
+ 2024-03-11 15:40:12 PDT
</div>
</div>
</body>
diff --git a/howto/new-command.html b/howto/new-command.html
index 14cfe6723..c1087a7d4 100644
--- a/howto/new-command.html
+++ b/howto/new-command.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>How to integrate new subcommands</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
@@ -864,7 +864,7 @@ letter [PATCH 0/n].
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:37 PST
+ 2024-03-11 15:40:11 PDT
</div>
</div>
</body>
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html
index ce7658a9e..8858ddc16 100644
--- a/howto/rebase-from-internal-branch.html
+++ b/howto/rebase-from-internal-branch.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>How to rebase from an internal branch</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
@@ -896,7 +896,7 @@ the #1' commit.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:38 PST
+ 2024-03-11 15:40:12 PDT
</div>
</div>
</body>
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html
index 26985f59b..c2edd3f8d 100644
--- a/howto/rebuild-from-update-hook.html
+++ b/howto/rebuild-from-update-hook.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>How to rebuild from update hook</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
@@ -848,7 +848,7 @@ This is still crude and does not protect against simultaneous
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:38 PST
+ 2024-03-11 15:40:12 PDT
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html
index ab93292de..0cc4a979d 100644
--- a/howto/recover-corrupted-blob-object.html
+++ b/howto/recover-corrupted-blob-object.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>How to recover a corrupted blob object</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
@@ -881,7 +881,7 @@ thing.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:38 PST
+ 2024-03-11 15:40:12 PDT
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html
index a2a2cf786..574c457d4 100644
--- a/howto/recover-corrupted-object-harder.html
+++ b/howto/recover-corrupted-object-harder.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>How to recover an object from scratch</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
@@ -1190,7 +1190,7 @@ int main(int argc, char **argv)
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:38 PST
+ 2024-03-11 15:40:12 PDT
</div>
</div>
</body>
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html
index 6b8cc2bfb..715f3ae23 100644
--- a/howto/revert-a-faulty-merge.html
+++ b/howto/revert-a-faulty-merge.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>How to revert a faulty merge</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
@@ -1026,7 +1026,7 @@ P---o---o---M---x---x---W---x---M2
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:38 PST
+ 2024-03-11 15:40:12 PDT
</div>
</div>
</body>
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html
index c3dd3a491..0a11ac3c3 100644
--- a/howto/revert-branch-rebase.html
+++ b/howto/revert-branch-rebase.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>How to revert an existing commit</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
@@ -908,7 +908,7 @@ Committed merge 7fb9b7262a1d1e0a47bbfdcbbcf50ce0635d3f8f
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:37 PST
+ 2024-03-11 15:40:11 PDT
</div>
</div>
</body>
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html
index 5300c63c7..a596371dc 100644
--- a/howto/separating-topic-branches.html
+++ b/howto/separating-topic-branches.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>How to separate topic branches</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
@@ -842,7 +842,7 @@ o---o"master"</code></pre>
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:38 PST
+ 2024-03-11 15:40:12 PDT
</div>
</div>
</body>
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html
index cf51b55fa..9624e19fd 100644
--- a/howto/setup-git-server-over-http.html
+++ b/howto/setup-git-server-over-http.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>How to setup Git server over http</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
@@ -1072,7 +1072,7 @@ help diagnosing the problem, but removes security checks.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:38 PST
+ 2024-03-11 15:40:12 PDT
</div>
</div>
</body>
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html
index 8fef612de..24e504308 100644
--- a/howto/update-hook-example.html
+++ b/howto/update-hook-example.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>How to use the update hook</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
@@ -931,7 +931,7 @@ that JC can make non-fast-forward pushes on it.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:37 PST
+ 2024-03-11 15:40:11 PDT
</div>
</div>
</body>
diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html
index 1d34f456b..d0fc37ca9 100644
--- a/howto/use-git-daemon.html
+++ b/howto/use-git-daemon.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>How to use git-daemon</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
@@ -792,7 +792,7 @@ a good practice to put the paths after a "--" separator.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:37 PST
+ 2024-03-11 15:40:11 PDT
</div>
</div>
</body>
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html
index a3a6e039a..78a08094a 100644
--- a/howto/using-merge-subtree.html
+++ b/howto/using-merge-subtree.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>How to use the subtree merge strategy</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
@@ -849,7 +849,7 @@ Please note that if the other project merges from you, then it will
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:37 PST
+ 2024-03-11 15:40:11 PDT
</div>
</div>
</body>
diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html
index ed75319c6..3de19456e 100644
--- a/howto/using-signed-tag-in-pull-request.html
+++ b/howto/using-signed-tag-in-pull-request.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>How to use a signed tag in pull requests</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
@@ -953,7 +953,7 @@ as part of the merge commit.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:37 PST
+ 2024-03-11 15:40:11 PDT
</div>
</div>
</body>
diff --git a/technical/api-error-handling.html b/technical/api-error-handling.html
index 7657778c3..7ebc15f99 100644
--- a/technical/api-error-handling.html
+++ b/technical/api-error-handling.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Error reporting in git</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-index.html b/technical/api-index.html
index 6231df605..52f5acfb6 100644
--- a/technical/api-index.html
+++ b/technical/api-index.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Git API Documents</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-merge.html b/technical/api-merge.html
index c221d5e06..bf394b3bb 100644
--- a/technical/api-merge.html
+++ b/technical/api-merge.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>merge API</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-parse-options.html b/technical/api-parse-options.html
index f58e04898..11f124e19 100644
--- a/technical/api-parse-options.html
+++ b/technical/api-parse-options.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>parse-options API</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-simple-ipc.html b/technical/api-simple-ipc.html
index 57258d4de..0fce1778e 100644
--- a/technical/api-simple-ipc.html
+++ b/technical/api-simple-ipc.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Simple-IPC API</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-trace2.html b/technical/api-trace2.html
index e420edb8e..8823130f3 100644
--- a/technical/api-trace2.html
+++ b/technical/api-trace2.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Trace2 API</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/bitmap-format.html b/technical/bitmap-format.html
index 69e1ddd1a..efbd5995d 100644
--- a/technical/bitmap-format.html
+++ b/technical/bitmap-format.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>GIT bitmap v1 format</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/technical/bundle-uri.html b/technical/bundle-uri.html
index ea565247f..ca974c8c2 100644
--- a/technical/bundle-uri.html
+++ b/technical/bundle-uri.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Bundle URIs</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/hash-function-transition.html b/technical/hash-function-transition.html
index 6d60cbba2..2e6777c3d 100644
--- a/technical/hash-function-transition.html
+++ b/technical/hash-function-transition.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Git hash function transition</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/technical/long-running-process-protocol.html b/technical/long-running-process-protocol.html
index f41dba74f..6d55b8f69 100644
--- a/technical/long-running-process-protocol.html
+++ b/technical/long-running-process-protocol.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Long-running process protocol</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/multi-pack-index.html b/technical/multi-pack-index.html
index a6c2d57c2..08cdbb2c0 100644
--- a/technical/multi-pack-index.html
+++ b/technical/multi-pack-index.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Multi-Pack-Index (MIDX) Design Notes</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/pack-heuristics.html b/technical/pack-heuristics.html
index f54d4dbc8..792b16dd5 100644
--- a/technical/pack-heuristics.html
+++ b/technical/pack-heuristics.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Concerning Git&#8217;s Packing Heuristics</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/parallel-checkout.html b/technical/parallel-checkout.html
index d4fcebd7c..8ca8da52c 100644
--- a/technical/parallel-checkout.html
+++ b/technical/parallel-checkout.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Parallel Checkout Design Notes</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/partial-clone.html b/technical/partial-clone.html
index 8149b89d8..298e4c0e6 100644
--- a/technical/partial-clone.html
+++ b/technical/partial-clone.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Partial Clone Design Notes</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/racy-git.html b/technical/racy-git.html
index 56e338119..285d31701 100644
--- a/technical/racy-git.html
+++ b/technical/racy-git.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Use of index and Racy Git problem</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/technical/scalar.html b/technical/scalar.html
index ccc198a07..8cff6132e 100644
--- a/technical/scalar.html
+++ b/technical/scalar.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Scalar</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/send-pack-pipeline.html b/technical/send-pack-pipeline.html
index ca206fcde..5fd755c74 100644
--- a/technical/send-pack-pipeline.html
+++ b/technical/send-pack-pipeline.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Git-send-pack internals</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/technical/shallow.html b/technical/shallow.html
index 35bb077ea..968915708 100644
--- a/technical/shallow.html
+++ b/technical/shallow.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Shallow commits</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/trivial-merge.html b/technical/trivial-merge.html
index 854559cb4..29187f9e9 100644
--- a/technical/trivial-merge.html
+++ b/technical/trivial-merge.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Trivial merge rules</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/unit-tests.html b/technical/unit-tests.html
index 1feee92ad..95371476d 100644
--- a/technical/unit-tests.html
+++ b/technical/unit-tests.html
@@ -735,7 +735,7 @@ asciidoc.install();
<body class="article">
<div id="header">
<h1>Unit Testing</h1>
-<span id="revdate">2024-03-07</span>
+<span id="revdate">2024-03-11</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/user-manual.html b/user-manual.html
index 2a8d4ff15..160a40be6 100644
--- a/user-manual.html
+++ b/user-manual.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Git User Manual</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div lang="en" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="id-1"></a>Git User Manual</h1></div><div><div class="revhistory"><table style="border-style:solid; width:100%;" summary="Revision History"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left"></td><td align="left">2024-03-07</td></tr></table></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="preface"><a href="#_introduction">Introduction</a></span></dt><dt><span class="chapter"><a href="#repositories-and-branches">1. Repositories and Branches</a></span></dt><dd><dl><dt><span class="section"><a href="#how-to-get-a-git-repository">How to get a Git repository</a></span></dt><dt><span class="section"><a href="#how-to-check-out">How to check out a different version of a project</a></span></dt><dt><span class="section"><a href="#understanding-commits">Understanding History: Commits</a></span></dt><dd><dl><dt><span class="section"><a href="#understanding-reachability">Understanding history: commits, parents, and reachability</a></span></dt><dt><span class="section"><a href="#history-diagrams">Understanding history: History diagrams</a></span></dt><dt><span class="section"><a href="#what-is-a-branch">Understanding history: What is a branch?</a></span></dt></dl></dd><dt><span class="section"><a href="#manipulating-branches">Manipulating branches</a></span></dt><dt><span class="section"><a href="#detached-head">Examining an old version without creating a new branch</a></span></dt><dt><span class="section"><a href="#examining-remote-branches">Examining branches from a remote repository</a></span></dt><dt><span class="section"><a href="#how-git-stores-references">Naming branches, tags, and other references</a></span></dt><dt><span class="section"><a href="#Updating-a-repository-With-git-fetch">Updating a repository with git fetch</a></span></dt><dt><span class="section"><a href="#fetching-branches">Fetching branches from other repositories</a></span></dt></dl></dd><dt><span class="chapter"><a href="#exploring-git-history">2. Exploring Git history</a></span></dt><dd><dl><dt><span class="section"><a href="#using-bisect">How to use bisect to find a regression</a></span></dt><dt><span class="section"><a href="#naming-commits">Naming commits</a></span></dt><dt><span class="section"><a href="#creating-tags">Creating tags</a></span></dt><dt><span class="section"><a href="#browsing-revisions">Browsing revisions</a></span></dt><dt><span class="section"><a href="#generating-diffs">Generating diffs</a></span></dt><dt><span class="section"><a href="#viewing-old-file-versions">Viewing old file versions</a></span></dt><dt><span class="section"><a href="#history-examples">Examples</a></span></dt><dd><dl><dt><span class="section"><a href="#counting-commits-on-a-branch">Counting the number of commits on a branch</a></span></dt><dt><span class="section"><a href="#checking-for-equal-branches">Check whether two branches point at the same history</a></span></dt><dt><span class="section"><a href="#finding-tagged-descendants">Find first tagged version including a given fix</a></span></dt><dt><span class="section"><a href="#showing-commits-unique-to-a-branch">Showing commits unique to a given branch</a></span></dt><dt><span class="section"><a href="#making-a-release">Creating a changelog and tarball for a software release</a></span></dt><dt><span class="section"><a href="#Finding-commits-With-given-Content">Finding commits referencing a file with given content</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#Developing-With-git">3. Developing with Git</a></span></dt><dd><dl><dt><span class="section"><a href="#telling-git-your-name">Telling Git your name</a></span></dt><dt><span class="section"><a href="#creating-a-new-repository">Creating a new repository</a></span></dt><dt><span class="section"><a href="#how-to-make-a-commit">How to make a commit</a></span></dt><dt><span class="section"><a href="#creating-good-commit-messages">Creating good commit messages</a></span></dt><dt><span class="section"><a href="#ignoring-files">Ignoring files</a></span></dt><dt><span class="section"><a href="#how-to-merge">How to merge</a></span></dt><dt><span class="section"><a href="#resolving-a-merge">Resolving a merge</a></span></dt><dd><dl><dt><span class="section"><a href="#conflict-resolution">Getting conflict-resolution help during a merge</a></span></dt></dl></dd><dt><span class="section"><a href="#undoing-a-merge">Undoing a merge</a></span></dt><dt><span class="section"><a href="#fast-forwards">Fast-forward merges</a></span></dt><dt><span class="section"><a href="#fixing-mistakes">Fixing mistakes</a></span></dt><dd><dl><dt><span class="section"><a href="#reverting-a-commit">Fixing a mistake with a new commit</a></span></dt><dt><span class="section"><a href="#fixing-a-mistake-by-rewriting-history">Fixing a mistake by rewriting history</a></span></dt><dt><span class="section"><a href="#checkout-of-path">Checking out an old version of a file</a></span></dt><dt><span class="section"><a href="#interrupted-work">Temporarily setting aside work in progress</a></span></dt></dl></dd><dt><span class="section"><a href="#ensuring-good-performance">Ensuring good performance</a></span></dt><dt><span class="section"><a href="#ensuring-reliability">Ensuring reliability</a></span></dt><dd><dl><dt><span class="section"><a href="#checking-for-corruption">Checking the repository for corruption</a></span></dt><dt><span class="section"><a href="#recovering-lost-changes">Recovering lost changes</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#sharing-development">4. Sharing development with others</a></span></dt><dd><dl><dt><span class="section"><a href="#getting-updates-With-git-pull">Getting updates with git pull</a></span></dt><dt><span class="section"><a href="#submitting-patches">Submitting patches to a project</a></span></dt><dt><span class="section"><a href="#importing-patches">Importing patches to a project</a></span></dt><dt><span class="section"><a href="#public-repositories">Public Git repositories</a></span></dt><dd><dl><dt><span class="section"><a href="#setting-up-a-public-repository">Setting up a public repository</a></span></dt><dt><span class="section"><a href="#exporting-via-git">Exporting a Git repository via the Git protocol</a></span></dt><dt><span class="section"><a href="#exporting-via-http">Exporting a git repository via HTTP</a></span></dt><dt><span class="section"><a href="#pushing-changes-to-a-public-repository">Pushing changes to a public repository</a></span></dt><dt><span class="section"><a href="#forcing-push">What to do when a push fails</a></span></dt><dt><span class="section"><a href="#setting-up-a-shared-repository">Setting up a shared repository</a></span></dt><dt><span class="section"><a href="#setting-up-gitweb">Allowing web browsing of a repository</a></span></dt></dl></dd><dt><span class="section"><a href="#how-to-get-a-git-repository-with-minimal-history">How to get a Git repository with minimal history</a></span></dt><dt><span class="section"><a href="#sharing-development-examples">Examples</a></span></dt><dd><dl><dt><span class="section"><a href="#maintaining-topic-branches">Maintaining topic branches for a Linux subsystem maintainer</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#cleaning-up-history">5. Rewriting history and maintaining patch series</a></span></dt><dd><dl><dt><span class="section"><a href="#patch-series">Creating the perfect patch series</a></span></dt><dt><span class="section"><a href="#using-git-rebase">Keeping a patch series up to date using git rebase</a></span></dt><dt><span class="section"><a href="#rewriting-one-commit">Rewriting a single commit</a></span></dt><dt><span class="section"><a href="#reordering-patch-series">Reordering or selecting from a patch series</a></span></dt><dt><span class="section"><a href="#interactive-rebase">Using interactive rebases</a></span></dt><dt><span class="section"><a href="#patch-series-tools">Other tools</a></span></dt><dt><span class="section"><a href="#problems-With-rewriting-history">Problems with rewriting history</a></span></dt><dt><span class="section"><a href="#bisect-merges">Why bisecting merge commits can be harder than bisecting linear history</a></span></dt></dl></dd><dt><span class="chapter"><a href="#advanced-branch-management">6. Advanced branch management</a></span></dt><dd><dl><dt><span class="section"><a href="#fetching-individual-branches">Fetching individual branches</a></span></dt><dt><span class="section"><a href="#fetch-fast-forwards">git fetch and fast-forwards</a></span></dt><dt><span class="section"><a href="#forcing-fetch">Forcing git fetch to do non-fast-forward updates</a></span></dt><dt><span class="section"><a href="#remote-branch-configuration">Configuring remote-tracking branches</a></span></dt></dl></dd><dt><span class="chapter"><a href="#git-concepts">7. Git concepts</a></span></dt><dd><dl><dt><span class="section"><a href="#the-object-database">The Object Database</a></span></dt><dd><dl><dt><span class="section"><a href="#commit-object">Commit Object</a></span></dt><dt><span class="section"><a href="#tree-object">Tree Object</a></span></dt><dt><span class="section"><a href="#blob-object">Blob Object</a></span></dt><dt><span class="section"><a href="#trust">Trust</a></span></dt><dt><span class="section"><a href="#tag-object">Tag Object</a></span></dt><dt><span class="section"><a href="#pack-files">How Git stores objects efficiently: pack files</a></span></dt><dt><span class="section"><a href="#dangling-objects">Dangling objects</a></span></dt><dt><span class="section"><a href="#recovering-from-repository-corruption">Recovering from repository corruption</a></span></dt></dl></dd><dt><span class="section"><a href="#the-index">The index</a></span></dt></dl></dd><dt><span class="chapter"><a href="#submodules">8. Submodules</a></span></dt><dd><dl><dt><span class="section"><a href="#pitfalls-with-submodules">Pitfalls with submodules</a></span></dt></dl></dd><dt><span class="chapter"><a href="#low-level-operations">9. Low-level Git operations</a></span></dt><dd><dl><dt><span class="section"><a href="#object-manipulation">Object access and manipulation</a></span></dt><dt><span class="section"><a href="#the-workflow">The Workflow</a></span></dt><dd><dl><dt><span class="section"><a href="#working-directory-to-index">working directory → index</a></span></dt><dt><span class="section"><a href="#index-to-object-database">index → object database</a></span></dt><dt><span class="section"><a href="#object-database-to-index">object database → index</a></span></dt><dt><span class="section"><a href="#index-to-working-directory">index → working directory</a></span></dt><dt><span class="section"><a href="#tying-it-all-together">Tying it all together</a></span></dt></dl></dd><dt><span class="section"><a href="#examining-the-data">Examining the data</a></span></dt><dt><span class="section"><a href="#merging-multiple-trees">Merging multiple trees</a></span></dt><dt><span class="section"><a href="#merging-multiple-trees-2">Merging multiple trees, continued</a></span></dt></dl></dd><dt><span class="chapter"><a href="#hacking-git">10. Hacking Git</a></span></dt><dd><dl><dt><span class="section"><a href="#object-details">Object storage format</a></span></dt><dt><span class="section"><a href="#birdview-on-the-source-code">A birds-eye view of Git’s source code</a></span></dt></dl></dd><dt><span class="chapter"><a href="#glossary">11. Git Glossary</a></span></dt><dd><dl><dt><span class="section"><a href="#git-explained">Git explained</a></span></dt></dl></dd><dt><span class="appendix"><a href="#git-quick-start">A. Git Quick Reference</a></span></dt><dd><dl><dt><span class="section"><a href="#quick-creating-a-new-repository">Creating a new repository</a></span></dt><dt><span class="section"><a href="#managing-branches">Managing branches</a></span></dt><dt><span class="section"><a href="#exploring-history">Exploring history</a></span></dt><dt><span class="section"><a href="#making-changes">Making changes</a></span></dt><dt><span class="section"><a href="#merging">Merging</a></span></dt><dt><span class="section"><a href="#sharing-your-changes">Sharing your changes</a></span></dt><dt><span class="section"><a href="#repository-maintenance">Repository maintenance</a></span></dt></dl></dd><dt><span class="appendix"><a href="#todo">B. Notes and todo list for this manual</a></span></dt><dd><dl><dt><span class="section"><a href="#todo-list">Todo list</a></span></dt></dl></dd></dl></div><div class="preface"><div class="titlepage"><div><div><h1 class="title"><a name="_introduction"></a>Introduction</h1></div></div></div><p>Git is a fast distributed revision control system.</p><p>This manual is designed to be readable by someone with basic UNIX
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Git User Manual</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div lang="en" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="id-1"></a>Git User Manual</h1></div><div><div class="revhistory"><table style="border-style:solid; width:100%;" summary="Revision History"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left"></td><td align="left">2024-03-11</td></tr></table></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="preface"><a href="#_introduction">Introduction</a></span></dt><dt><span class="chapter"><a href="#repositories-and-branches">1. Repositories and Branches</a></span></dt><dd><dl><dt><span class="section"><a href="#how-to-get-a-git-repository">How to get a Git repository</a></span></dt><dt><span class="section"><a href="#how-to-check-out">How to check out a different version of a project</a></span></dt><dt><span class="section"><a href="#understanding-commits">Understanding History: Commits</a></span></dt><dd><dl><dt><span class="section"><a href="#understanding-reachability">Understanding history: commits, parents, and reachability</a></span></dt><dt><span class="section"><a href="#history-diagrams">Understanding history: History diagrams</a></span></dt><dt><span class="section"><a href="#what-is-a-branch">Understanding history: What is a branch?</a></span></dt></dl></dd><dt><span class="section"><a href="#manipulating-branches">Manipulating branches</a></span></dt><dt><span class="section"><a href="#detached-head">Examining an old version without creating a new branch</a></span></dt><dt><span class="section"><a href="#examining-remote-branches">Examining branches from a remote repository</a></span></dt><dt><span class="section"><a href="#how-git-stores-references">Naming branches, tags, and other references</a></span></dt><dt><span class="section"><a href="#Updating-a-repository-With-git-fetch">Updating a repository with git fetch</a></span></dt><dt><span class="section"><a href="#fetching-branches">Fetching branches from other repositories</a></span></dt></dl></dd><dt><span class="chapter"><a href="#exploring-git-history">2. Exploring Git history</a></span></dt><dd><dl><dt><span class="section"><a href="#using-bisect">How to use bisect to find a regression</a></span></dt><dt><span class="section"><a href="#naming-commits">Naming commits</a></span></dt><dt><span class="section"><a href="#creating-tags">Creating tags</a></span></dt><dt><span class="section"><a href="#browsing-revisions">Browsing revisions</a></span></dt><dt><span class="section"><a href="#generating-diffs">Generating diffs</a></span></dt><dt><span class="section"><a href="#viewing-old-file-versions">Viewing old file versions</a></span></dt><dt><span class="section"><a href="#history-examples">Examples</a></span></dt><dd><dl><dt><span class="section"><a href="#counting-commits-on-a-branch">Counting the number of commits on a branch</a></span></dt><dt><span class="section"><a href="#checking-for-equal-branches">Check whether two branches point at the same history</a></span></dt><dt><span class="section"><a href="#finding-tagged-descendants">Find first tagged version including a given fix</a></span></dt><dt><span class="section"><a href="#showing-commits-unique-to-a-branch">Showing commits unique to a given branch</a></span></dt><dt><span class="section"><a href="#making-a-release">Creating a changelog and tarball for a software release</a></span></dt><dt><span class="section"><a href="#Finding-commits-With-given-Content">Finding commits referencing a file with given content</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#Developing-With-git">3. Developing with Git</a></span></dt><dd><dl><dt><span class="section"><a href="#telling-git-your-name">Telling Git your name</a></span></dt><dt><span class="section"><a href="#creating-a-new-repository">Creating a new repository</a></span></dt><dt><span class="section"><a href="#how-to-make-a-commit">How to make a commit</a></span></dt><dt><span class="section"><a href="#creating-good-commit-messages">Creating good commit messages</a></span></dt><dt><span class="section"><a href="#ignoring-files">Ignoring files</a></span></dt><dt><span class="section"><a href="#how-to-merge">How to merge</a></span></dt><dt><span class="section"><a href="#resolving-a-merge">Resolving a merge</a></span></dt><dd><dl><dt><span class="section"><a href="#conflict-resolution">Getting conflict-resolution help during a merge</a></span></dt></dl></dd><dt><span class="section"><a href="#undoing-a-merge">Undoing a merge</a></span></dt><dt><span class="section"><a href="#fast-forwards">Fast-forward merges</a></span></dt><dt><span class="section"><a href="#fixing-mistakes">Fixing mistakes</a></span></dt><dd><dl><dt><span class="section"><a href="#reverting-a-commit">Fixing a mistake with a new commit</a></span></dt><dt><span class="section"><a href="#fixing-a-mistake-by-rewriting-history">Fixing a mistake by rewriting history</a></span></dt><dt><span class="section"><a href="#checkout-of-path">Checking out an old version of a file</a></span></dt><dt><span class="section"><a href="#interrupted-work">Temporarily setting aside work in progress</a></span></dt></dl></dd><dt><span class="section"><a href="#ensuring-good-performance">Ensuring good performance</a></span></dt><dt><span class="section"><a href="#ensuring-reliability">Ensuring reliability</a></span></dt><dd><dl><dt><span class="section"><a href="#checking-for-corruption">Checking the repository for corruption</a></span></dt><dt><span class="section"><a href="#recovering-lost-changes">Recovering lost changes</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#sharing-development">4. Sharing development with others</a></span></dt><dd><dl><dt><span class="section"><a href="#getting-updates-With-git-pull">Getting updates with git pull</a></span></dt><dt><span class="section"><a href="#submitting-patches">Submitting patches to a project</a></span></dt><dt><span class="section"><a href="#importing-patches">Importing patches to a project</a></span></dt><dt><span class="section"><a href="#public-repositories">Public Git repositories</a></span></dt><dd><dl><dt><span class="section"><a href="#setting-up-a-public-repository">Setting up a public repository</a></span></dt><dt><span class="section"><a href="#exporting-via-git">Exporting a Git repository via the Git protocol</a></span></dt><dt><span class="section"><a href="#exporting-via-http">Exporting a git repository via HTTP</a></span></dt><dt><span class="section"><a href="#pushing-changes-to-a-public-repository">Pushing changes to a public repository</a></span></dt><dt><span class="section"><a href="#forcing-push">What to do when a push fails</a></span></dt><dt><span class="section"><a href="#setting-up-a-shared-repository">Setting up a shared repository</a></span></dt><dt><span class="section"><a href="#setting-up-gitweb">Allowing web browsing of a repository</a></span></dt></dl></dd><dt><span class="section"><a href="#how-to-get-a-git-repository-with-minimal-history">How to get a Git repository with minimal history</a></span></dt><dt><span class="section"><a href="#sharing-development-examples">Examples</a></span></dt><dd><dl><dt><span class="section"><a href="#maintaining-topic-branches">Maintaining topic branches for a Linux subsystem maintainer</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#cleaning-up-history">5. Rewriting history and maintaining patch series</a></span></dt><dd><dl><dt><span class="section"><a href="#patch-series">Creating the perfect patch series</a></span></dt><dt><span class="section"><a href="#using-git-rebase">Keeping a patch series up to date using git rebase</a></span></dt><dt><span class="section"><a href="#rewriting-one-commit">Rewriting a single commit</a></span></dt><dt><span class="section"><a href="#reordering-patch-series">Reordering or selecting from a patch series</a></span></dt><dt><span class="section"><a href="#interactive-rebase">Using interactive rebases</a></span></dt><dt><span class="section"><a href="#patch-series-tools">Other tools</a></span></dt><dt><span class="section"><a href="#problems-With-rewriting-history">Problems with rewriting history</a></span></dt><dt><span class="section"><a href="#bisect-merges">Why bisecting merge commits can be harder than bisecting linear history</a></span></dt></dl></dd><dt><span class="chapter"><a href="#advanced-branch-management">6. Advanced branch management</a></span></dt><dd><dl><dt><span class="section"><a href="#fetching-individual-branches">Fetching individual branches</a></span></dt><dt><span class="section"><a href="#fetch-fast-forwards">git fetch and fast-forwards</a></span></dt><dt><span class="section"><a href="#forcing-fetch">Forcing git fetch to do non-fast-forward updates</a></span></dt><dt><span class="section"><a href="#remote-branch-configuration">Configuring remote-tracking branches</a></span></dt></dl></dd><dt><span class="chapter"><a href="#git-concepts">7. Git concepts</a></span></dt><dd><dl><dt><span class="section"><a href="#the-object-database">The Object Database</a></span></dt><dd><dl><dt><span class="section"><a href="#commit-object">Commit Object</a></span></dt><dt><span class="section"><a href="#tree-object">Tree Object</a></span></dt><dt><span class="section"><a href="#blob-object">Blob Object</a></span></dt><dt><span class="section"><a href="#trust">Trust</a></span></dt><dt><span class="section"><a href="#tag-object">Tag Object</a></span></dt><dt><span class="section"><a href="#pack-files">How Git stores objects efficiently: pack files</a></span></dt><dt><span class="section"><a href="#dangling-objects">Dangling objects</a></span></dt><dt><span class="section"><a href="#recovering-from-repository-corruption">Recovering from repository corruption</a></span></dt></dl></dd><dt><span class="section"><a href="#the-index">The index</a></span></dt></dl></dd><dt><span class="chapter"><a href="#submodules">8. Submodules</a></span></dt><dd><dl><dt><span class="section"><a href="#pitfalls-with-submodules">Pitfalls with submodules</a></span></dt></dl></dd><dt><span class="chapter"><a href="#low-level-operations">9. Low-level Git operations</a></span></dt><dd><dl><dt><span class="section"><a href="#object-manipulation">Object access and manipulation</a></span></dt><dt><span class="section"><a href="#the-workflow">The Workflow</a></span></dt><dd><dl><dt><span class="section"><a href="#working-directory-to-index">working directory → index</a></span></dt><dt><span class="section"><a href="#index-to-object-database">index → object database</a></span></dt><dt><span class="section"><a href="#object-database-to-index">object database → index</a></span></dt><dt><span class="section"><a href="#index-to-working-directory">index → working directory</a></span></dt><dt><span class="section"><a href="#tying-it-all-together">Tying it all together</a></span></dt></dl></dd><dt><span class="section"><a href="#examining-the-data">Examining the data</a></span></dt><dt><span class="section"><a href="#merging-multiple-trees">Merging multiple trees</a></span></dt><dt><span class="section"><a href="#merging-multiple-trees-2">Merging multiple trees, continued</a></span></dt></dl></dd><dt><span class="chapter"><a href="#hacking-git">10. Hacking Git</a></span></dt><dd><dl><dt><span class="section"><a href="#object-details">Object storage format</a></span></dt><dt><span class="section"><a href="#birdview-on-the-source-code">A birds-eye view of Git’s source code</a></span></dt></dl></dd><dt><span class="chapter"><a href="#glossary">11. Git Glossary</a></span></dt><dd><dl><dt><span class="section"><a href="#git-explained">Git explained</a></span></dt></dl></dd><dt><span class="appendix"><a href="#git-quick-start">A. Git Quick Reference</a></span></dt><dd><dl><dt><span class="section"><a href="#quick-creating-a-new-repository">Creating a new repository</a></span></dt><dt><span class="section"><a href="#managing-branches">Managing branches</a></span></dt><dt><span class="section"><a href="#exploring-history">Exploring history</a></span></dt><dt><span class="section"><a href="#making-changes">Making changes</a></span></dt><dt><span class="section"><a href="#merging">Merging</a></span></dt><dt><span class="section"><a href="#sharing-your-changes">Sharing your changes</a></span></dt><dt><span class="section"><a href="#repository-maintenance">Repository maintenance</a></span></dt></dl></dd><dt><span class="appendix"><a href="#todo">B. Notes and todo list for this manual</a></span></dt><dd><dl><dt><span class="section"><a href="#todo-list">Todo list</a></span></dt></dl></dd></dl></div><div class="preface"><div class="titlepage"><div><div><h1 class="title"><a name="_introduction"></a>Introduction</h1></div></div></div><p>Git is a fast distributed revision control system.</p><p>This manual is designed to be readable by someone with basic UNIX
command-line skills, but no previous knowledge of Git.</p><p><a class="xref" href="#repositories-and-branches" title="Chapter 1. Repositories and Branches">Chapter 1, <i>Repositories and Branches</i></a> and <a class="xref" href="#exploring-git-history" title="Chapter 2. Exploring Git history">Chapter 2, <i>Exploring Git history</i></a> explain how
to fetch and study a project using git—read these chapters to learn how
to build and test a particular version of a software project, search for