summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-03-28 14:37:43 -0700
committerJunio C Hamano <gitster@pobox.com>2024-03-28 14:37:43 -0700
commitc416a71a462b776d9f3924af7dbfda8bd4f87bdf (patch)
tree382b0ef1b5f3124d04d7989e4f2e5703ca5f2d5f
parent8842ccc9dc941b70fd8eccbfcd41acac8627f67f (diff)
downloadgit-htmldocs-c416a71a462b776d9f3924af7dbfda8bd4f87bdf.tar.gz
Autogenerated HTML docs for v2.44.0-413-gd6fd0
-rw-r--r--MyFirstContribution.html2
-rw-r--r--MyFirstObjectWalk.html2
-rw-r--r--RelNotes/2.45.0.txt18
-rw-r--r--ReviewingGuidelines.html2
-rw-r--r--SubmittingPatches.html2
-rw-r--r--ToolsForGit.html2
-rw-r--r--diff-options.txt5
-rw-r--r--everyday.html2
-rw-r--r--git-commit.html6
-rw-r--r--git-commit.txt2
-rw-r--r--git-config.html36
-rw-r--r--git-diff-files.html5
-rw-r--r--git-diff-index.html5
-rw-r--r--git-diff-tree.html5
-rw-r--r--git-diff.html23
-rw-r--r--git-format-patch.html5
-rw-r--r--git-log.html5
-rw-r--r--git-remote-helpers.html2
-rw-r--r--git-rev-parse.html24
-rw-r--r--git-rev-parse.txt12
-rw-r--r--git-show.html5
-rw-r--r--git-status.html6
-rw-r--r--git-status.txt2
-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
60 files changed, 200 insertions, 82 deletions
diff --git a/MyFirstContribution.html b/MyFirstContribution.html
index 7e70fe020..dae31e748 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/MyFirstObjectWalk.html b/MyFirstObjectWalk.html
index 6fba5aca5..889fdfd24 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/RelNotes/2.45.0.txt b/RelNotes/2.45.0.txt
index 903c66596..cabdaf48b 100644
--- a/RelNotes/2.45.0.txt
+++ b/RelNotes/2.45.0.txt
@@ -45,6 +45,18 @@ UI, Workflows & Features
* The output format for dates "iso-strict" has been tweaked to show
a time in the Zulu timezone with "Z" suffix, instead of "+00:00".
+ * "git diff" and friends learned two extra configuration variables,
+ diff.srcPrefix and diff.dstPrefix.
+
+ * The status.showUntrackedFiles configuration variable had a name
+ that tempts users to set a Boolean value expressed in our usual
+ "false", "off", and "0", but it only took "no". This has been
+ corrected so "true" and its synonyms are taken as "normal", while
+ "false" and its synonyms are taken as "no".
+
+ * Remove an ancient and not well maintained Hg-to-git migration
+ script from contrib/.
+
Performance, Internal Implementation, Development Support etc.
@@ -93,6 +105,12 @@ Performance, Internal Implementation, Development Support etc.
* The code to iterate over reflogs in the reftable has been optimized
to reduce memory allocation and deallocation.
+ * Work to support a repository that work with both SHA-1 and SHA-256
+ hash algorithms has started.
+
+ * A new fuzz target that exercises config parsing code has been
+ added.
+
Fixes since v2.44
-----------------
diff --git a/ReviewingGuidelines.html b/ReviewingGuidelines.html
index 26012a506..263681834 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/SubmittingPatches.html b/SubmittingPatches.html
index 15dd239d4..a3bf5da63 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/ToolsForGit.html b/ToolsForGit.html
index 25fdc60f9..7a82ae560 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/diff-options.txt b/diff-options.txt
index aaaff0d46..0e9456957 100644
--- a/diff-options.txt
+++ b/diff-options.txt
@@ -865,8 +865,9 @@ endif::git-format-patch[]
--default-prefix::
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as `diff.noprefix`.
+ This overrides configuration variables such as `diff.noprefix`,
+ `diff.srcPrefix`, `diff.dstPrefix`, and `diff.mnemonicPrefix`
+ (see `git-config`(1)).
--line-prefix=<prefix>::
Prepend an additional prefix to every line of output.
diff --git a/everyday.html b/everyday.html
index 46a7b5429..e889bef08 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/git-commit.html b/git-commit.html
index 992b1353a..5f02573ba 100644
--- a/git-commit.html
+++ b/git-commit.html
@@ -1348,7 +1348,9 @@ default is <em>normal</em>, i.e. show untracked files and directories.</p></div>
</p>
</li>
</ul></div>
-<div class="paragraph"><p>The default can be changed using the status.showUntrackedFiles
+<div class="paragraph"><p>All usual spellings for Boolean value <code>true</code> are taken as <code>normal</code>
+and <code>false</code> as <code>no</code>.
+The default can be changed using the status.showUntrackedFiles
configuration variable documented in <a href="git-config.html">git-config(1)</a>.</p></div>
</div></div>
</dd>
@@ -1840,7 +1842,7 @@ information.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2023-10-04 15:43:56 PDT
+ 2024-03-28 14:36:08 PDT
</div>
</div>
</body>
diff --git a/git-commit.txt b/git-commit.txt
index a6cef5d82..89ecfc63a 100644
--- a/git-commit.txt
+++ b/git-commit.txt
@@ -347,6 +347,8 @@ The possible options are:
- 'normal' - Shows untracked files and directories
- 'all' - Also shows individual files in untracked directories.
+All usual spellings for Boolean value `true` are taken as `normal`
+and `false` as `no`.
The default can be changed using the status.showUntrackedFiles
configuration variable documented in linkgit:git-config[1].
--
diff --git a/git-config.html b/git-config.html
index 542229b30..3c638629a 100644
--- a/git-config.html
+++ b/git-config.html
@@ -4903,7 +4903,7 @@ diff.mnemonicPrefix
</dl></div>
</dd>
<dt class="hdlist1">
-diff.noprefix
+diff.noPrefix
</dt>
<dd>
<p>
@@ -4911,6 +4911,22 @@ diff.noprefix
</p>
</dd>
<dt class="hdlist1">
+diff.srcPrefix
+</dt>
+<dd>
+<p>
+ If set, <em>git diff</em> uses this source prefix. Defaults to "a/".
+</p>
+</dd>
+<dt class="hdlist1">
+diff.dstPrefix
+</dt>
+<dd>
+<p>
+ If set, <em>git diff</em> uses this destination prefix. Defaults to "b/".
+</p>
+</dd>
+<dt class="hdlist1">
diff.relative
</dt>
<dd>
@@ -5423,6 +5439,22 @@ extensions.objectFormat
work and will produce hard-to-diagnose issues.</p></div>
</dd>
<dt class="hdlist1">
+extensions.compatObjectFormat
+</dt>
+<dd>
+<p>
+ Specify a compatitbility hash algorithm to use. The acceptable values
+ are <code>sha1</code> and <code>sha256</code>. The value specified must be different from the
+ value of extensions.objectFormat. This allows client level
+ interoperability between git repositories whose objectFormat matches
+ this compatObjectFormat. In particular when fully implemented the
+ pushes and pulls from a repository in whose objectFormat matches
+ compatObjectFormat. As well as being able to use oids encoded in
+ compatObjectFormat in addition to oids encoded with objectFormat to
+ locally specify objects.
+</p>
+</dd>
+<dt class="hdlist1">
extensions.refStorage
</dt>
<dd>
@@ -10982,6 +11014,8 @@ status.showUntrackedFiles
</ul></div>
</div></div>
<div class="paragraph"><p>If this variable is not specified, it defaults to <em>normal</em>.
+All usual spellings for Boolean value <code>true</code> are taken as <code>normal</code>
+and <code>false</code> as <code>no</code>.
This variable can be overridden with the -u|--untracked-files option
of <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a>.</p></div>
</dd>
diff --git a/git-diff-files.html b/git-diff-files.html
index 357e16e15..53a210965 100644
--- a/git-diff-files.html
+++ b/git-diff-files.html
@@ -2024,8 +2024,9 @@ matches "<code>fooasdfbar</code>" and "<code>foo/bar/baz/asdf</code>" but not "<
<dd>
<p>
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as <code>diff.noprefix</code>.
+ This overrides configuration variables such as <code>diff.noprefix</code>,
+ <code>diff.srcPrefix</code>, <code>diff.dstPrefix</code>, and <code>diff.mnemonicPrefix</code>
+ (see <code>git-config</code>(1)).
</p>
</dd>
<dt class="hdlist1">
diff --git a/git-diff-index.html b/git-diff-index.html
index 7f9d6901e..8ccf040b0 100644
--- a/git-diff-index.html
+++ b/git-diff-index.html
@@ -2025,8 +2025,9 @@ matches "<code>fooasdfbar</code>" and "<code>foo/bar/baz/asdf</code>" but not "<
<dd>
<p>
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as <code>diff.noprefix</code>.
+ This overrides configuration variables such as <code>diff.noprefix</code>,
+ <code>diff.srcPrefix</code>, <code>diff.dstPrefix</code>, and <code>diff.mnemonicPrefix</code>
+ (see <code>git-config</code>(1)).
</p>
</dd>
<dt class="hdlist1">
diff --git a/git-diff-tree.html b/git-diff-tree.html
index 725398b78..4d2ab3629 100644
--- a/git-diff-tree.html
+++ b/git-diff-tree.html
@@ -2026,8 +2026,9 @@ matches "<code>fooasdfbar</code>" and "<code>foo/bar/baz/asdf</code>" but not "<
<dd>
<p>
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as <code>diff.noprefix</code>.
+ This overrides configuration variables such as <code>diff.noprefix</code>,
+ <code>diff.srcPrefix</code>, <code>diff.dstPrefix</code>, and <code>diff.mnemonicPrefix</code>
+ (see <code>git-config</code>(1)).
</p>
</dd>
<dt class="hdlist1">
diff --git a/git-diff.html b/git-diff.html
index ead5a8cea..f10849177 100644
--- a/git-diff.html
+++ b/git-diff.html
@@ -2166,8 +2166,9 @@ matches "<code>fooasdfbar</code>" and "<code>foo/bar/baz/asdf</code>" but not "<
<dd>
<p>
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as <code>diff.noprefix</code>.
+ This overrides configuration variables such as <code>diff.noprefix</code>,
+ <code>diff.srcPrefix</code>, <code>diff.dstPrefix</code>, and <code>diff.mnemonicPrefix</code>
+ (see <code>git-config</code>(1)).
</p>
</dd>
<dt class="hdlist1">
@@ -3224,7 +3225,7 @@ diff.mnemonicPrefix
</dl></div>
</dd>
<dt class="hdlist1">
-diff.noprefix
+diff.noPrefix
</dt>
<dd>
<p>
@@ -3232,6 +3233,22 @@ diff.noprefix
</p>
</dd>
<dt class="hdlist1">
+diff.srcPrefix
+</dt>
+<dd>
+<p>
+ If set, <em>git diff</em> uses this source prefix. Defaults to "a/".
+</p>
+</dd>
+<dt class="hdlist1">
+diff.dstPrefix
+</dt>
+<dd>
+<p>
+ If set, <em>git diff</em> uses this destination prefix. Defaults to "b/".
+</p>
+</dd>
+<dt class="hdlist1">
diff.relative
</dt>
<dd>
diff --git a/git-format-patch.html b/git-format-patch.html
index b069e3a1e..2e19e47b6 100644
--- a/git-format-patch.html
+++ b/git-format-patch.html
@@ -1606,8 +1606,9 @@ matches "<code>fooasdfbar</code>" and "<code>foo/bar/baz/asdf</code>" but not "<
<dd>
<p>
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as <code>diff.noprefix</code>.
+ This overrides configuration variables such as <code>diff.noprefix</code>,
+ <code>diff.srcPrefix</code>, <code>diff.dstPrefix</code>, and <code>diff.mnemonicPrefix</code>
+ (see <code>git-config</code>(1)).
</p>
</dd>
<dt class="hdlist1">
diff --git a/git-log.html b/git-log.html
index 0df8f7716..600c6efaf 100644
--- a/git-log.html
+++ b/git-log.html
@@ -4954,8 +4954,9 @@ matches "<code>fooasdfbar</code>" and "<code>foo/bar/baz/asdf</code>" but not "<
<dd>
<p>
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as <code>diff.noprefix</code>.
+ This overrides configuration variables such as <code>diff.noprefix</code>,
+ <code>diff.srcPrefix</code>, <code>diff.dstPrefix</code>, and <code>diff.mnemonicPrefix</code>
+ (see <code>git-config</code>(1)).
</p>
</dd>
<dt class="hdlist1">
diff --git a/git-remote-helpers.html b/git-remote-helpers.html
index 35bcab23a..877728df1 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/git-rev-parse.html b/git-rev-parse.html
index 632270b21..d50d9174f 100644
--- a/git-rev-parse.html
+++ b/git-rev-parse.html
@@ -1001,6 +1001,28 @@ for another option.</p></div>
refnames (e.g. "refs/heads/master").
</p>
</dd>
+<dt class="hdlist1">
+--output-object-format=(sha1|sha256|storage)
+</dt>
+<dd>
+<p>
+ Allow oids to be input from any object format that the current
+ repository supports.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>Specifying "sha1" translates if necessary and returns a sha1 oid.</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Specifying "sha256" translates if necessary and returns a sha256 oid.</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Specifying "storage" translates if necessary and returns an oid in
+encoded in the storage hash algorithm.</code></pre>
+</div></div>
+</dd>
</dl></div>
</div>
<div class="sect2">
@@ -2159,7 +2181,7 @@ Similar to above:
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-01 17:30:58 PST
+ 2024-03-28 14:36:08 PDT
</div>
</div>
</body>
diff --git a/git-rev-parse.txt b/git-rev-parse.txt
index 5d83dd36d..f9d5a35fa 100644
--- a/git-rev-parse.txt
+++ b/git-rev-parse.txt
@@ -159,6 +159,18 @@ for another option.
unfortunately named tag "master"), and shows them as full
refnames (e.g. "refs/heads/master").
+--output-object-format=(sha1|sha256|storage)::
+
+ Allow oids to be input from any object format that the current
+ repository supports.
+
+ Specifying "sha1" translates if necessary and returns a sha1 oid.
+
+ Specifying "sha256" translates if necessary and returns a sha256 oid.
+
+ Specifying "storage" translates if necessary and returns an oid in
+ encoded in the storage hash algorithm.
+
Options for Objects
~~~~~~~~~~~~~~~~~~~
diff --git a/git-show.html b/git-show.html
index cb418c994..89367cb5e 100644
--- a/git-show.html
+++ b/git-show.html
@@ -3406,8 +3406,9 @@ matches "<code>fooasdfbar</code>" and "<code>foo/bar/baz/asdf</code>" but not "<
<dd>
<p>
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as <code>diff.noprefix</code>.
+ This overrides configuration variables such as <code>diff.noprefix</code>,
+ <code>diff.srcPrefix</code>, <code>diff.dstPrefix</code>, and <code>diff.mnemonicPrefix</code>
+ (see <code>git-config</code>(1)).
</p>
</dd>
<dt class="hdlist1">
diff --git a/git-status.html b/git-status.html
index f8cd29158..d67bdfe85 100644
--- a/git-status.html
+++ b/git-status.html
@@ -877,7 +877,9 @@ time in a large working tree.
Consider enabling untracked cache and split index if supported (see
<code>git update-index --untracked-cache</code> and <code>git update-index
--split-index</code>), Otherwise you can use <code>no</code> to have <code>git status</code>
-return more quickly without showing untracked files.</p></div>
+return more quickly without showing untracked files.
+All usual spellings for Boolean value <code>true</code> are taken as <code>normal</code>
+and <code>false</code> as <code>no</code>.</p></div>
<div class="paragraph"><p>The default can be changed using the status.showUntrackedFiles
configuration variable documented in <a href="git-config.html">git-config(1)</a>.</p></div>
</div></div>
@@ -1464,7 +1466,7 @@ normal.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-21 16:28:38 PDT
+ 2024-03-28 14:36:08 PDT
</div>
</div>
</body>
diff --git a/git-status.txt b/git-status.txt
index b0f36fabf..9a376886a 100644
--- a/git-status.txt
+++ b/git-status.txt
@@ -79,6 +79,8 @@ Consider enabling untracked cache and split index if supported (see
`git update-index --untracked-cache` and `git update-index
--split-index`), Otherwise you can use `no` to have `git status`
return more quickly without showing untracked files.
+All usual spellings for Boolean value `true` are taken as `normal`
+and `false` as `no`.
The default can be changed using the status.showUntrackedFiles
configuration variable documented in linkgit:git-config[1].
diff --git a/howto/coordinate-embargoed-releases.html b/howto/coordinate-embargoed-releases.html
index 23bbc15b8..88ffc5284 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-25 17:25:13 PDT
+ 2024-03-28 14:36:32 PDT
</div>
</div>
</body>
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html
index 72e7d2b18..2e7dcd4a3 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:13 PDT
+ 2024-03-28 14:36:32 PDT
</div>
</div>
</body>
diff --git a/howto/maintain-git.html b/howto/maintain-git.html
index a5336aaf8..5fefcaeb1 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:13 PDT
+ 2024-03-28 14:36:32 PDT
</div>
</div>
</body>
diff --git a/howto/new-command.html b/howto/new-command.html
index 297d8b016..aee5b1c95 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:12 PDT
+ 2024-03-28 14:36:31 PDT
</div>
</div>
</body>
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html
index 9c228e14d..de8b32b4e 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:13 PDT
+ 2024-03-28 14:36:32 PDT
</div>
</div>
</body>
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html
index ae601be82..4ddbf1adb 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:13 PDT
+ 2024-03-28 14:36:32 PDT
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html
index 0056f5b33..d80d64773 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:13 PDT
+ 2024-03-28 14:36:32 PDT
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html
index 2d4e2add8..fcf261acf 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:13 PDT
+ 2024-03-28 14:36:32 PDT
</div>
</div>
</body>
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html
index f8364843d..5be923201 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:13 PDT
+ 2024-03-28 14:36:32 PDT
</div>
</div>
</body>
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html
index ac8aa5d06..0d13271ac 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:12 PDT
+ 2024-03-28 14:36:31 PDT
</div>
</div>
</body>
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html
index 3dd17f359..54d5549de 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:13 PDT
+ 2024-03-28 14:36:32 PDT
</div>
</div>
</body>
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html
index 8e34ab7d0..90574658c 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:12 PDT
+ 2024-03-28 14:36:32 PDT
</div>
</div>
</body>
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html
index 956398014..7cf7bca89 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:12 PDT
+ 2024-03-28 14:36:31 PDT
</div>
</div>
</body>
diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html
index cca4a90b5..c1f693278 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:12 PDT
+ 2024-03-28 14:36:31 PDT
</div>
</div>
</body>
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html
index 63fba1fb8..413ffd327 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:12 PDT
+ 2024-03-28 14:36:31 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 261a672c1..0aa688db0 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-25</span>
+<span id="revdate">2024-03-28</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-25 17:25:12 PDT
+ 2024-03-28 14:36:31 PDT
</div>
</div>
</body>
diff --git a/technical/api-error-handling.html b/technical/api-error-handling.html
index d26c1bda1..4d6ece189 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-index.html b/technical/api-index.html
index a8fa830ea..4e4b5091d 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-merge.html b/technical/api-merge.html
index b168cf366..574078857 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-parse-options.html b/technical/api-parse-options.html
index 30d8e0f5f..b859d6ff0 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-simple-ipc.html b/technical/api-simple-ipc.html
index b5fb56447..d9231616d 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-trace2.html b/technical/api-trace2.html
index f5f8b2eed..403972942 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/bitmap-format.html b/technical/bitmap-format.html
index c0d15d009..f1c232ef8 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/technical/bundle-uri.html b/technical/bundle-uri.html
index 90bdda40d..e2cabcea2 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/hash-function-transition.html b/technical/hash-function-transition.html
index f28bc868d..bc80c0652 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-25</span>
+<span id="revdate">2024-03-28</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 1120b3050..27b7b4800 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/multi-pack-index.html b/technical/multi-pack-index.html
index f5c9183e7..dbc2bab62 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/pack-heuristics.html b/technical/pack-heuristics.html
index 377a63a71..813916f88 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/parallel-checkout.html b/technical/parallel-checkout.html
index a03fc0e7e..04c7a0b8d 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/partial-clone.html b/technical/partial-clone.html
index 25e6a3fa8..e0950d7de 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/racy-git.html b/technical/racy-git.html
index a8913f59b..2aab0de92 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/technical/scalar.html b/technical/scalar.html
index d4ab66a91..27e339101 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/send-pack-pipeline.html b/technical/send-pack-pipeline.html
index 13fb93852..0f3e52f82 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/technical/shallow.html b/technical/shallow.html
index 88cd5b403..4a146f7b0 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/trivial-merge.html b/technical/trivial-merge.html
index e627da80a..d90a7a5e8 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/unit-tests.html b/technical/unit-tests.html
index d6fd46521..82919d296 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-25</span>
+<span id="revdate">2024-03-28</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/user-manual.html b/user-manual.html
index c609592a2..4e3389347 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-25</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-28</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