diff options
author | Junio C Hamano <gitster@pobox.com> | 2024-03-25 17:26:23 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-03-25 17:26:23 -0700 |
commit | 8842ccc9dc941b70fd8eccbfcd41acac8627f67f (patch) | |
tree | 96a88c84fcd5e6707814050b8c611f3cfe07cbae | |
parent | fd4c4dc9f73ff03dad1eb33a5ec51e32dfcb2b4b (diff) | |
download | git-htmldocs-8842ccc9dc941b70fd8eccbfcd41acac8627f67f.tar.gz |
Autogenerated HTML docs for v2.44.0-368-gc75fd
71 files changed, 175 insertions, 150 deletions
diff --git a/MyFirstContribution.html b/MyFirstContribution.html index d294e7f81..7e70fe020 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/MyFirstObjectWalk.html b/MyFirstObjectWalk.html index a9c7c2b37..6fba5aca5 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/RelNotes/2.45.0.txt b/RelNotes/2.45.0.txt index b780bb89c..903c66596 100644 --- a/RelNotes/2.45.0.txt +++ b/RelNotes/2.45.0.txt @@ -214,6 +214,18 @@ Fixes since v2.44 * The status.showUntrackedFiles configuration variable was incorrectly documented to accept "false", which has been corrected. + * Leaks from "git restore" have been plugged. + (merge 2f64da0790 rj/restore-plug-leaks later to maint). + + * "git bugreport --no-suffix" was not supported and instead + segfaulted, which has been corrected. + (merge b3b57c69da js/bugreport-no-suffix-fix later to maint). + + * The documentation for "%(trailers[:options])" placeholder in the + "--pretty" option of commands in the "git log" family has been + updated. + (merge bff85a338c bl/doc-key-val-sep-fix 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). @@ -233,3 +245,6 @@ Fixes since v2.44 (merge 781fb7b4c2 as/option-names-in-messages later to maint). (merge 51d41dc243 jk/doc-remote-helpers-markup-fix later to maint). (merge e1aaf309db pb/ci-win-artifact-names-fix later to maint). + (merge ad538c61da jc/index-pack-fsck-levels later to maint). + (merge 67471bc704 ja/doc-formatting-fix later to maint). + (merge 86f9ce7dd6 bl/doc-config-fixes later to maint). diff --git a/ReviewingGuidelines.html b/ReviewingGuidelines.html index 80828f7cf..26012a506 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/SubmittingPatches.html b/SubmittingPatches.html index 79b94d578..15dd239d4 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/ToolsForGit.html b/ToolsForGit.html index 9b4baa934..25fdc60f9 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/everyday.html b/everyday.html index 45f4e4139..46a7b5429 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/fetch-options.txt b/fetch-options.txt index 54ebb4452..e22b217fb 100644 --- a/fetch-options.txt +++ b/fetch-options.txt @@ -202,7 +202,7 @@ endif::git-pull[] destination of an explicit refspec; see `--prune`). ifndef::git-pull[] ---recurse-submodules[=yes|on-demand|no]:: +--recurse-submodules[=(yes|on-demand|no)]:: This option controls if and under what conditions new commits of submodules should be fetched too. When recursing through submodules, `git fetch` always attempts to fetch "changed" submodules, that is, a diff --git a/git-bugreport.html b/git-bugreport.html index 0660aa964..2413de611 100644 --- a/git-bugreport.html +++ b/git-bugreport.html @@ -749,7 +749,8 @@ git-bugreport(1) Manual Page <h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
-<pre class="content"><em>git bugreport</em> [(-o | --output-directory) <path>] [(-s | --suffix) <format>]
+<pre class="content"><em>git bugreport</em> [(-o | --output-directory) <path>]
+ [(-s | --suffix) <format> | --no-suffix]
[--diagnose[=<mode>]]</pre>
<div class="attribution">
</div></div>
@@ -840,11 +841,16 @@ the kind of information listed above when manually asking for help.</p></div> <dt class="hdlist1">
--suffix <format>
</dt>
+<dt class="hdlist1">
+--no-suffix
+</dt>
<dd>
<p>
Specify an alternate suffix for the bugreport name, to create a file
named <em>git-bugreport-<formatted-suffix></em>. This should take the form of a
strftime(3) format string; the current local time will be used.
+ <code>--no-suffix</code> disables the suffix and the file is just named
+ <code>git-bugreport</code> without any disambiguation measure.
</p>
</dd>
<dt class="hdlist1">
@@ -880,7 +886,7 @@ about their usage.</p></div> <div id="footer">
<div id="footer-text">
Last updated
- 2024-02-08 15:45:59 PST
+ 2024-03-25 17:24:49 PDT
</div>
</div>
</body>
diff --git a/git-bugreport.txt b/git-bugreport.txt index ca626f7fc..112658b3c 100644 --- a/git-bugreport.txt +++ b/git-bugreport.txt @@ -8,7 +8,8 @@ git-bugreport - Collect information for user to file a bug report SYNOPSIS -------- [verse] -'git bugreport' [(-o | --output-directory) <path>] [(-s | --suffix) <format>] +'git bugreport' [(-o | --output-directory) <path>] + [(-s | --suffix) <format> | --no-suffix] [--diagnose[=<mode>]] DESCRIPTION @@ -51,9 +52,12 @@ OPTIONS -s <format>:: --suffix <format>:: +--no-suffix:: Specify an alternate suffix for the bugreport name, to create a file named 'git-bugreport-<formatted-suffix>'. This should take the form of a strftime(3) format string; the current local time will be used. + `--no-suffix` disables the suffix and the file is just named + `git-bugreport` without any disambiguation measure. --no-diagnose:: --diagnose[=<mode>]:: diff --git a/git-config.html b/git-config.html index 101cfd1d6..542229b30 100644 --- a/git-config.html +++ b/git-config.html @@ -1209,7 +1209,8 @@ available files.</p></div> <dd>
<p>
Opens an editor to modify the specified config file; either
- <code>--system</code>, <code>--global</code>, or repository (default).
+ <code>--system</code>, <code>--global</code>, <code>--local</code> (default), <code>--worktree</code>, or
+ <code>--file <config-file></code>.
</p>
</dd>
<dt class="hdlist1">
@@ -1229,7 +1230,7 @@ available files.</p></div> <dd>
<p>
When using <code>--get</code>, and the requested variable is not found, behave as if
- <value> were the value assigned to the that variable.
+ <value> were the value assigned to that variable.
</p>
</dd>
</dl></div>
@@ -11933,7 +11934,7 @@ looks like</p></div> <div id="footer">
<div id="footer-text">
Last updated
- 2024-02-08 15:45:59 PST
+ 2024-03-25 17:24:49 PDT
</div>
</div>
</body>
diff --git a/git-config.txt b/git-config.txt index dff39093b..a6e82b871 100644 --- a/git-config.txt +++ b/git-config.txt @@ -275,7 +275,8 @@ Valid `<type>`'s include: -e:: --edit:: Opens an editor to modify the specified config file; either - `--system`, `--global`, or repository (default). + `--system`, `--global`, `--local` (default), `--worktree`, or + `--file <config-file>`. --[no-]includes:: Respect `include.*` directives in config files when looking up @@ -285,7 +286,7 @@ Valid `<type>`'s include: --default <value>:: When using `--get`, and the requested variable is not found, behave as if - <value> were the value assigned to the that variable. + <value> were the value assigned to that variable. CONFIGURATION ------------- diff --git a/git-diff-tree.html b/git-diff-tree.html index bdaf0a8b0..725398b78 100644 --- a/git-diff-tree.html +++ b/git-diff-tree.html @@ -3324,9 +3324,8 @@ multiple times, the last occurrence wins. </li>
<li>
<p>
-<em>separator=<sep></em>: specify a separator inserted between trailer
- lines. When this option is not given each trailer line is
- terminated with a line feed character. The string <sep> may contain
+<em>separator=<sep></em>: specify the separator inserted between trailer
+ lines. Defaults to a line feed character. The string <sep> may contain
the literal formatting codes described above. To use comma as
separator one must use <code>%x2C</code> as it would otherwise be parsed as
next option. E.g., <code>%(trailers:key=Ticket,separator=%x2C )</code>
@@ -3353,10 +3352,9 @@ multiple times, the last occurrence wins. </li>
<li>
<p>
-<em>key_value_separator=<sep></em>: specify a separator inserted between
- trailer lines. When this option is not given each trailer key-value
- pair is separated by ": ". Otherwise it shares the same semantics
- as <em>separator=<sep></em> above.
+<em>key_value_separator=<sep></em>: specify the separator inserted between
+ the key and value of each trailer. Defaults to ": ". Otherwise it
+ shares the same semantics as <em>separator=<sep></em> above.
</p>
</li>
</ul></div>
diff --git a/git-fetch.html b/git-fetch.html index 911f2cf73..2b00cedd3 100644 --- a/git-fetch.html +++ b/git-fetch.html @@ -1111,7 +1111,7 @@ precedence over the <code>fetch.output</code> config option.</p></div> </p>
</dd>
<dt class="hdlist1">
---recurse-submodules[=yes|on-demand|no]
+--recurse-submodules[=(yes|on-demand|no)]
</dt>
<dd>
<p>
diff --git a/git-interpret-trailers.html b/git-interpret-trailers.html index 32ee9a6d0..231d24baa 100644 --- a/git-interpret-trailers.html +++ b/git-interpret-trailers.html @@ -750,7 +750,7 @@ git-interpret-trailers(1) Manual Page <div class="sectionbody">
<div class="verseblock">
<pre class="content"><em>git interpret-trailers</em> [--in-place] [--trim-empty]
- [(--trailer (<key>|<keyAlias>)[(=|:)<value>])…]
+ [(--trailer (<key>|<key-alias>)[(=|:)<value>])…]
[--parse] [<file>…]</pre>
<div class="attribution">
</div></div>
@@ -804,9 +804,9 @@ to remove starting and trailing whitespace, and the resulting trimmed </div></div>
<div class="paragraph"><p>This means that the trimmed <key> and <value> will be separated by
<code>': '</code> (one colon followed by one space).</p></div>
-<div class="paragraph"><p>For convenience, a <keyAlias> can be configured to make using <code>--trailer</code>
+<div class="paragraph"><p>For convenience, a <key-alias> can be configured to make using <code>--trailer</code>
shorter to type on the command line. This can be configured using the
-<em>trailer.<keyAlias>.key</em> configuration variable. The <keyAlias> must be a prefix
+<em>trailer.<key-alias>.key</em> configuration variable. The <keyAlias> must be a prefix
of the full <key> string, although case sensitivity does not matter. For
example, if you have</p></div>
<div class="listingblock">
@@ -1393,7 +1393,7 @@ $ chmod +x .git/hooks/commit-msg</code></pre> <div id="footer">
<div id="footer-text">
Last updated
- 2023-10-13 15:25:25 PDT
+ 2024-03-25 17:24:49 PDT
</div>
</div>
</body>
diff --git a/git-interpret-trailers.txt b/git-interpret-trailers.txt index 418265f04..d9dfb75fe 100644 --- a/git-interpret-trailers.txt +++ b/git-interpret-trailers.txt @@ -9,7 +9,7 @@ SYNOPSIS -------- [verse] 'git interpret-trailers' [--in-place] [--trim-empty] - [(--trailer (<key>|<keyAlias>)[(=|:)<value>])...] + [(--trailer (<key>|<key-alias>)[(=|:)<value>])...] [--parse] [<file>...] DESCRIPTION @@ -67,9 +67,9 @@ key: value This means that the trimmed <key> and <value> will be separated by `': '` (one colon followed by one space). -For convenience, a <keyAlias> can be configured to make using `--trailer` +For convenience, a <key-alias> can be configured to make using `--trailer` shorter to type on the command line. This can be configured using the -'trailer.<keyAlias>.key' configuration variable. The <keyAlias> must be a prefix +'trailer.<key-alias>.key' configuration variable. The <keyAlias> must be a prefix of the full <key> string, although case sensitivity does not matter. For example, if you have diff --git a/git-log.html b/git-log.html index bdc259e02..0df8f7716 100644 --- a/git-log.html +++ b/git-log.html @@ -1492,15 +1492,15 @@ list.</p></div> <div class="paragraph"><p>With <code>--pretty</code> format other than <code>oneline</code> and <code>reference</code> (for obvious reasons),
this causes the output to have two extra lines of information
taken from the reflog. The reflog designator in the output may be shown
-as <code>ref@{Nth}</code> (where <code>Nth</code> is the reverse-chronological index in the
-reflog) or as <code>ref@{timestamp}</code> (with the timestamp for that entry),
+as <code>ref@{<Nth>}</code> (where <em><Nth></em> is the reverse-chronological index in the
+reflog) or as <code>ref@{<timestamp>}</code> (with the <em><timestamp></em> for that entry),
depending on a few rules:</p></div>
<div class="openblock">
<div class="content">
<div class="olist arabic"><ol class="arabic">
<li>
<p>
-If the starting point is specified as <code>ref@{Nth}</code>, show the index
+If the starting point is specified as <code>ref@{<Nth>}</code>, show the index
format.
</p>
</li>
@@ -3430,9 +3430,8 @@ multiple times, the last occurrence wins. </li>
<li>
<p>
-<em>separator=<sep></em>: specify a separator inserted between trailer
- lines. When this option is not given each trailer line is
- terminated with a line feed character. The string <sep> may contain
+<em>separator=<sep></em>: specify the separator inserted between trailer
+ lines. Defaults to a line feed character. The string <sep> may contain
the literal formatting codes described above. To use comma as
separator one must use <code>%x2C</code> as it would otherwise be parsed as
next option. E.g., <code>%(trailers:key=Ticket,separator=%x2C )</code>
@@ -3459,10 +3458,9 @@ multiple times, the last occurrence wins. </li>
<li>
<p>
-<em>key_value_separator=<sep></em>: specify a separator inserted between
- trailer lines. When this option is not given each trailer key-value
- pair is separated by ": ". Otherwise it shares the same semantics
- as <em>separator=<sep></em> above.
+<em>key_value_separator=<sep></em>: specify the separator inserted between
+ the key and value of each trailer. Defaults to ": ". Otherwise it
+ shares the same semantics as <em>separator=<sep></em> above.
</p>
</li>
</ul></div>
diff --git a/git-pull.html b/git-pull.html index 60b3080b6..a987c942a 100644 --- a/git-pull.html +++ b/git-pull.html @@ -838,7 +838,7 @@ pulling or stash them away with <a href="git-stash.html">git-stash(1)</a>.</p></ </p>
</dd>
<dt class="hdlist1">
---[no-]recurse-submodules[=yes|on-demand|no]
+--[no-]recurse-submodules[=(yes|on-demand|no)]
</dt>
<dd>
<p>
@@ -1135,7 +1135,7 @@ option can be used to override --squash.</p></div> -r
</dt>
<dt class="hdlist1">
---rebase[=false|true|merges|interactive]
+--rebase[=(false|true|merges|interactive)]
</dt>
<dd>
<p>
@@ -2315,7 +2315,7 @@ version.</p></div> <div id="footer">
<div id="footer-text">
Last updated
- 2021-10-18 17:00:13 PDT
+ 2024-03-25 17:24:49 PDT
</div>
</div>
</body>
diff --git a/git-pull.txt b/git-pull.txt index 0e14f8b5b..b2ae496e4 100644 --- a/git-pull.txt +++ b/git-pull.txt @@ -87,7 +87,7 @@ OPTIONS --verbose:: Pass --verbose to git-fetch and git-merge. ---[no-]recurse-submodules[=yes|on-demand|no]:: +--[no-]recurse-submodules[=(yes|on-demand|no)]:: This option controls if new commits of populated submodules should be fetched, and if the working trees of active submodules should be updated, too (see linkgit:git-fetch[1], linkgit:git-config[1] and @@ -105,7 +105,7 @@ Options related to merging include::merge-options.txt[] -r:: ---rebase[=false|true|merges|interactive]:: +--rebase[=(false|true|merges|interactive)]:: When true, rebase the current branch on top of the upstream branch after fetching. If there is a remote-tracking branch corresponding to the upstream branch and the upstream branch diff --git a/git-rebase.html b/git-rebase.html index a8353acca..d4684e8bb 100644 --- a/git-rebase.html +++ b/git-rebase.html @@ -753,7 +753,7 @@ git-rebase(1) Manual Page [--onto <newbase> | --keep-base] [<upstream> [<branch>]]
<em>git rebase</em> [-i | --interactive] [<options>] [--exec <cmd>] [--onto <newbase>]
--root [<branch>]
-<em>git rebase</em> (--continue | --skip | --abort | --quit | --edit-todo | --show-current-patch)</pre>
+<em>git rebase</em> (--continue|--skip|--abort|--quit|--edit-todo|--show-current-patch)</pre>
<div class="attribution">
</div></div>
</div>
@@ -2810,7 +2810,7 @@ sequence.editor <div id="footer">
<div id="footer-text">
Last updated
- 2024-03-05 10:14:09 PST
+ 2024-03-25 17:24:49 PDT
</div>
</div>
</body>
diff --git a/git-rebase.txt b/git-rebase.txt index e7e725044..03d5e9936 100644 --- a/git-rebase.txt +++ b/git-rebase.txt @@ -12,7 +12,7 @@ SYNOPSIS [--onto <newbase> | --keep-base] [<upstream> [<branch>]] 'git rebase' [-i | --interactive] [<options>] [--exec <cmd>] [--onto <newbase>] --root [<branch>] -'git rebase' (--continue | --skip | --abort | --quit | --edit-todo | --show-current-patch) +'git rebase' (--continue|--skip|--abort|--quit|--edit-todo|--show-current-patch) DESCRIPTION ----------- diff --git a/git-remote-helpers.html b/git-remote-helpers.html index 496a3d2d4..35bcab23a 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/git-replay.html b/git-replay.html index 2acbdce0c..cbc5585f8 100644 --- a/git-replay.html +++ b/git-replay.html @@ -1306,15 +1306,15 @@ list.</p></div> <div class="paragraph"><p>With <code>--pretty</code> format other than <code>oneline</code> and <code>reference</code> (for obvious reasons),
this causes the output to have two extra lines of information
taken from the reflog. The reflog designator in the output may be shown
-as <code>ref@{Nth}</code> (where <code>Nth</code> is the reverse-chronological index in the
-reflog) or as <code>ref@{timestamp}</code> (with the timestamp for that entry),
+as <code>ref@{<Nth>}</code> (where <em><Nth></em> is the reverse-chronological index in the
+reflog) or as <code>ref@{<timestamp>}</code> (with the <em><timestamp></em> for that entry),
depending on a few rules:</p></div>
<div class="openblock">
<div class="content">
<div class="olist arabic"><ol class="arabic">
<li>
<p>
-If the starting point is specified as <code>ref@{Nth}</code>, show the index
+If the starting point is specified as <code>ref@{<Nth>}</code>, show the index
format.
</p>
</li>
diff --git a/git-rev-list.html b/git-rev-list.html index d8c4450cd..71ef8c4d6 100644 --- a/git-rev-list.html +++ b/git-rev-list.html @@ -1328,15 +1328,15 @@ list.</p></div> <div class="paragraph"><p>With <code>--pretty</code> format other than <code>oneline</code> and <code>reference</code> (for obvious reasons),
this causes the output to have two extra lines of information
taken from the reflog. The reflog designator in the output may be shown
-as <code>ref@{Nth}</code> (where <code>Nth</code> is the reverse-chronological index in the
-reflog) or as <code>ref@{timestamp}</code> (with the timestamp for that entry),
+as <code>ref@{<Nth>}</code> (where <em><Nth></em> is the reverse-chronological index in the
+reflog) or as <code>ref@{<timestamp>}</code> (with the <em><timestamp></em> for that entry),
depending on a few rules:</p></div>
<div class="openblock">
<div class="content">
<div class="olist arabic"><ol class="arabic">
<li>
<p>
-If the starting point is specified as <code>ref@{Nth}</code>, show the index
+If the starting point is specified as <code>ref@{<Nth>}</code>, show the index
format.
</p>
</li>
@@ -3534,9 +3534,8 @@ multiple times, the last occurrence wins. </li>
<li>
<p>
-<em>separator=<sep></em>: specify a separator inserted between trailer
- lines. When this option is not given each trailer line is
- terminated with a line feed character. The string <sep> may contain
+<em>separator=<sep></em>: specify the separator inserted between trailer
+ lines. Defaults to a line feed character. The string <sep> may contain
the literal formatting codes described above. To use comma as
separator one must use <code>%x2C</code> as it would otherwise be parsed as
next option. E.g., <code>%(trailers:key=Ticket,separator=%x2C )</code>
@@ -3563,10 +3562,9 @@ multiple times, the last occurrence wins. </li>
<li>
<p>
-<em>key_value_separator=<sep></em>: specify a separator inserted between
- trailer lines. When this option is not given each trailer key-value
- pair is separated by ": ". Otherwise it shares the same semantics
- as <em>separator=<sep></em> above.
+<em>key_value_separator=<sep></em>: specify the separator inserted between
+ the key and value of each trailer. Defaults to ": ". Otherwise it
+ shares the same semantics as <em>separator=<sep></em> above.
</p>
</li>
</ul></div>
diff --git a/git-send-email.html b/git-send-email.html index 92b917a0b..bc80a7808 100644 --- a/git-send-email.html +++ b/git-send-email.html @@ -749,7 +749,7 @@ git-send-email(1) Manual Page <h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
-<pre class="content"><em>git send-email</em> [<options>] <file|directory>…
+<pre class="content"><em>git send-email</em> [<options>] (<file>|<directory>)…
<em>git send-email</em> [<options>] <format-patch-options>
<em>git send-email</em> --dump-aliases</pre>
<div class="attribution">
@@ -1148,7 +1148,7 @@ must be used for each option.</p></div> </p>
</dd>
<dt class="hdlist1">
---smtp-debug=0|1
+--smtp-debug=(0|1)
</dt>
<dd>
<p>
@@ -1188,7 +1188,13 @@ must be used for each option.</p></div> <h3 id="_automating">Automating</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
---no-[to|cc|bcc]
+--no-to
+</dt>
+<dt class="hdlist1">
+--no-cc
+</dt>
+<dt class="hdlist1">
+--no-bcc
</dt>
<dd>
<p>
@@ -1834,7 +1840,7 @@ Authen::SASL and Mail::Address.</p></div> <div id="footer">
<div id="footer-text">
Last updated
- 2024-03-01 17:30:58 PST
+ 2024-03-25 17:24:49 PDT
</div>
</div>
</body>
diff --git a/git-send-email.txt b/git-send-email.txt index 8264f8738..c5d664f45 100644 --- a/git-send-email.txt +++ b/git-send-email.txt @@ -9,7 +9,7 @@ git-send-email - Send a collection of patches as emails SYNOPSIS -------- [verse] -'git send-email' [<options>] <file|directory>... +'git send-email' [<options>] (<file>|<directory>)... 'git send-email' [<options>] <format-patch-options> 'git send-email' --dump-aliases @@ -278,7 +278,7 @@ must be used for each option. if a username is not specified (with `--smtp-user` or `sendemail.smtpUser`), then authentication is not attempted. ---smtp-debug=0|1:: +--smtp-debug=(0|1):: Enable (1) or disable (0) debug output. If enabled, SMTP commands and replies will be printed. Useful to debug TLS connection and authentication problems. @@ -301,7 +301,9 @@ must be used for each option. Automating ~~~~~~~~~~ ---no-[to|cc|bcc]:: +--no-to:: +--no-cc:: +--no-bcc:: Clears any list of "To:", "Cc:", "Bcc:" addresses previously set via config. diff --git a/git-shortlog.html b/git-shortlog.html index 8ddba1066..f6f854d0d 100644 --- a/git-shortlog.html +++ b/git-shortlog.html @@ -1431,15 +1431,15 @@ list.</p></div> <div class="paragraph"><p>With <code>--pretty</code> format other than <code>oneline</code> and <code>reference</code> (for obvious reasons),
this causes the output to have two extra lines of information
taken from the reflog. The reflog designator in the output may be shown
-as <code>ref@{Nth}</code> (where <code>Nth</code> is the reverse-chronological index in the
-reflog) or as <code>ref@{timestamp}</code> (with the timestamp for that entry),
+as <code>ref@{<Nth>}</code> (where <em><Nth></em> is the reverse-chronological index in the
+reflog) or as <code>ref@{<timestamp>}</code> (with the <em><timestamp></em> for that entry),
depending on a few rules:</p></div>
<div class="openblock">
<div class="content">
<div class="olist arabic"><ol class="arabic">
<li>
<p>
-If the starting point is specified as <code>ref@{Nth}</code>, show the index
+If the starting point is specified as <code>ref@{<Nth>}</code>, show the index
format.
</p>
</li>
diff --git a/git-show.html b/git-show.html index c92ade2d2..cb418c994 100644 --- a/git-show.html +++ b/git-show.html @@ -1888,9 +1888,8 @@ multiple times, the last occurrence wins. </li>
<li>
<p>
-<em>separator=<sep></em>: specify a separator inserted between trailer
- lines. When this option is not given each trailer line is
- terminated with a line feed character. The string <sep> may contain
+<em>separator=<sep></em>: specify the separator inserted between trailer
+ lines. Defaults to a line feed character. The string <sep> may contain
the literal formatting codes described above. To use comma as
separator one must use <code>%x2C</code> as it would otherwise be parsed as
next option. E.g., <code>%(trailers:key=Ticket,separator=%x2C )</code>
@@ -1917,10 +1916,9 @@ multiple times, the last occurrence wins. </li>
<li>
<p>
-<em>key_value_separator=<sep></em>: specify a separator inserted between
- trailer lines. When this option is not given each trailer key-value
- pair is separated by ": ". Otherwise it shares the same semantics
- as <em>separator=<sep></em> above.
+<em>key_value_separator=<sep></em>: specify the separator inserted between
+ the key and value of each trailer. Defaults to ": ". Otherwise it
+ shares the same semantics as <em>separator=<sep></em> above.
</p>
</li>
</ul></div>
@@ -3695,7 +3695,7 @@ will never be returned from the commit-graph at the cost of performance.</p></di <p>
For internal use only. Used in handshaking the wire protocol.
Contains a colon <em>:</em> separated list of keys with optional values
- <em>key[=value]</em>. Presence of unknown keys and values must be
+ <em><key>[=<value>]</em>. Presence of unknown keys and values must be
ignored.
</p>
<div class="paragraph"><p>Note that servers may need to be configured to allow this variable to
@@ -3879,7 +3879,7 @@ the Git Security mailing list <<a href="mailto:git-security@googlegroups.com" <div id="footer">
<div id="footer-text">
Last updated
- 2024-03-07 16:01:15 PST
+ 2024-03-25 17:24:49 PDT
</div>
</div>
</body>
@@ -960,7 +960,7 @@ will never be returned from the commit-graph at the cost of performance. `GIT_PROTOCOL`:: For internal use only. Used in handshaking the wire protocol. Contains a colon ':' separated list of keys with optional values - 'key[=value]'. Presence of unknown keys and values must be + '<key>[=<value>]'. Presence of unknown keys and values must be ignored. + Note that servers may need to be configured to allow this variable to diff --git a/howto-index.html b/howto-index.html index 5955fb93d..1945707f9 100644 --- a/howto-index.html +++ b/howto-index.html @@ -735,7 +735,7 @@ asciidoc.install(); <body class="article">
<div id="header">
<h1>Git Howto Index</h1>
-<span id="revdate">2024-02-22</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
@@ -896,7 +896,7 @@ later validate it.</p></div> <div id="footer">
<div id="footer-text">
Last updated
- 2024-02-23 07:31:09 PST
+ 2024-03-25 17:24:51 PDT
</div>
</div>
</body>
diff --git a/howto/coordinate-embargoed-releases.html b/howto/coordinate-embargoed-releases.html index 4b531602c..23bbc15b8 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-21 16:29:01 PDT
+ 2024-03-25 17:25:13 PDT
</div>
</div>
</body>
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html index 4c7cc9df4..72e7d2b18 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-21</span>
+<span id="revdate">2024-03-25</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-21 16:29:01 PDT
+ 2024-03-25 17:25:13 PDT
</div>
</div>
</body>
diff --git a/howto/maintain-git.html b/howto/maintain-git.html index 7a2b64361..a5336aaf8 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-21</span>
+<span id="revdate">2024-03-25</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-21 16:29:01 PDT
+ 2024-03-25 17:25:13 PDT
</div>
</div>
</body>
diff --git a/howto/new-command.html b/howto/new-command.html index 5bcebaa71..297d8b016 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-21</span>
+<span id="revdate">2024-03-25</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-21 16:28:59 PDT
+ 2024-03-25 17:25:12 PDT
</div>
</div>
</body>
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html index b5d3f5bb7..9c228e14d 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-21</span>
+<span id="revdate">2024-03-25</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-21 16:29:01 PDT
+ 2024-03-25 17:25:13 PDT
</div>
</div>
</body>
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html index 70c69994a..ae601be82 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-21</span>
+<span id="revdate">2024-03-25</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-21 16:29:01 PDT
+ 2024-03-25 17:25:13 PDT
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html index e20af0454..0056f5b33 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-21</span>
+<span id="revdate">2024-03-25</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-21 16:29:00 PDT
+ 2024-03-25 17:25:13 PDT
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html index 100b2308c..2d4e2add8 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-21</span>
+<span id="revdate">2024-03-25</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-21 16:29:01 PDT
+ 2024-03-25 17:25:13 PDT
</div>
</div>
</body>
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html index d01b50de3..f8364843d 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-21</span>
+<span id="revdate">2024-03-25</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-21 16:29:00 PDT
+ 2024-03-25 17:25:13 PDT
</div>
</div>
</body>
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html index 031214dbd..ac8aa5d06 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-21</span>
+<span id="revdate">2024-03-25</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-21 16:29:00 PDT
+ 2024-03-25 17:25:12 PDT
</div>
</div>
</body>
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html index 65935fa04..3dd17f359 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-21</span>
+<span id="revdate">2024-03-25</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-21 16:29:00 PDT
+ 2024-03-25 17:25:13 PDT
</div>
</div>
</body>
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html index 7742060d9..8e34ab7d0 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-21</span>
+<span id="revdate">2024-03-25</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-21 16:29:00 PDT
+ 2024-03-25 17:25:12 PDT
</div>
</div>
</body>
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html index 5f1216d37..956398014 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
@@ -834,7 +834,7 @@ info "The user is: '$username'" if test -f "$allowed_users_file"
then
- rc=$(cat $allowed_users_file | grep -v '^#' | grep -v '^$' |
+ rc=$(grep -Ev '^(#|$)' $allowed_users_file |
while read heads user_patterns
do
# does this rule apply to us?
@@ -872,7 +872,7 @@ info "'$groups'" if test -f "$allowed_groups_file"
then
- rc=$(cat $allowed_groups_file | grep -v '^#' | grep -v '^$' |
+ rc=$(grep -Ev '^(#|$)' $allowed_groups_file |
while read heads group_patterns
do
# does this rule apply to us?
@@ -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-21 16:29:00 PDT
+ 2024-03-25 17:25:12 PDT
</div>
</div>
</body>
diff --git a/howto/update-hook-example.txt b/howto/update-hook-example.txt index 151ee84ce..4e727deed 100644 --- a/howto/update-hook-example.txt +++ b/howto/update-hook-example.txt @@ -100,7 +100,7 @@ info "The user is: '$username'" if test -f "$allowed_users_file" then - rc=$(cat $allowed_users_file | grep -v '^#' | grep -v '^$' | + rc=$(grep -Ev '^(#|$)' $allowed_users_file | while read heads user_patterns do # does this rule apply to us? @@ -138,7 +138,7 @@ info "'$groups'" if test -f "$allowed_groups_file" then - rc=$(cat $allowed_groups_file | grep -v '^#' | grep -v '^$' | + rc=$(grep -Ev '^(#|$)' $allowed_groups_file | while read heads group_patterns do # does this rule apply to us? diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html index 3d79ffdbe..cca4a90b5 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-21</span>
+<span id="revdate">2024-03-25</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-21 16:29:00 PDT
+ 2024-03-25 17:25:12 PDT
</div>
</div>
</body>
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html index 68c22f258..63fba1fb8 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-21</span>
+<span id="revdate">2024-03-25</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-21 16:29:00 PDT
+ 2024-03-25 17:25:12 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 aae722138..261a672c1 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-21</span>
+<span id="revdate">2024-03-25</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-21 16:29:00 PDT
+ 2024-03-25 17:25:12 PDT
</div>
</div>
</body>
diff --git a/pretty-formats.txt b/pretty-formats.txt index d38b4ab56..8ee940b6a 100644 --- a/pretty-formats.txt +++ b/pretty-formats.txt @@ -316,9 +316,8 @@ multiple times, the last occurrence wins. `Reviewed-by`. ** 'only[=<bool>]': select whether non-trailer lines from the trailer block should be included. -** 'separator=<sep>': specify a separator inserted between trailer - lines. When this option is not given each trailer line is - terminated with a line feed character. The string <sep> may contain +** 'separator=<sep>': specify the separator inserted between trailer + lines. Defaults to a line feed character. The string <sep> may contain the literal formatting codes described above. To use comma as separator one must use `%x2C` as it would otherwise be parsed as next option. E.g., `%(trailers:key=Ticket,separator=%x2C )` @@ -329,10 +328,9 @@ multiple times, the last occurrence wins. `%(trailers:only,unfold=true)` unfolds and shows all trailer lines. ** 'keyonly[=<bool>]': only show the key part of the trailer. ** 'valueonly[=<bool>]': only show the value part of the trailer. -** 'key_value_separator=<sep>': specify a separator inserted between - trailer lines. When this option is not given each trailer key-value - pair is separated by ": ". Otherwise it shares the same semantics - as 'separator=<sep>' above. +** 'key_value_separator=<sep>': specify the separator inserted between + the key and value of each trailer. Defaults to ": ". Otherwise it + shares the same semantics as 'separator=<sep>' above. NOTE: Some placeholders may depend on other options given to the revision traversal engine. For example, the `%g*` reflog options will diff --git a/rev-list-options.txt b/rev-list-options.txt index 408d9314d..00ccf6874 100644 --- a/rev-list-options.txt +++ b/rev-list-options.txt @@ -316,12 +316,12 @@ list. With `--pretty` format other than `oneline` and `reference` (for obvious reasons), this causes the output to have two extra lines of information taken from the reflog. The reflog designator in the output may be shown -as `ref@{Nth}` (where `Nth` is the reverse-chronological index in the -reflog) or as `ref@{timestamp}` (with the timestamp for that entry), +as `ref@{<Nth>}` (where _<Nth>_ is the reverse-chronological index in the +reflog) or as `ref@{<timestamp>}` (with the _<timestamp>_ for that entry), depending on a few rules: + -- -1. If the starting point is specified as `ref@{Nth}`, show the index +1. If the starting point is specified as `ref@{<Nth>}`, show the index format. + 2. If the starting point was specified as `ref@{now}`, show the diff --git a/technical/api-error-handling.html b/technical/api-error-handling.html index 8a70666ae..d26c1bda1 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-index.html b/technical/api-index.html index 895ecd1e3..a8fa830ea 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-merge.html b/technical/api-merge.html index b130786ea..b168cf366 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-parse-options.html b/technical/api-parse-options.html index d013b78d0..30d8e0f5f 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-simple-ipc.html b/technical/api-simple-ipc.html index 6f086e8f6..b5fb56447 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-trace2.html b/technical/api-trace2.html index e2a86b8da..f5f8b2eed 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/bitmap-format.html b/technical/bitmap-format.html index 3a1b9a011..c0d15d009 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/technical/bundle-uri.html b/technical/bundle-uri.html index bc3746d72..90bdda40d 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/hash-function-transition.html b/technical/hash-function-transition.html index 037d72daa..f28bc868d 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-21</span>
+<span id="revdate">2024-03-25</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 4731b15b4..1120b3050 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/multi-pack-index.html b/technical/multi-pack-index.html index e1905dfe4..f5c9183e7 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/pack-heuristics.html b/technical/pack-heuristics.html index b1f208edf..377a63a71 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’s Packing Heuristics</h1>
-<span id="revdate">2024-03-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/parallel-checkout.html b/technical/parallel-checkout.html index fba36deb1..a03fc0e7e 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/partial-clone.html b/technical/partial-clone.html index 7ff67a695..25e6a3fa8 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/racy-git.html b/technical/racy-git.html index 9dda9a30b..a8913f59b 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/technical/scalar.html b/technical/scalar.html index 04da07916..d4ab66a91 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/send-pack-pipeline.html b/technical/send-pack-pipeline.html index 9c696379b..13fb93852 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/technical/shallow.html b/technical/shallow.html index 43b5ae91d..88cd5b403 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/trivial-merge.html b/technical/trivial-merge.html index 35a9afe78..e627da80a 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/unit-tests.html b/technical/unit-tests.html index 0f98a782a..d6fd46521 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-21</span>
+<span id="revdate">2024-03-25</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/user-manual.html b/user-manual.html index 556a64719..c609592a2 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-21</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-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 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 |