summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-02-18 14:08:41 -0800
committerJunio C Hamano <gitster@pobox.com>2022-02-18 14:08:41 -0800
commit99a21c3fd90112166afacf1fe1ed3e1c5d74cea6 (patch)
treee7775783ce7319d96df3b6768de5470c7b4b2503
parent034a2ff96f3a3aa981e5ae4e242cefa4bd00323b (diff)
downloadgit-htmldocs-99a21c3fd90112166afacf1fe1ed3e1c5d74cea6.tar.gz
Autogenerated HTML docs for v2.35.1-273-ge6ebf
-rw-r--r--RelNotes/2.36.0.txt34
-rw-r--r--git-branch.html25
-rw-r--r--git-branch.txt19
-rw-r--r--git-config.html62
-rw-r--r--gitglossary.html18
-rw-r--r--glossary-content.txt13
-rw-r--r--howto/coordinate-embargoed-releases.html2
-rw-r--r--howto/keep-canonical-history-correct.html2
-rw-r--r--howto/maintain-git.html2
-rw-r--r--howto/new-command.html2
-rw-r--r--howto/rebase-from-internal-branch.html2
-rw-r--r--howto/rebuild-from-update-hook.html2
-rw-r--r--howto/recover-corrupted-blob-object.html2
-rw-r--r--howto/recover-corrupted-object-harder.html2
-rw-r--r--howto/revert-a-faulty-merge.html2
-rw-r--r--howto/revert-branch-rebase.html2
-rw-r--r--howto/separating-topic-branches.html2
-rw-r--r--howto/setup-git-server-over-http.html2
-rw-r--r--howto/update-hook-example.html2
-rw-r--r--howto/use-git-daemon.html2
-rw-r--r--howto/using-merge-subtree.html2
-rw-r--r--howto/using-signed-tag-in-pull-request.html2
-rw-r--r--user-manual.html14
23 files changed, 181 insertions, 36 deletions
diff --git a/RelNotes/2.36.0.txt b/RelNotes/2.36.0.txt
index 3e1261c58..4e8309701 100644
--- a/RelNotes/2.36.0.txt
+++ b/RelNotes/2.36.0.txt
@@ -34,6 +34,8 @@ UI, Workflows & Features
complete all Git subcommands, including the ones that are normally
hidden, when GIT_COMPLETION_SHOW_ALL_COMMANDS is used.
+ * "git branch" learned the "--recurse-submodules" option.
+
Performance, Internal Implementation, Development Support etc.
@@ -59,6 +61,10 @@ Performance, Internal Implementation, Development Support etc.
* "git update-index", "git checkout-index", and "git clean" are
taught to work better with the sparse checkout feature.
+ * Use an internal call to reset_head() helper function instead of
+ spawning "git checkout" in "rebase", and update code paths that are
+ involved in the change.
+
Fixes since v2.35
-----------------
@@ -162,6 +168,32 @@ Fixes since v2.35
has been corrected.
(merge 757e75c81e jz/patch-id-hunk-header-parsing-fix later to maint).
+ * "receive-pack" checks if it will do any ref updates (various
+ conditions could reject a push) before received objects are taken
+ out of the temporary directory used for quarantine purposes, so
+ that a push that is known-to-fail will not leave crufts that a
+ future "gc" needs to clean up.
+ (merge 5407764069 cb/clear-quarantine-early-on-all-ref-update-errors later to maint).
+
+ * Because a deletion of ref would need to remove it from both the
+ loose ref store and the packed ref store, a delete-ref operation
+ that logically removes one ref may end up invoking ref-transaction
+ hook twice, which has been corrected.
+ (merge 2ed1b64ebd ps/avoid-unnecessary-hook-invocation-with-packed-refs later to maint).
+
+ * When there is no object to write .bitmap file for, "git
+ multi-pack-index" triggered an error, instead of just skipping,
+ which has been corrected.
+ (merge eb57277ba3 tb/midx-no-bitmap-for-no-objects later to maint).
+
+ * "git cmd -h" outside a repository should error out cleanly for many
+ commands, but instead it hit a BUG(), which has been corrected.
+ (merge 87ad07d735 js/short-help-outside-repo-fix later to maint).
+
+ * "working tree" and "per-worktree ref" were in glossary, but
+ "worktree" itself wasn't, which has been corrected.
+ (merge 2df5387ed0 jc/glossary-worktree later to maint).
+
* Other code cleanup, docfix, build fix, etc.
(merge cfc5cf428b jc/find-header later to maint).
(merge 40e7cfdd46 jh/p4-fix-use-of-process-error-exception later to maint).
@@ -181,3 +213,5 @@ Fixes since v2.35
(merge 6798b08e84 ab/do-not-hide-failures-in-git-dot-pm later to maint).
(merge 9325285df4 po/doc-check-ignore-markup-fix later to maint).
(merge cd26cd6c7c sy/modernize-t-lib-read-tree-m-3way later to maint).
+ (merge d17294a05e ab/hash-object-leakfix later to maint).
+ (merge b8403129d3 jd/t0015-modernize later to maint).
diff --git a/git-branch.html b/git-branch.html
index 177f63f2f..7ba9d94e9 100644
--- a/git-branch.html
+++ b/git-branch.html
@@ -757,7 +757,8 @@ git-branch(1) Manual Page
[--points-at &lt;object&gt;] [--format=&lt;format&gt;]
[(-r | --remotes) | (-a | --all)]
[--list] [&lt;pattern&gt;&#8230;]
-<em>git branch</em> [--track[=(direct|inherit)] | --no-track] [-f] &lt;branchname&gt; [&lt;start-point&gt;]
+<em>git branch</em> [--track[=(direct|inherit)] | --no-track] [-f]
+ [--recurse-submodules] &lt;branchname&gt; [&lt;start-point&gt;]
<em>git branch</em> (--set-upstream-to=&lt;upstream&gt; | -u &lt;upstream&gt;) [&lt;branchname&gt;]
<em>git branch</em> --unset-upstream [&lt;branchname&gt;]
<em>git branch</em> (-m | -M) [&lt;oldbranch&gt;] &lt;newbranch&gt;
@@ -1104,6 +1105,26 @@ how the <code>branch.&lt;name&gt;.remote</code> and <code>branch.&lt;name&gt;.me
</p>
</dd>
<dt class="hdlist1">
+--recurse-submodules
+</dt>
+<dd>
+<p>
+ THIS OPTION IS EXPERIMENTAL! Causes the current command to
+ recurse into submodules if <code>submodule.propagateBranches</code> is
+ enabled. See <code>submodule.propagateBranches</code> in
+ <a href="git-config.html">git-config(1)</a>. Currently, only branch creation is
+ supported.
+</p>
+<div class="paragraph"><p>When used in branch creation, a new branch &lt;branchname&gt; will be created
+in the superproject and all of the submodules in the superproject&#8217;s
+&lt;start-point&gt;. In submodules, the branch will point to the submodule
+commit in the superproject&#8217;s &lt;start-point&gt; but the branch&#8217;s tracking
+information will be set up based on the submodule&#8217;s branches and remotes
+e.g. <code>git branch --recurse-submodules topic origin/main</code> will create the
+submodule branch "topic" that points to the submodule commit in the
+superproject&#8217;s "origin/main", but tracks the submodule&#8217;s "origin/main".</p></div>
+</dd>
+<dt class="hdlist1">
--set-upstream
</dt>
<dd>
@@ -1406,7 +1427,7 @@ a branch?&#8221;</a> in the Git User&#8217;s Manual.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-01-20 16:14:41 PST
+ 2022-02-18 14:05:46 PST
</div>
</div>
</body>
diff --git a/git-branch.txt b/git-branch.txt
index 731e340cb..c8b4f9ce3 100644
--- a/git-branch.txt
+++ b/git-branch.txt
@@ -16,7 +16,8 @@ SYNOPSIS
[--points-at <object>] [--format=<format>]
[(-r | --remotes) | (-a | --all)]
[--list] [<pattern>...]
-'git branch' [--track[=(direct|inherit)] | --no-track] [-f] <branchname> [<start-point>]
+'git branch' [--track[=(direct|inherit)] | --no-track] [-f]
+ [--recurse-submodules] <branchname> [<start-point>]
'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]
'git branch' --unset-upstream [<branchname>]
'git branch' (-m | -M) [<oldbranch>] <newbranch>
@@ -235,6 +236,22 @@ how the `branch.<name>.remote` and `branch.<name>.merge` options are used.
Do not set up "upstream" configuration, even if the
branch.autoSetupMerge configuration variable is set.
+--recurse-submodules::
+ THIS OPTION IS EXPERIMENTAL! Causes the current command to
+ recurse into submodules if `submodule.propagateBranches` is
+ enabled. See `submodule.propagateBranches` in
+ linkgit:git-config[1]. Currently, only branch creation is
+ supported.
++
+When used in branch creation, a new branch <branchname> will be created
+in the superproject and all of the submodules in the superproject's
+<start-point>. In submodules, the branch will point to the submodule
+commit in the superproject's <start-point> but the branch's tracking
+information will be set up based on the submodule's branches and remotes
+e.g. `git branch --recurse-submodules topic origin/main` will create the
+submodule branch "topic" that points to the submodule commit in the
+superproject's "origin/main", but tracks the submodule's "origin/main".
+
--set-upstream::
As this option had confusing syntax, it is no longer supported.
Please use `--track` or `--set-upstream-to` instead.
diff --git a/git-config.html b/git-config.html
index 638ce522c..2fb011efe 100644
--- a/git-config.html
+++ b/git-config.html
@@ -2196,6 +2196,15 @@ submoduleAlternateErrorStrategyDie
</p>
</dd>
<dt class="hdlist1">
+submodulesNotUpdated
+</dt>
+<dd>
+<p>
+ Advice shown when a user runs a submodule command that fails
+ because <code>git submodule update --init</code> was not run.
+</p>
+</dd>
+<dt class="hdlist1">
addIgnoredFile
</dt>
<dd>
@@ -9844,18 +9853,49 @@ submodule.recurse
<dd>
<p>
A boolean indicating if commands should enable the <code>--recurse-submodules</code>
- option by default.
- Applies to all commands that support this option
- (<code>checkout</code>, <code>fetch</code>, <code>grep</code>, <code>pull</code>, <code>push</code>, <code>read-tree</code>, <code>reset</code>,
- <code>restore</code> and <code>switch</code>) except <code>clone</code> and <code>ls-files</code>.
+ option by default. Defaults to false.
+</p>
+<div class="paragraph"><p>When set to true, it can be deactivated via the
+<code>--no-recurse-submodules</code> option. Note that some Git commands
+lacking this option may call some of the above commands affected by
+<code>submodule.recurse</code>; for instance <code>git remote update</code> will call
+<code>git fetch</code> but does not have a <code>--no-recurse-submodules</code> option.
+For these commands a workaround is to temporarily change the
+configuration value by using <code>git -c submodule.recurse=0</code>.</p></div>
+<div class="paragraph"><p>The following list shows the commands that accept
+<code>--recurse-submodules</code> and whether they are supported by this
+setting.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>checkout</code>, <code>fetch</code>, <code>grep</code>, <code>pull</code>, <code>push</code>, <code>read-tree</code>,
+<code>reset</code>, <code>restore</code> and <code>switch</code> are always supported.
+</p>
+</li>
+<li>
+<p>
+<code>clone</code> and <code>ls-files</code> are not supported.
+</p>
+</li>
+<li>
+<p>
+<code>branch</code> is supported only if <code>submodule.propagateBranches</code> is
+enabled
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+submodule.propagateBranches
+</dt>
+<dd>
+<p>
+ [EXPERIMENTAL] A boolean that enables branching support when
+ using <code>--recurse-submodules</code> or <code>submodule.recurse=true</code>.
+ Enabling this will allow certain commands to accept
+ <code>--recurse-submodules</code> and certain commands that already accept
+ <code>--recurse-submodules</code> will now consider branches.
Defaults to false.
- When set to true, it can be deactivated via the
- <code>--no-recurse-submodules</code> option. Note that some Git commands
- lacking this option may call some of the above commands affected by
- <code>submodule.recurse</code>; for instance <code>git remote update</code> will call
- <code>git fetch</code> but does not have a <code>--no-recurse-submodules</code> option.
- For these commands a workaround is to temporarily change the
- configuration value by using <code>git -c submodule.recurse=0</code>.
</p>
</dd>
<dt class="hdlist1">
diff --git a/gitglossary.html b/gitglossary.html
index d16e1e097..9289afb26 100644
--- a/gitglossary.html
+++ b/gitglossary.html
@@ -1293,7 +1293,7 @@ This commit is referred to as a "merge commit", or sometimes just a
ls-tree", "git add", "git grep", "git diff", "git checkout",
and many other commands to
limit the scope of operations to some subset of the tree or
-worktree. See the documentation of each command for whether
+working tree. See the documentation of each command for whether
paths are relative to the current directory or toplevel. The
pathspec syntax is as follows:</p></div>
<div class="openblock">
@@ -1516,7 +1516,7 @@ exclude
</dt>
<dd>
<p>
- Refs that are per-<a href="#def_working_tree">worktree</a>, rather than
+ Refs that are per-<a href="#def_worktree">worktree</a>, rather than
global. This is presently only <a href="#def_HEAD">HEAD</a> and any refs
that start with <code>refs/bisect/</code>, but might later include other
unusual refs.
@@ -1897,6 +1897,20 @@ The most notable example is <code>HEAD</code>.</p></div>
plus any local changes that you have made but not yet committed.
</p>
</dd>
+<dt class="hdlist1">
+<a id="def_worktree"></a>worktree
+</dt>
+<dd>
+<p>
+ A repository can have zero (i.e. bare repository) or one or
+ more worktrees attached to it. One "worktree" consists of a
+ "working tree" and repository metadata, most of which are
+ shared among other worktrees of a single repository, and
+ some of which are maintained separately per worktree
+ (e.g. the index, HEAD and pseudorefs like MERGE_HEAD,
+ per-worktree refs and per-worktree configuration file).
+</p>
+</dd>
</dl></div>
</div>
</div>
diff --git a/glossary-content.txt b/glossary-content.txt
index c07797133..aa2f41f5e 100644
--- a/glossary-content.txt
+++ b/glossary-content.txt
@@ -312,7 +312,7 @@ Pathspecs are used on the command line of "git ls-files", "git
ls-tree", "git add", "git grep", "git diff", "git checkout",
and many other commands to
limit the scope of operations to some subset of the tree or
-worktree. See the documentation of each command for whether
+working tree. See the documentation of each command for whether
paths are relative to the current directory or toplevel. The
pathspec syntax is as follows:
+
@@ -446,7 +446,7 @@ exclude;;
interface than the <<def_plumbing,plumbing>>.
[[def_per_worktree_ref]]per-worktree ref::
- Refs that are per-<<def_working_tree,worktree>>, rather than
+ Refs that are per-<<def_worktree,worktree>>, rather than
global. This is presently only <<def_HEAD,HEAD>> and any refs
that start with `refs/bisect/`, but might later include other
unusual refs.
@@ -669,3 +669,12 @@ The most notable example is `HEAD`.
The tree of actual checked out files. The working tree normally
contains the contents of the <<def_HEAD,HEAD>> commit's tree,
plus any local changes that you have made but not yet committed.
+
+[[def_worktree]]worktree::
+ A repository can have zero (i.e. bare repository) or one or
+ more worktrees attached to it. One "worktree" consists of a
+ "working tree" and repository metadata, most of which are
+ shared among other worktrees of a single repository, and
+ some of which are maintained separately per worktree
+ (e.g. the index, HEAD and pseudorefs like MERGE_HEAD,
+ per-worktree refs and per-worktree configuration file).
diff --git a/howto/coordinate-embargoed-releases.html b/howto/coordinate-embargoed-releases.html
index 418ff903e..74c6f15fa 100644
--- a/howto/coordinate-embargoed-releases.html
+++ b/howto/coordinate-embargoed-releases.html
@@ -873,7 +873,7 @@ Thanks,
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:48 PST
+ 2022-02-18 14:06:35 PST
</div>
</div>
</body>
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html
index f3b41c420..26d27bd6e 100644
--- a/howto/keep-canonical-history-correct.html
+++ b/howto/keep-canonical-history-correct.html
@@ -938,7 +938,7 @@ tip of your <em>master</em> again and redo the two merges:</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:48 PST
+ 2022-02-18 14:06:35 PST
</div>
</div>
</body>
diff --git a/howto/maintain-git.html b/howto/maintain-git.html
index 5fb5fc9a8..c7d1ddb07 100644
--- a/howto/maintain-git.html
+++ b/howto/maintain-git.html
@@ -1469,7 +1469,7 @@ $ git update-ref -d $mf/ai/topic</code></pre>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:48 PST
+ 2022-02-18 14:06:35 PST
</div>
</div>
</body>
diff --git a/howto/new-command.html b/howto/new-command.html
index c43913ead..589c90db7 100644
--- a/howto/new-command.html
+++ b/howto/new-command.html
@@ -863,7 +863,7 @@ letter [PATCH 0/n].
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:46 PST
+ 2022-02-18 14:06:31 PST
</div>
</div>
</body>
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html
index bf5163f79..daf9d78c6 100644
--- a/howto/rebase-from-internal-branch.html
+++ b/howto/rebase-from-internal-branch.html
@@ -895,7 +895,7 @@ the #1' commit.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:48 PST
+ 2022-02-18 14:06:35 PST
</div>
</div>
</body>
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html
index ed4088cf4..52b755f7c 100644
--- a/howto/rebuild-from-update-hook.html
+++ b/howto/rebuild-from-update-hook.html
@@ -847,7 +847,7 @@ This is still crude and does not protect against simultaneous
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:48 PST
+ 2022-02-18 14:06:35 PST
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html
index a12d7da4e..cf663655e 100644
--- a/howto/recover-corrupted-blob-object.html
+++ b/howto/recover-corrupted-blob-object.html
@@ -880,7 +880,7 @@ thing.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:48 PST
+ 2022-02-18 14:06:34 PST
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html
index 94282da33..98c2fe6dd 100644
--- a/howto/recover-corrupted-object-harder.html
+++ b/howto/recover-corrupted-object-harder.html
@@ -1189,7 +1189,7 @@ int main(int argc, char **argv)
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:48 PST
+ 2022-02-18 14:06:35 PST
</div>
</div>
</body>
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html
index aafc14375..4878d602b 100644
--- a/howto/revert-a-faulty-merge.html
+++ b/howto/revert-a-faulty-merge.html
@@ -1025,7 +1025,7 @@ P---o---o---M---x---x---W---x---M2
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:48 PST
+ 2022-02-18 14:06:34 PST
</div>
</div>
</body>
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html
index a08c17023..909fec70f 100644
--- a/howto/revert-branch-rebase.html
+++ b/howto/revert-branch-rebase.html
@@ -907,7 +907,7 @@ Committed merge 7fb9b7262a1d1e0a47bbfdcbbcf50ce0635d3f8f
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:46 PST
+ 2022-02-18 14:06:32 PST
</div>
</div>
</body>
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html
index 8b64e4567..8801af344 100644
--- a/howto/separating-topic-branches.html
+++ b/howto/separating-topic-branches.html
@@ -841,7 +841,7 @@ o---o"master"</code></pre>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:47 PST
+ 2022-02-18 14:06:34 PST
</div>
</div>
</body>
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html
index 8b8b74263..94e1d8871 100644
--- a/howto/setup-git-server-over-http.html
+++ b/howto/setup-git-server-over-http.html
@@ -1071,7 +1071,7 @@ help diagnosing the problem, but removes security checks.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:47 PST
+ 2022-02-18 14:06:34 PST
</div>
</div>
</body>
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html
index 7120dc430..4b308cf00 100644
--- a/howto/update-hook-example.html
+++ b/howto/update-hook-example.html
@@ -930,7 +930,7 @@ that JC can make non-fast-forward pushes on it.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:47 PST
+ 2022-02-18 14:06:33 PST
</div>
</div>
</body>
diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html
index de4ddf405..c20f91a49 100644
--- a/howto/use-git-daemon.html
+++ b/howto/use-git-daemon.html
@@ -791,7 +791,7 @@ a good practice to put the paths after a "--" separator.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:47 PST
+ 2022-02-18 14:06:33 PST
</div>
</div>
</body>
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html
index 9c69a5a39..69138f717 100644
--- a/howto/using-merge-subtree.html
+++ b/howto/using-merge-subtree.html
@@ -848,7 +848,7 @@ Please note that if the other project merges from you, then it will
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:46 PST
+ 2022-02-18 14:06:32 PST
</div>
</div>
</body>
diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html
index c70b669cf..94c17365e 100644
--- a/howto/using-signed-tag-in-pull-request.html
+++ b/howto/using-signed-tag-in-pull-request.html
@@ -952,7 +952,7 @@ as part of the merge commit.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-02-17 16:38:47 PST
+ 2022-02-18 14:06:33 PST
</div>
</div>
</body>
diff --git a/user-manual.html b/user-manual.html
index d85de014f..e5b89c596 100644
--- a/user-manual.html
+++ b/user-manual.html
@@ -2298,7 +2298,7 @@ This commit is referred to as a "merge commit", or sometimes just a
ls-tree", "git add", "git grep", "git diff", "git checkout",
and many other commands to
limit the scope of operations to some subset of the tree or
-worktree. See the documentation of each command for whether
+working tree. See the documentation of each command for whether
paths are relative to the current directory or toplevel. The
pathspec syntax is as follows:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
any path matches itself
@@ -2422,7 +2422,7 @@ exclude
</dd><dt><span class="term">
<a name="def_per_worktree_ref"></a>per-worktree ref
</span></dt><dd>
- Refs that are per-<a class="link" href="#def_working_tree">worktree</a>, rather than
+ Refs that are per-<a class="link" href="#def_worktree">worktree</a>, rather than
global. This is presently only <a class="link" href="#def_HEAD">HEAD</a> and any refs
that start with <code class="literal">refs/bisect/</code>, but might later include other
unusual refs.
@@ -2671,6 +2671,16 @@ The most notable example is <code class="literal">HEAD</code>.</p></dd><dt><span
The tree of actual checked out files. The working tree normally
contains the contents of the <a class="link" href="#def_HEAD">HEAD</a> commit’s tree,
plus any local changes that you have made but not yet committed.
+</dd><dt><span class="term">
+<a name="def_worktree"></a>worktree
+</span></dt><dd>
+ A repository can have zero (i.e. bare repository) or one or
+ more worktrees attached to it. One "worktree" consists of a
+ "working tree" and repository metadata, most of which are
+ shared among other worktrees of a single repository, and
+ some of which are maintained separately per worktree
+ (e.g. the index, HEAD and pseudorefs like MERGE_HEAD,
+ per-worktree refs and per-worktree configuration file).
</dd></dl></div></div></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a name="git-quick-start"></a>Appendix A. Git Quick Reference</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><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></div><p>This is a quick summary of the major commands; the previous chapters
explain how these work in more detail.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="quick-creating-a-new-repository"></a>Creating a new repository</h2></div></div></div><p>From a tarball:</p><pre class="screen">$ tar xzf project.tar.gz
$ cd project