summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-04-09 14:47:35 -0700
committerJunio C Hamano <gitster@pobox.com>2024-04-09 14:47:35 -0700
commiteabec52c201642649f007d7ec9e9f99e2b7fb25a (patch)
tree0e50fb48fb2ea0265972a630f9f7e819f25b4630
parentfd00376c5a0146b5ede1fdaf0fbb5987081406d6 (diff)
downloadgit-htmldocs-eabec52c201642649f007d7ec9e9f99e2b7fb25a.tar.gz
Autogenerated HTML docs for v2.44.0-548-g91ec36
-rw-r--r--MyFirstContribution.html2
-rw-r--r--MyFirstObjectWalk.html41
-rw-r--r--MyFirstObjectWalk.txt37
-rw-r--r--RelNotes/2.45.0.txt33
-rw-r--r--ReviewingGuidelines.html2
-rw-r--r--SubmittingPatches.html2
-rw-r--r--ToolsForGit.html2
-rw-r--r--everyday.html2
-rw-r--r--git-add.html3
-rw-r--r--git-add.txt1
-rw-r--r--git-clone.html181
-rw-r--r--git-clone.txt120
-rw-r--r--git-config.html16
-rw-r--r--git-fetch.html42
-rw-r--r--git-init.html62
-rw-r--r--git-init.txt56
-rw-r--r--git-pack-refs.html29
-rw-r--r--git-pack-refs.txt15
-rw-r--r--git-pull.html42
-rw-r--r--git-push.html42
-rw-r--r--git-remote-helpers.html2
-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--urls.txt44
-rw-r--r--user-manual.html2
59 files changed, 484 insertions, 396 deletions
diff --git a/MyFirstContribution.html b/MyFirstContribution.html
index 9d3d963f0..5577d96b1 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/MyFirstObjectWalk.html b/MyFirstObjectWalk.html
index 0709da55b..c0272f526 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div class="sect1">
@@ -989,13 +989,14 @@ We&#8217;ll also need to include the <code>config.h</code> header:</p></div>
...
-static int git_walken_config(const char *var, const char *value, void *cb)
+static int git_walken_config(const char *var, const char *value,
+ const struct config_context *ctx, void *cb)
{
/*
* For now, we don't have any custom configuration, so fall back to
* the default config.
*/
- return git_default_config(var, value, cb);
+ return git_default_config(var, value, ctx, cb);
}</code></pre>
</div></div>
<div class="paragraph"><p>Make sure to invoke <code>git_config()</code> with it in your <code>cmd_walken()</code>:</p></div>
@@ -1180,10 +1181,11 @@ modifying <code>rev_info.grep_filter</code>, which is a <code>struct grep_opt</c
<div class="paragraph"><p>First some setup. Add <code>grep_config()</code> to <code>git_walken_config()</code>:</p></div>
<div class="listingblock">
<div class="content">
-<pre><code>static int git_walken_config(const char *var, const char *value, void *cb)
+<pre><code>static int git_walken_config(const char *var, const char *value,
+ const struct config_context *ctx, void *cb)
{
- grep_config(var, value, cb);
- return git_default_config(var, value, cb);
+ grep_config(var, value, ctx, cb);
+ return git_default_config(var, value, ctx, cb);
}</code></pre>
</div></div>
<div class="paragraph"><p>Next, we can modify the <code>grep_filter</code>. This is done with convenience functions
@@ -1317,7 +1319,7 @@ that! Let&#8217;s see if we can walk <em>all</em> objects, and find out some inf
about each one.</p></div>
<div class="paragraph"><p>We can base our work on an example. <code>git pack-objects</code> prepares all kinds of
objects for packing into a bitmap or packfile. The work we are interested in
-resides in <code>builtins/pack-objects.c:get_object_list()</code>; examination of that
+resides in <code>builtin/pack-objects.c:get_object_list()</code>; examination of that
function shows that the all-object walk is being performed by
<code>traverse_commit_list()</code> or <code>traverse_commit_list_filtered()</code>. Those two
functions reside in <code>list-objects.c</code>; examining the source shows that, despite
@@ -1549,8 +1551,8 @@ walk we&#8217;ve just performed:</p></div>
} else {
trace_printf(
_("Filtered object walk with filterspec 'tree:1'.\n"));
- CALLOC_ARRAY(rev-&gt;filter, 1);
- parse_list_objects_filter(rev-&gt;filter, "tree:1");
+
+ parse_list_objects_filter(&amp;rev-&gt;filter, "tree:1");
}
traverse_commit_list(rev, walken_show_commit,
walken_show_object, NULL);</code></pre>
@@ -1567,10 +1569,12 @@ points to the same tree object as its grandparent.)</p></div>
<div class="sect2">
<h3 id="_counting_omitted_objects">Counting Omitted Objects</h3>
<div class="paragraph"><p>We also have the capability to enumerate all objects which were omitted by a
-filter, like with <code>git log --filter=&lt;spec&gt; --filter-print-omitted</code>. Asking
-<code>traverse_commit_list_filtered()</code> to populate the <code>omitted</code> list means that our
-object walk does not perform any better than an unfiltered object walk; all
-reachable objects are walked in order to populate the list.</p></div>
+filter, like with <code>git log --filter=&lt;spec&gt; --filter-print-omitted</code>. To do this,
+change <code>traverse_commit_list()</code> to <code>traverse_commit_list_filtered()</code>, which is
+able to populate an <code>omitted</code> list. Asking for this list of filtered objects
+may cause performance degradations, however, because in this case, despite
+filtering objects, the possibly much larger set of all reachable objects must
+be processed in order to populate that list.</p></div>
<div class="paragraph"><p>First, add the <code>struct oidset</code> and related items we will use to iterate it:</p></div>
<div class="listingblock">
<div class="content">
@@ -1589,8 +1593,9 @@ static void walken_object_walk(
...</code></pre>
</div></div>
-<div class="paragraph"><p>Modify the call to <code>traverse_commit_list_filtered()</code> to include your <code>omitted</code>
-object:</p></div>
+<div class="paragraph"><p>Replace the call to <code>traverse_commit_list()</code> with
+<code>traverse_commit_list_filtered()</code> and pass a pointer to the <code>omitted</code> oidset
+defined and initialized above:</p></div>
<div class="listingblock">
<div class="content">
<pre><code> ...
@@ -1658,7 +1663,7 @@ those lines without having to recompile.</td>
<div class="paragraph"><p>With only that change, run again (but save yourself some scrollback):</p></div>
<div class="listingblock">
<div class="content">
-<pre><code>$ GIT_TRACE=1 ./bin-wrappers/git walken | head -n 10</code></pre>
+<pre><code>$ GIT_TRACE=1 ./bin-wrappers/git walken 2&gt;&amp;1 | head -n 10</code></pre>
</div></div>
<div class="paragraph"><p>Take a look at the top commit with <code>git show</code> and the object ID you printed; it
should be the same as the output of <code>git show HEAD</code>.</p></div>
@@ -1683,7 +1688,7 @@ of the first handful:</p></div>
<div class="listingblock">
<div class="content">
<pre><code>$ make
-$ GIT_TRACE=1 ./bin-wrappers git walken | tail -n 10</code></pre>
+$ GIT_TRACE=1 ./bin-wrappers/git walken 2&gt;&amp;1 | tail -n 10</code></pre>
</div></div>
<div class="paragraph"><p>The last commit object given should have the same OID as the one we saw at the
top before, and running <code>git show &lt;oid&gt;</code> with that OID should give you again
@@ -1737,7 +1742,7 @@ Changed the display order of the filtered object walk
<div id="footer">
<div id="footer-text">
Last updated
- 2023-07-17 11:51:48 PDT
+ 2024-04-09 14:45:01 PDT
</div>
</div>
</body>
diff --git a/MyFirstObjectWalk.txt b/MyFirstObjectWalk.txt
index c68cdb11b..dec8afe5b 100644
--- a/MyFirstObjectWalk.txt
+++ b/MyFirstObjectWalk.txt
@@ -210,13 +210,14 @@ We'll also need to include the `config.h` header:
...
-static int git_walken_config(const char *var, const char *value, void *cb)
+static int git_walken_config(const char *var, const char *value,
+ const struct config_context *ctx, void *cb)
{
/*
* For now, we don't have any custom configuration, so fall back to
* the default config.
*/
- return git_default_config(var, value, cb);
+ return git_default_config(var, value, ctx, cb);
}
----
@@ -389,10 +390,11 @@ modifying `rev_info.grep_filter`, which is a `struct grep_opt`.
First some setup. Add `grep_config()` to `git_walken_config()`:
----
-static int git_walken_config(const char *var, const char *value, void *cb)
+static int git_walken_config(const char *var, const char *value,
+ const struct config_context *ctx, void *cb)
{
- grep_config(var, value, cb);
- return git_default_config(var, value, cb);
+ grep_config(var, value, ctx, cb);
+ return git_default_config(var, value, ctx, cb);
}
----
@@ -523,7 +525,7 @@ about each one.
We can base our work on an example. `git pack-objects` prepares all kinds of
objects for packing into a bitmap or packfile. The work we are interested in
-resides in `builtins/pack-objects.c:get_object_list()`; examination of that
+resides in `builtin/pack-objects.c:get_object_list()`; examination of that
function shows that the all-object walk is being performed by
`traverse_commit_list()` or `traverse_commit_list_filtered()`. Those two
functions reside in `list-objects.c`; examining the source shows that, despite
@@ -732,8 +734,8 @@ walk we've just performed:
} else {
trace_printf(
_("Filtered object walk with filterspec 'tree:1'.\n"));
- CALLOC_ARRAY(rev->filter, 1);
- parse_list_objects_filter(rev->filter, "tree:1");
+
+ parse_list_objects_filter(&rev->filter, "tree:1");
}
traverse_commit_list(rev, walken_show_commit,
walken_show_object, NULL);
@@ -752,10 +754,12 @@ points to the same tree object as its grandparent.)
=== Counting Omitted Objects
We also have the capability to enumerate all objects which were omitted by a
-filter, like with `git log --filter=<spec> --filter-print-omitted`. Asking
-`traverse_commit_list_filtered()` to populate the `omitted` list means that our
-object walk does not perform any better than an unfiltered object walk; all
-reachable objects are walked in order to populate the list.
+filter, like with `git log --filter=<spec> --filter-print-omitted`. To do this,
+change `traverse_commit_list()` to `traverse_commit_list_filtered()`, which is
+able to populate an `omitted` list. Asking for this list of filtered objects
+may cause performance degradations, however, because in this case, despite
+filtering objects, the possibly much larger set of all reachable objects must
+be processed in order to populate that list.
First, add the `struct oidset` and related items we will use to iterate it:
@@ -776,8 +780,9 @@ static void walken_object_walk(
...
----
-Modify the call to `traverse_commit_list_filtered()` to include your `omitted`
-object:
+Replace the call to `traverse_commit_list()` with
+`traverse_commit_list_filtered()` and pass a pointer to the `omitted` oidset
+defined and initialized above:
----
...
@@ -843,7 +848,7 @@ those lines without having to recompile.
With only that change, run again (but save yourself some scrollback):
----
-$ GIT_TRACE=1 ./bin-wrappers/git walken | head -n 10
+$ GIT_TRACE=1 ./bin-wrappers/git walken 2>&1 | head -n 10
----
Take a look at the top commit with `git show` and the object ID you printed; it
@@ -871,7 +876,7 @@ of the first handful:
----
$ make
-$ GIT_TRACE=1 ./bin-wrappers git walken | tail -n 10
+$ GIT_TRACE=1 ./bin-wrappers/git walken 2>&1 | tail -n 10
----
The last commit object given should have the same OID as the one we saw at the
diff --git a/RelNotes/2.45.0.txt b/RelNotes/2.45.0.txt
index 5bca5a0c4..a65205cc9 100644
--- a/RelNotes/2.45.0.txt
+++ b/RelNotes/2.45.0.txt
@@ -73,6 +73,12 @@ UI, Workflows & Features
* core.commentChar used to be limited to a single byte, but has been
updated to allow an arbitrary multi-byte sequence.
+ * "git add -p" and other "interactive hunk selection" UI has learned to
+ skip showing the hunk immediately after it has already been shown, and
+ an additional action to explicitly ask to reshow the current hunk.
+
+ * "git pack-refs" learned the "--auto" option, which is a useful
+ addition to be triggered from "git gc --auto".
Performance, Internal Implementation, Development Support etc.
@@ -140,6 +146,16 @@ Performance, Internal Implementation, Development Support etc.
the "t/" directory with "make t<num>-*.sh t<num>-*.sh".
(merge 8d383806fc pb/test-scripts-are-build-targets later to maint).
+ * The "hint:" messages given by the advice mechanism, when given a
+ message with a blank line, left a line with trailing whitespace,
+ which has been cleansed.
+
+ * Documentation rules has been explicitly described how to mark-up
+ literal parts and a few manual pages have been updated as examples.
+
+ * The .editorconfig file has been taught that a Makefile uses HT
+ indentation.
+
Fixes since v2.44
-----------------
@@ -302,6 +318,23 @@ Fixes since v2.44
corrected.
(merge f999d5188b bl/pretty-shorthand-config-fix later to maint).
+ * "git apply" failed to extract the filename the patch applied to,
+ when the change was about an empty file created in or deleted from
+ a directory whose name ends with a SP, which has been corrected.
+ (merge 776ffd1a30 jc/apply-parse-diff-git-header-names-fix later to maint).
+
+ * Update a more recent tutorial doc.
+ (merge 95ab557b4b dg/myfirstobjectwalk-updates later to maint).
+
+ * The test script had an incomplete and ineffective attempt to avoid
+ clobbering the testing user's real crontab (and its equivalents),
+ which has been completed.
+ (merge 73cb87773b es/test-cron-safety later to maint).
+
+ * Use advice_if_enabled() API to rewrite a simple pattern to
+ call advise() after checking advice_enabled().
+ (merge 6412d01527 rj/use-adv-if-enabled 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).
diff --git a/ReviewingGuidelines.html b/ReviewingGuidelines.html
index c0361e8ba..17da6d062 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/SubmittingPatches.html b/SubmittingPatches.html
index 90f586998..61ac18b11 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/ToolsForGit.html b/ToolsForGit.html
index 23f53a9a1..05a74d349 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/everyday.html b/everyday.html
index 6f1023b06..819592108 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/git-add.html b/git-add.html
index 153588488..67dfab283 100644
--- a/git-add.html
+++ b/git-add.html
@@ -1236,6 +1236,7 @@ k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
+p - print the current hunk
? - print help</code></pre>
</div></div>
<div class="paragraph"><p>After deciding the fate for all hunks, if there is any hunk
@@ -1425,7 +1426,7 @@ add.interactive.useBuiltin
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-01 17:30:58 PST
+ 2024-04-09 14:45:01 PDT
</div>
</div>
</body>
diff --git a/git-add.txt b/git-add.txt
index 14a371fff..aceaa025e 100644
--- a/git-add.txt
+++ b/git-add.txt
@@ -348,6 +348,7 @@ patch::
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
+ p - print the current hunk
? - print help
+
After deciding the fate for all hunks, if there is any hunk
diff --git a/git-clone.html b/git-clone.html
index 8195bf02c..8a53789d5 100644
--- a/git-clone.html
+++ b/git-clone.html
@@ -749,15 +749,15 @@ git-clone(1) Manual Page
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
-<pre class="content"><em>git clone</em> [--template=&lt;template-directory&gt;]
- [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
- [-o &lt;name&gt;] [-b &lt;name&gt;] [-u &lt;upload-pack&gt;] [--reference &lt;repository&gt;]
- [--dissociate] [--separate-git-dir &lt;git-dir&gt;]
- [--depth &lt;depth&gt;] [--[no-]single-branch] [--no-tags]
- [--recurse-submodules[=&lt;pathspec&gt;]] [--[no-]shallow-submodules]
- [--[no-]remote-submodules] [--jobs &lt;n&gt;] [--sparse] [--[no-]reject-shallow]
- [--filter=&lt;filter&gt; [--also-filter-submodules]] [--] &lt;repository&gt;
- [&lt;directory&gt;]</pre>
+<pre class="content"><code>git clone</code> [<code>--template=</code><em>&lt;template-directory&gt;</em>]
+ [<code>-l</code>] [<code>-s</code>] [<code>--no-hardlinks</code>] [<code>-q</code>] [<code>-n</code>] [<code>--bare</code>] [<code>--mirror</code>]
+ [<code>-o</code> <em>&lt;name&gt;</em>] [<code>-b</code> <em>&lt;name&gt;</em>] [<code>-u</code> <em>&lt;upload-pack&gt;</em>] [<code>--reference</code> <em>&lt;repository&gt;</em>]
+ [<code>--dissociate</code>] [<code>--separate-git-dir</code> <em>&lt;git-dir&gt;</em>]
+ [<code>--depth</code> <em>&lt;depth&gt;</em>] [<code>--</code>[<code>no-</code>]<code>single-branch</code>] [<code>--no-tags</code>]
+ [<code>--recurse-submodules</code>[<code>=</code><em>&lt;pathspec&gt;</em>]] [<code>--</code>[<code>no-</code>]<code>shallow-submodules</code>]
+ [<code>--</code>[<code>no-</code>]<code>remote-submodules</code>] [<code>--jobs</code> <em>&lt;n&gt;</em>] [<code>--sparse</code>] [<code>--</code>[<code>no-</code>]<code>reject-shallow</code>]
+ [<code>--filter=</code><em>&lt;filter-spec&gt;</em>] [<code>--also-filter-submodules</code>]] [<code>--</code>] <em>&lt;repository&gt;</em>
+ [<em>&lt;directory&gt;</em>]</pre>
<div class="attribution">
</div></div>
</div>
@@ -773,7 +773,7 @@ currently active branch.</p></div>
<div class="paragraph"><p>After the clone, a plain <code>git fetch</code> without arguments will update
all the remote-tracking branches, and a <code>git pull</code> without
arguments will in addition merge the remote master branch into the
-current master branch, if any (this is untrue when "--single-branch"
+current master branch, if any (this is untrue when <code>--single-branch</code>
is given; see below).</p></div>
<div class="paragraph"><p>This default configuration is achieved by creating references to
the remote branch heads under <code>refs/remotes/origin</code> and
@@ -786,17 +786,17 @@ configuration variables.</p></div>
<div class="sectionbody">
<div class="dlist"><dl>
<dt class="hdlist1">
--l
+<code>-l</code>
</dt>
<dt class="hdlist1">
---local
+<code>--local</code>
</dt>
<dd>
<p>
When the repository to clone from is on a local machine,
this flag bypasses the normal "Git aware" transport
mechanism and clones the repository by making a copy of
- HEAD and everything under objects and refs directories.
+ <code>HEAD</code> and everything under objects and refs directories.
The files under <code>.git/objects/</code> directory are hardlinked
to save space when possible.
</p>
@@ -815,7 +815,7 @@ source repository, similar to running <code>cp -r src dst</code> while modifying
<code>src</code>.</p></div>
</dd>
<dt class="hdlist1">
---no-hardlinks
+<code>--no-hardlinks</code>
</dt>
<dd>
<p>
@@ -826,10 +826,10 @@ source repository, similar to running <code>cp -r src dst</code> while modifying
</p>
</dd>
<dt class="hdlist1">
--s
+<code>-s</code>
</dt>
<dt class="hdlist1">
---shared
+<code>--shared</code>
</dt>
<dd>
<p>
@@ -858,7 +858,7 @@ its source repository, you can simply run <code>git repack -a</code> to copy all
objects from the source repository into a pack in the cloned repository.</p></div>
</dd>
<dt class="hdlist1">
---reference[-if-able] &lt;repository&gt;
+<code>--reference</code>[<code>-if-able</code>] <em>&lt;repository&gt;</em>
</dt>
<dd>
<p>
@@ -876,7 +876,7 @@ objects from the source repository into a pack in the cloned repository.</p></di
<code>--dissociate</code> option.</p></div>
</dd>
<dt class="hdlist1">
---dissociate
+<code>--dissociate</code>
</dt>
<dd>
<p>
@@ -892,10 +892,10 @@ objects from the source repository into a pack in the cloned repository.</p></di
</p>
</dd>
<dt class="hdlist1">
--q
+<code>-q</code>
</dt>
<dt class="hdlist1">
---quiet
+<code>--quiet</code>
</dt>
<dd>
<p>
@@ -904,10 +904,10 @@ objects from the source repository into a pack in the cloned repository.</p></di
</p>
</dd>
<dt class="hdlist1">
--v
+<code>-v</code>
</dt>
<dt class="hdlist1">
---verbose
+<code>--verbose</code>
</dt>
<dd>
<p>
@@ -916,7 +916,7 @@ objects from the source repository into a pack in the cloned repository.</p></di
</p>
</dd>
<dt class="hdlist1">
---progress
+<code>--progress</code>
</dt>
<dd>
<p>
@@ -927,7 +927,7 @@ objects from the source repository into a pack in the cloned repository.</p></di
</p>
</dd>
<dt class="hdlist1">
---server-option=&lt;option&gt;
+<code>--server-option=</code><em>&lt;option&gt;</em>
</dt>
<dd>
<p>
@@ -935,15 +935,15 @@ objects from the source repository into a pack in the cloned repository.</p></di
protocol version 2. The given string must not contain a NUL or LF
character. The server&#8217;s handling of server options, including
unknown ones, is server-specific.
- When multiple <code>--server-option=&lt;option&gt;</code> are given, they are all
+ When multiple <code>--server-option=</code><em>&lt;option&gt;</em> are given, they are all
sent to the other side in the order listed on the command line.
</p>
</dd>
<dt class="hdlist1">
--n
+<code>-n</code>
</dt>
<dt class="hdlist1">
---no-checkout
+<code>--no-checkout</code>
</dt>
<dd>
<p>
@@ -951,7 +951,7 @@ objects from the source repository into a pack in the cloned repository.</p></di
</p>
</dd>
<dt class="hdlist1">
---[no-]reject-shallow
+<code>--</code>[<code>no-</code>]<code>reject-shallow</code>
</dt>
<dd>
<p>
@@ -961,13 +961,13 @@ objects from the source repository into a pack in the cloned repository.</p></di
</p>
</dd>
<dt class="hdlist1">
---bare
+<code>--bare</code>
</dt>
<dd>
<p>
Make a <em>bare</em> Git repository. That is, instead of
creating <em>&lt;directory&gt;</em> and placing the administrative
- files in <code>&lt;directory&gt;/.git</code>, make the <em>&lt;directory&gt;</em>
+ files in <em>&lt;directory&gt;</em><code>/.git</code>, make the <em>&lt;directory&gt;</em>
itself the <code>$GIT_DIR</code>. This obviously implies the <code>--no-checkout</code>
because there is nowhere to check out the working tree.
Also the branch heads at the remote are copied directly
@@ -978,7 +978,7 @@ objects from the source repository into a pack in the cloned repository.</p></di
</p>
</dd>
<dt class="hdlist1">
---sparse
+<code>--sparse</code>
</dt>
<dd>
<p>
@@ -989,7 +989,7 @@ objects from the source repository into a pack in the cloned repository.</p></di
</p>
</dd>
<dt class="hdlist1">
---filter=&lt;filter-spec&gt;
+<code>--filter=</code><em>&lt;filter-spec&gt;</em>
</dt>
<dd>
<p>
@@ -998,13 +998,13 @@ objects from the source repository into a pack in the cloned repository.</p></di
When using <code>--filter</code>, the supplied <em>&lt;filter-spec&gt;</em> is used for
the partial clone filter. For example, <code>--filter=blob:none</code> will
filter out all blobs (file contents) until needed by Git. Also,
- <code>--filter=blob:limit=&lt;size&gt;</code> will filter out all blobs of size
+ <code>--filter=blob:limit=</code><em>&lt;size&gt;</em> will filter out all blobs of size
at least <em>&lt;size&gt;</em>. For more details on filter specifications, see
the <code>--filter</code> option in <a href="git-rev-list.html">git-rev-list(1)</a>.
</p>
</dd>
<dt class="hdlist1">
---also-filter-submodules
+<code>--also-filter-submodules</code>
</dt>
<dd>
<p>
@@ -1014,7 +1014,7 @@ objects from the source repository into a pack in the cloned repository.</p></di
</p>
</dd>
<dt class="hdlist1">
---mirror
+<code>--mirror</code>
</dt>
<dd>
<p>
@@ -1027,10 +1027,10 @@ objects from the source repository into a pack in the cloned repository.</p></di
</p>
</dd>
<dt class="hdlist1">
--o &lt;name&gt;
+<code>-o</code> <em>&lt;name&gt;</em>
</dt>
<dt class="hdlist1">
---origin &lt;name&gt;
+<code>--origin</code> <em>&lt;name&gt;</em>
</dt>
<dd>
<p>
@@ -1040,10 +1040,10 @@ objects from the source repository into a pack in the cloned repository.</p></di
</p>
</dd>
<dt class="hdlist1">
--b &lt;name&gt;
+<code>-b</code> <em>&lt;name&gt;</em>
</dt>
<dt class="hdlist1">
---branch &lt;name&gt;
+<code>--branch</code> <em>&lt;name&gt;</em>
</dt>
<dd>
<p>
@@ -1056,10 +1056,10 @@ objects from the source repository into a pack in the cloned repository.</p></di
</p>
</dd>
<dt class="hdlist1">
--u &lt;upload-pack&gt;
+<code>-u</code> <em>&lt;upload-pack&gt;</em>
</dt>
<dt class="hdlist1">
---upload-pack &lt;upload-pack&gt;
+<code>--upload-pack</code> <em>&lt;upload-pack&gt;</em>
</dt>
<dd>
<p>
@@ -1069,7 +1069,7 @@ objects from the source repository into a pack in the cloned repository.</p></di
</p>
</dd>
<dt class="hdlist1">
---template=&lt;template-directory&gt;
+<code>--template=</code><em>&lt;template-directory&gt;</em>
</dt>
<dd>
<p>
@@ -1078,10 +1078,10 @@ objects from the source repository into a pack in the cloned repository.</p></di
</p>
</dd>
<dt class="hdlist1">
--c &lt;key&gt;=&lt;value&gt;
+<code>-c</code> <em>&lt;key&gt;</em><code>=</code><em>&lt;value&gt;</em>
</dt>
<dt class="hdlist1">
---config &lt;key&gt;=&lt;value&gt;
+<code>--config</code> <em>&lt;key&gt;</em><code>=</code><em>&lt;value&gt;</em>
</dt>
<dd>
<p>
@@ -1097,11 +1097,11 @@ objects from the source repository into a pack in the cloned repository.</p></di
<div class="paragraph"><p>Due to limitations of the current implementation, some configuration
variables do not take effect until after the initial fetch and checkout.
Configuration variables known to not take effect are:
-<code>remote.&lt;name&gt;.mirror</code> and <code>remote.&lt;name&gt;.tagOpt</code>. Use the
+<code>remote.</code><em>&lt;name&gt;</em><code>.mirror</code> and <code>remote.</code><em>&lt;name&gt;</em><code>.tagOpt</code>. Use the
corresponding <code>--mirror</code> and <code>--no-tags</code> options instead.</p></div>
</dd>
<dt class="hdlist1">
---depth &lt;depth&gt;
+<code>--depth</code> <em>&lt;depth&gt;</em>
</dt>
<dd>
<p>
@@ -1113,7 +1113,7 @@ corresponding <code>--mirror</code> and <code>--no-tags</code> options instead.<
</p>
</dd>
<dt class="hdlist1">
---shallow-since=&lt;date&gt;
+<code>--shallow-since=</code><em>&lt;date&gt;</em>
</dt>
<dd>
<p>
@@ -1121,7 +1121,7 @@ corresponding <code>--mirror</code> and <code>--no-tags</code> options instead.<
</p>
</dd>
<dt class="hdlist1">
---shallow-exclude=&lt;revision&gt;
+<code>--shallow-exclude=</code><em>&lt;revision&gt;</em>
</dt>
<dd>
<p>
@@ -1131,7 +1131,7 @@ corresponding <code>--mirror</code> and <code>--no-tags</code> options instead.<
</p>
</dd>
<dt class="hdlist1">
---[no-]single-branch
+<code>--</code>[<code>no-</code>]<code>single-branch</code>
</dt>
<dd>
<p>
@@ -1146,7 +1146,7 @@ corresponding <code>--mirror</code> and <code>--no-tags</code> options instead.<
</p>
</dd>
<dt class="hdlist1">
---no-tags
+<code>--no-tags</code>
</dt>
<dd>
<p>
@@ -1162,7 +1162,7 @@ branch. This is useful e.g. to maintain minimal clones of the default
branch of some repository for search indexing.</p></div>
</dd>
<dt class="hdlist1">
---recurse-submodules[=&lt;pathspec&gt;]
+<code>--recurse-submodules</code>[<code>=</code><em>&lt;pathspec&gt;</em>]
</dt>
<dd>
<p>
@@ -1182,7 +1182,7 @@ not have a worktree/checkout (i.e. if any of <code>--no-checkout</code>/<code>-n
or <code>--mirror</code> is given)</p></div>
</dd>
<dt class="hdlist1">
---[no-]shallow-submodules
+<code>--</code>[<code>no-</code>]<code>shallow-submodules</code>
</dt>
<dd>
<p>
@@ -1190,7 +1190,7 @@ or <code>--mirror</code> is given)</p></div>
</p>
</dd>
<dt class="hdlist1">
---[no-]remote-submodules
+<code>--</code>[<code>no-</code>]<code>remote-submodules</code>
</dt>
<dd>
<p>
@@ -1201,7 +1201,7 @@ or <code>--mirror</code> is given)</p></div>
</p>
</dd>
<dt class="hdlist1">
---separate-git-dir=&lt;git-dir&gt;
+<code>--separate-git-dir=</code><em>&lt;git-dir&gt;</em>
</dt>
<dd>
<p>
@@ -1213,7 +1213,7 @@ or <code>--mirror</code> is given)</p></div>
</p>
</dd>
<dt class="hdlist1">
---ref-format=&lt;ref-format&gt;
+<code>--ref-format=</code><em>&lt;ref-format&gt;</em>
</dt>
<dd>
<p>
@@ -1234,10 +1234,10 @@ Specify the given ref storage format for the repository. The valid values are:
</ul></div>
</dd>
<dt class="hdlist1">
--j &lt;n&gt;
+<code>-j</code> <em>&lt;n&gt;</em>
</dt>
<dt class="hdlist1">
---jobs &lt;n&gt;
+<code>--jobs</code> <em>&lt;n&gt;</em>
</dt>
<dd>
<p>
@@ -1246,7 +1246,7 @@ Specify the given ref storage format for the repository. The valid values are:
</p>
</dd>
<dt class="hdlist1">
-&lt;repository&gt;
+<em>&lt;repository&gt;</em>
</dt>
<dd>
<p>
@@ -1256,7 +1256,7 @@ Specify the given ref storage format for the repository. The valid values are:
</p>
</dd>
<dt class="hdlist1">
-&lt;directory&gt;
+<em>&lt;directory&gt;</em>
</dt>
<dd>
<p>
@@ -1268,7 +1268,7 @@ Specify the given ref storage format for the repository. The valid values are:
</p>
</dd>
<dt class="hdlist1">
---bundle-uri=&lt;uri&gt;
+<code>--bundle-uri=</code><em>&lt;uri&gt;</em>
</dt>
<dd>
<p>
@@ -1298,22 +1298,22 @@ should be used with caution on unsecured networks.</p></div>
<div class="ulist"><ul>
<li>
<p>
-ssh://&#91;user@&#93;host.xz&#91;:port&#93;/path/to/repo.git/
+<code>ssh://</code>&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-git://host.xz&#91;:port&#93;/path/to/repo.git/
+<code>git://</code><em>&lt;host&gt;</em>&#91;:<em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-http&#91;s&#93;://host.xz&#91;:port&#93;/path/to/repo.git/
+<code>http</code>&#91;<code>s</code>&#93;<code>://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-ftp&#91;s&#93;://host.xz&#91;:port&#93;/path/to/repo.git/
+<code>ftp</code>&#91;<code>s</code>&#93;<code>://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
</ul></div>
@@ -1321,7 +1321,7 @@ ftp&#91;s&#93;://host.xz&#91;:port&#93;/path/to/repo.git/
<div class="ulist"><ul>
<li>
<p>
-&#91;user@&#93;host.xz:path/to/repo.git/
+&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em><code>:/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
</ul></div>
@@ -1330,21 +1330,21 @@ first colon. This helps differentiate a local path that contains a
colon. For example the local path <code>foo:bar</code> could be specified as an
absolute path or <code>./foo:bar</code> to avoid being misinterpreted as an ssh
url.</p></div>
-<div class="paragraph"><p>The ssh and git protocols additionally support ~username expansion:</p></div>
+<div class="paragraph"><p>The ssh and git protocols additionally support <code>~</code><em>&lt;username&gt;</em> expansion:</p></div>
<div class="ulist"><ul>
<li>
<p>
-ssh://&#91;user@&#93;host.xz&#91;:port&#93;/~&#91;user&#93;/path/to/repo.git/
+<code>ssh://</code>&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-git://host.xz&#91;:port&#93;/~&#91;user&#93;/path/to/repo.git/
+<code>git://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-&#91;user@&#93;host.xz:/~&#91;user&#93;/path/to/repo.git/
+&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em><code>:~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
</ul></div>
@@ -1353,12 +1353,12 @@ syntaxes may be used:</p></div>
<div class="ulist"><ul>
<li>
<p>
-/path/to/repo.git/
+<code>/path/to/repo.git/</code>
</p>
</li>
<li>
<p>
-file:///path/to/repo.git/
+<code>file:///path/to/repo.git/</code>
</p>
</li>
</ul></div>
@@ -1367,13 +1367,13 @@ file:///path/to/repo.git/
<div class="paragraph"><p><code>git clone</code>, <code>git fetch</code> and <code>git pull</code>, but not <code>git push</code>, will also
accept a suitable bundle file. See <a href="git-bundle.html">git-bundle(1)</a>.</p></div>
<div class="paragraph"><p>When Git doesn&#8217;t know how to handle a certain transport protocol, it
-attempts to use the <code>remote-&lt;transport&gt;</code> remote helper, if one
+attempts to use the <code>remote-</code><em>&lt;transport&gt;</em> remote helper, if one
exists. To explicitly request a remote helper, the following syntax
may be used:</p></div>
<div class="ulist"><ul>
<li>
<p>
-<em>&lt;transport&gt;</em>::_&lt;address&gt;_
+<em>&lt;transport&gt;</em>::<em>&lt;address&gt;</em>
</p>
</li>
</ul></div>
@@ -1384,10 +1384,10 @@ invoked. See <a href="gitremote-helpers.html">gitremote-helpers(7)</a> for detai
you want to use a different format for them (such that the URLs you
use will be rewritten into URLs that work), you can create a
configuration section of the form:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><code> [url "&lt;actual-url-base&gt;"]
- insteadOf = &lt;other-url-base&gt;</code></pre>
+<div class="verseblock">
+<pre class="content"> [url "<em>&lt;actual-url-base&gt;</em>"]
+ insteadOf = <em>&lt;other-url-base&gt;</em></pre>
+<div class="attribution">
</div></div>
<div class="paragraph"><p>For example, with this:</p></div>
<div class="listingblock">
@@ -1400,10 +1400,10 @@ configuration section of the form:</p></div>
rewritten in any context that takes a URL to be "git://git.host.xz/repo.git".</p></div>
<div class="paragraph"><p>If you want to rewrite URLs for push only, you can create a
configuration section of the form:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><code> [url "&lt;actual-url-base&gt;"]
- pushInsteadOf = &lt;other-url-base&gt;</code></pre>
+<div class="verseblock">
+<pre class="content"> [url "<em>&lt;actual-url-base&gt;</em>"]
+ pushInsteadOf = <em>&lt;other-url-base&gt;</em></pre>
+<div class="attribution">
</div></div>
<div class="paragraph"><p>For example, with this:</p></div>
<div class="listingblock">
@@ -1474,7 +1474,7 @@ from the <a href="git-config.html">git-config(1)</a> documentation. The content
as what&#8217;s found there:</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
-init.templateDir
+<code>init.templateDir</code>
</dt>
<dd>
<p>
@@ -1482,7 +1482,7 @@ init.templateDir
</p>
</dd>
<dt class="hdlist1">
-init.defaultBranch
+<code>init.defaultBranch</code>
</dt>
<dd>
<p>
@@ -1491,26 +1491,27 @@ init.defaultBranch
</p>
</dd>
<dt class="hdlist1">
-clone.defaultRemoteName
+<code>clone.defaultRemoteName</code>
</dt>
<dd>
<p>
The name of the remote to create when cloning a repository. Defaults to
- <code>origin</code>, and can be overridden by passing the <code>--origin</code> command-line
- option to <a href="git-clone.html">git-clone(1)</a>.
+ <code>origin</code>.
+ It can be overridden by passing the <code>--origin</code> command-line
+ option.
</p>
</dd>
<dt class="hdlist1">
-clone.rejectShallow
+<code>clone.rejectShallow</code>
</dt>
<dd>
<p>
Reject cloning a repository if it is a shallow one; this can be overridden by
- passing the <code>--reject-shallow</code> option on the command line. See <a href="git-clone.html">git-clone(1)</a>
+ passing the <code>--reject-shallow</code> option on the command line.
</p>
</dd>
<dt class="hdlist1">
-clone.filterSubmodules
+<code>clone.filterSubmodules</code>
</dt>
<dd>
<p>
@@ -1533,7 +1534,7 @@ clone.filterSubmodules
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-21 16:28:38 PDT
+ 2024-04-09 14:45:01 PDT
</div>
</div>
</body>
diff --git a/git-clone.txt b/git-clone.txt
index f90977a85..5de18de2a 100644
--- a/git-clone.txt
+++ b/git-clone.txt
@@ -9,15 +9,15 @@ git-clone - Clone a repository into a new directory
SYNOPSIS
--------
[verse]
-'git clone' [--template=<template-directory>]
- [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
- [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
- [--dissociate] [--separate-git-dir <git-dir>]
- [--depth <depth>] [--[no-]single-branch] [--no-tags]
- [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]
- [--[no-]remote-submodules] [--jobs <n>] [--sparse] [--[no-]reject-shallow]
- [--filter=<filter> [--also-filter-submodules]] [--] <repository>
- [<directory>]
+`git clone` [++--template=++__<template-directory>__]
+ [`-l`] [`-s`] [`--no-hardlinks`] [`-q`] [`-n`] [`--bare`] [`--mirror`]
+ [`-o` _<name>_] [`-b` _<name>_] [`-u` _<upload-pack>_] [`--reference` _<repository>_]
+ [`--dissociate`] [`--separate-git-dir` _<git-dir>_]
+ [`--depth` _<depth>_] [`--`[`no-`]`single-branch`] [`--no-tags`]
+ [++--recurse-submodules++[++=++__<pathspec>__]] [`--`[`no-`]`shallow-submodules`]
+ [`--`[`no-`]`remote-submodules`] [`--jobs` _<n>_] [`--sparse`] [`--`[`no-`]`reject-shallow`]
+ [++--filter=++__<filter-spec>__] [`--also-filter-submodules`]] [`--`] _<repository>_
+ [_<directory>_]
DESCRIPTION
-----------
@@ -31,7 +31,7 @@ currently active branch.
After the clone, a plain `git fetch` without arguments will update
all the remote-tracking branches, and a `git pull` without
arguments will in addition merge the remote master branch into the
-current master branch, if any (this is untrue when "--single-branch"
+current master branch, if any (this is untrue when `--single-branch`
is given; see below).
This default configuration is achieved by creating references to
@@ -42,12 +42,12 @@ configuration variables.
OPTIONS
-------
--l::
---local::
+`-l`::
+`--local`::
When the repository to clone from is on a local machine,
this flag bypasses the normal "Git aware" transport
mechanism and clones the repository by making a copy of
- HEAD and everything under objects and refs directories.
+ `HEAD` and everything under objects and refs directories.
The files under `.git/objects/` directory are hardlinked
to save space when possible.
+
@@ -67,14 +67,14 @@ links.
source repository, similar to running `cp -r src dst` while modifying
`src`.
---no-hardlinks::
+`--no-hardlinks`::
Force the cloning process from a repository on a local
filesystem to copy the files under the `.git/objects`
directory instead of using hardlinks. This may be desirable
if you are trying to make a back-up of your repository.
--s::
---shared::
+`-s`::
+`--shared`::
When the repository to clone is on the local machine,
instead of using hard links, automatically setup
`.git/objects/info/alternates` to share the objects
@@ -101,7 +101,7 @@ If you want to break the dependency of a repository cloned with `--shared` on
its source repository, you can simply run `git repack -a` to copy all
objects from the source repository into a pack in the cloned repository.
---reference[-if-able] <repository>::
+`--reference`[`-if-able`] _<repository>_::
If the reference _<repository>_ is on the local machine,
automatically setup `.git/objects/info/alternates` to
obtain objects from the reference _<repository>_. Using
@@ -115,7 +115,7 @@ objects from the source repository into a pack in the cloned repository.
*NOTE*: see the NOTE for the `--shared` option, and also the
`--dissociate` option.
---dissociate::
+`--dissociate`::
Borrow the objects from reference repositories specified
with the `--reference` options only to reduce network
transfer, and stop borrowing from them after a clone is made
@@ -126,43 +126,43 @@ objects from the source repository into a pack in the cloned repository.
same repository, and this option can be used to stop the
borrowing.
--q::
---quiet::
+`-q`::
+`--quiet`::
Operate quietly. Progress is not reported to the standard
error stream.
--v::
---verbose::
+`-v`::
+`--verbose`::
Run verbosely. Does not affect the reporting of progress status
to the standard error stream.
---progress::
+`--progress`::
Progress status is reported on the standard error stream
by default when it is attached to a terminal, unless `--quiet`
is specified. This flag forces progress status even if the
standard error stream is not directed to a terminal.
---server-option=<option>::
+++--server-option=++__<option>__::
Transmit the given string to the server when communicating using
protocol version 2. The given string must not contain a NUL or LF
character. The server's handling of server options, including
unknown ones, is server-specific.
- When multiple `--server-option=<option>` are given, they are all
+ When multiple ++--server-option=++__<option>__ are given, they are all
sent to the other side in the order listed on the command line.
--n::
---no-checkout::
+`-n`::
+`--no-checkout`::
No checkout of HEAD is performed after the clone is complete.
---[no-]reject-shallow::
+`--`[`no-`]`reject-shallow`::
Fail if the source repository is a shallow repository.
The `clone.rejectShallow` configuration variable can be used to
specify the default.
---bare::
+`--bare`::
Make a 'bare' Git repository. That is, instead of
creating _<directory>_ and placing the administrative
- files in `<directory>/.git`, make the _<directory>_
+ files in _<directory>_`/.git`, make the _<directory>_
itself the `$GIT_DIR`. This obviously implies the `--no-checkout`
because there is nowhere to check out the working tree.
Also the branch heads at the remote are copied directly
@@ -171,28 +171,28 @@ objects from the source repository into a pack in the cloned repository.
used, neither remote-tracking branches nor the related
configuration variables are created.
---sparse::
+`--sparse`::
Employ a sparse-checkout, with only files in the toplevel
directory initially being present. The
linkgit:git-sparse-checkout[1] command can be used to grow the
working directory as needed.
---filter=<filter-spec>::
+++--filter=++__<filter-spec>__::
Use the partial clone feature and request that the server sends
a subset of reachable objects according to a given object filter.
When using `--filter`, the supplied _<filter-spec>_ is used for
the partial clone filter. For example, `--filter=blob:none` will
filter out all blobs (file contents) until needed by Git. Also,
- `--filter=blob:limit=<size>` will filter out all blobs of size
+ ++--filter=blob:limit=++__<size>__ will filter out all blobs of size
at least _<size>_. For more details on filter specifications, see
the `--filter` option in linkgit:git-rev-list[1].
---also-filter-submodules::
+`--also-filter-submodules`::
Also apply the partial clone filter to any submodules in the repository.
Requires `--filter` and `--recurse-submodules`. This can be turned on by
default by setting the `clone.filterSubmodules` config option.
---mirror::
+`--mirror`::
Set up a mirror of the source repository. This implies `--bare`.
Compared to `--bare`, `--mirror` not only maps local branches of the
source to local branches of the target, it maps all refs (including
@@ -200,14 +200,14 @@ objects from the source repository into a pack in the cloned repository.
that all these refs are overwritten by a `git remote update` in the
target repository.
--o <name>::
---origin <name>::
+`-o` _<name>_::
+`--origin` _<name>_::
Instead of using the remote name `origin` to keep track of the upstream
repository, use _<name>_. Overrides `clone.defaultRemoteName` from the
config.
--b <name>::
---branch <name>::
+`-b` _<name>_::
+`--branch` _<name>_::
Instead of pointing the newly created HEAD to the branch pointed
to by the cloned repository's HEAD, point to _<name>_ branch
instead. In a non-bare repository, this is the branch that will
@@ -215,18 +215,18 @@ objects from the source repository into a pack in the cloned repository.
`--branch` can also take tags and detaches the HEAD at that commit
in the resulting repository.
--u <upload-pack>::
---upload-pack <upload-pack>::
+`-u` _<upload-pack>_::
+`--upload-pack` _<upload-pack>_::
When given, and the repository to clone from is accessed
via ssh, this specifies a non-default path for the command
run on the other end.
---template=<template-directory>::
+++--template=++__<template-directory>__::
Specify the directory from which templates will be used;
(See the "TEMPLATE DIRECTORY" section of linkgit:git-init[1].)
--c <key>=<value>::
---config <key>=<value>::
+`-c` __<key>__++=++__<value>__::
+`--config` __<key>__++=++__<value>__::
Set a configuration variable in the newly-created repository;
this takes effect immediately after the repository is
initialized, but before the remote history is fetched or any
@@ -239,25 +239,25 @@ objects from the source repository into a pack in the cloned repository.
Due to limitations of the current implementation, some configuration
variables do not take effect until after the initial fetch and checkout.
Configuration variables known to not take effect are:
-`remote.<name>.mirror` and `remote.<name>.tagOpt`. Use the
+++remote.++__<name>__++.mirror++ and ++remote.++__<name>__++.tagOpt++. Use the
corresponding `--mirror` and `--no-tags` options instead.
---depth <depth>::
+`--depth` _<depth>_::
Create a 'shallow' clone with a history truncated to the
specified number of commits. Implies `--single-branch` unless
`--no-single-branch` is given to fetch the histories near the
tips of all branches. If you want to clone submodules shallowly,
also pass `--shallow-submodules`.
---shallow-since=<date>::
+++--shallow-since=++__<date>__::
Create a shallow clone with a history after the specified time.
---shallow-exclude=<revision>::
+++--shallow-exclude=++__<revision>__::
Create a shallow clone with a history, excluding commits
reachable from a specified remote branch or tag. This option
can be specified multiple times.
---[no-]single-branch::
+`--`[`no-`]`single-branch`::
Clone only the history leading to the tip of a single branch,
either specified by the `--branch` option or the primary
branch remote's `HEAD` points at.
@@ -267,7 +267,7 @@ corresponding `--mirror` and `--no-tags` options instead.
branch when `--single-branch` clone was made, no remote-tracking
branch is created.
---no-tags::
+`--no-tags`::
Don't clone any tags, and set
`remote.<remote>.tagOpt=--no-tags` in the config, ensuring
that future `git pull` and `git fetch` operations won't follow
@@ -279,7 +279,7 @@ maintain a branch with no references other than a single cloned
branch. This is useful e.g. to maintain minimal clones of the default
branch of some repository for search indexing.
---recurse-submodules[=<pathspec>]::
+`--recurse-submodules`[`=`{empty}__<pathspec>__]::
After the clone is created, initialize and clone submodules
within based on the provided _<pathspec>_. If no _=<pathspec>_ is
provided, all submodules are initialized and cloned.
@@ -295,46 +295,46 @@ the clone is finished. This option is ignored if the cloned repository does
not have a worktree/checkout (i.e. if any of `--no-checkout`/`-n`, `--bare`,
or `--mirror` is given)
---[no-]shallow-submodules::
+`--`[`no-`]`shallow-submodules`::
All submodules which are cloned will be shallow with a depth of 1.
---[no-]remote-submodules::
+`--`[`no-`]`remote-submodules`::
All submodules which are cloned will use the status of the submodule's
remote-tracking branch to update the submodule, rather than the
superproject's recorded SHA-1. Equivalent to passing `--remote` to
`git submodule update`.
---separate-git-dir=<git-dir>::
+`--separate-git-dir=`{empty}__<git-dir>__::
Instead of placing the cloned repository where it is supposed
to be, place the cloned repository at the specified directory,
then make a filesystem-agnostic Git symbolic link to there.
The result is Git repository can be separated from working
tree.
---ref-format=<ref-format>::
+`--ref-format=`{empty}__<ref-format>__::
Specify the given ref storage format for the repository. The valid values are:
+
include::ref-storage-format.txt[]
--j <n>::
---jobs <n>::
+`-j` _<n>_::
+`--jobs` _<n>_::
The number of submodules fetched at the same time.
Defaults to the `submodule.fetchJobs` option.
-<repository>::
+_<repository>_::
The (possibly remote) _<repository>_ to clone from. See the
<<URLS,GIT URLS>> section below for more information on specifying
repositories.
-<directory>::
+_<directory>_::
The name of a new directory to clone into. The "humanish"
part of the source repository is used if no _<directory>_ is
explicitly given (`repo` for `/path/to/repo.git` and `foo`
for `host.xz:foo/.git`). Cloning into an existing directory
is only allowed if the directory is empty.
---bundle-uri=<uri>::
+`--bundle-uri=`{empty}__<uri>__::
Before fetching from the remote, fetch a bundle from the given
_<uri>_ and unbundle the data into the local repository. The refs
in the bundle will be stored under the hidden `refs/bundle/*`
diff --git a/git-config.html b/git-config.html
index 3233e8eb7..e29d8bf06 100644
--- a/git-config.html
+++ b/git-config.html
@@ -2895,26 +2895,28 @@ clean.requireForce
</p>
</dd>
<dt class="hdlist1">
-clone.defaultRemoteName
+<code>clone.defaultRemoteName</code>
</dt>
<dd>
<p>
The name of the remote to create when cloning a repository. Defaults to
- <code>origin</code>, and can be overridden by passing the <code>--origin</code> command-line
+ <code>origin</code>.
+ It can be overridden by passing the <code>--origin</code> command-line
option to <a href="git-clone.html">git-clone(1)</a>.
</p>
</dd>
<dt class="hdlist1">
-clone.rejectShallow
+<code>clone.rejectShallow</code>
</dt>
<dd>
<p>
Reject cloning a repository if it is a shallow one; this can be overridden by
- passing the <code>--reject-shallow</code> option on the command line. See <a href="git-clone.html">git-clone(1)</a>
+ passing the <code>--reject-shallow</code> option on the command line.
+ See <a href="git-clone.html">git-clone(1)</a>.
</p>
</dd>
<dt class="hdlist1">
-clone.filterSubmodules
+<code>clone.filterSubmodules</code>
</dt>
<dd>
<p>
@@ -7948,7 +7950,7 @@ error during <code>git fsck</code>.</p></div>
</dl></div>
<div class="dlist"><dl>
<dt class="hdlist1">
-init.templateDir
+<code>init.templateDir</code>
</dt>
<dd>
<p>
@@ -7956,7 +7958,7 @@ init.templateDir
</p>
</dd>
<dt class="hdlist1">
-init.defaultBranch
+<code>init.defaultBranch</code>
</dt>
<dd>
<p>
diff --git a/git-fetch.html b/git-fetch.html
index 2b00cedd3..6ee6a26e7 100644
--- a/git-fetch.html
+++ b/git-fetch.html
@@ -1446,22 +1446,22 @@ should be used with caution on unsecured networks.</p></div>
<div class="ulist"><ul>
<li>
<p>
-ssh://&#91;user@&#93;host.xz&#91;:port&#93;/path/to/repo.git/
+<code>ssh://</code>&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-git://host.xz&#91;:port&#93;/path/to/repo.git/
+<code>git://</code><em>&lt;host&gt;</em>&#91;:<em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-http&#91;s&#93;://host.xz&#91;:port&#93;/path/to/repo.git/
+<code>http</code>&#91;<code>s</code>&#93;<code>://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-ftp&#91;s&#93;://host.xz&#91;:port&#93;/path/to/repo.git/
+<code>ftp</code>&#91;<code>s</code>&#93;<code>://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
</ul></div>
@@ -1469,7 +1469,7 @@ ftp&#91;s&#93;://host.xz&#91;:port&#93;/path/to/repo.git/
<div class="ulist"><ul>
<li>
<p>
-&#91;user@&#93;host.xz:path/to/repo.git/
+&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em><code>:/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
</ul></div>
@@ -1478,21 +1478,21 @@ first colon. This helps differentiate a local path that contains a
colon. For example the local path <code>foo:bar</code> could be specified as an
absolute path or <code>./foo:bar</code> to avoid being misinterpreted as an ssh
url.</p></div>
-<div class="paragraph"><p>The ssh and git protocols additionally support ~username expansion:</p></div>
+<div class="paragraph"><p>The ssh and git protocols additionally support <code>~</code><em>&lt;username&gt;</em> expansion:</p></div>
<div class="ulist"><ul>
<li>
<p>
-ssh://&#91;user@&#93;host.xz&#91;:port&#93;/~&#91;user&#93;/path/to/repo.git/
+<code>ssh://</code>&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-git://host.xz&#91;:port&#93;/~&#91;user&#93;/path/to/repo.git/
+<code>git://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-&#91;user@&#93;host.xz:/~&#91;user&#93;/path/to/repo.git/
+&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em><code>:~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
</ul></div>
@@ -1501,12 +1501,12 @@ syntaxes may be used:</p></div>
<div class="ulist"><ul>
<li>
<p>
-/path/to/repo.git/
+<code>/path/to/repo.git/</code>
</p>
</li>
<li>
<p>
-file:///path/to/repo.git/
+<code>file:///path/to/repo.git/</code>
</p>
</li>
</ul></div>
@@ -1516,13 +1516,13 @@ details.</p></div>
<div class="paragraph"><p><code>git clone</code>, <code>git fetch</code> and <code>git pull</code>, but not <code>git push</code>, will also
accept a suitable bundle file. See <a href="git-bundle.html">git-bundle(1)</a>.</p></div>
<div class="paragraph"><p>When Git doesn&#8217;t know how to handle a certain transport protocol, it
-attempts to use the <code>remote-&lt;transport&gt;</code> remote helper, if one
+attempts to use the <code>remote-</code><em>&lt;transport&gt;</em> remote helper, if one
exists. To explicitly request a remote helper, the following syntax
may be used:</p></div>
<div class="ulist"><ul>
<li>
<p>
-<em>&lt;transport&gt;</em>::_&lt;address&gt;_
+<em>&lt;transport&gt;</em>::<em>&lt;address&gt;</em>
</p>
</li>
</ul></div>
@@ -1533,10 +1533,10 @@ invoked. See <a href="gitremote-helpers.html">gitremote-helpers(7)</a> for detai
you want to use a different format for them (such that the URLs you
use will be rewritten into URLs that work), you can create a
configuration section of the form:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><code> [url "&lt;actual-url-base&gt;"]
- insteadOf = &lt;other-url-base&gt;</code></pre>
+<div class="verseblock">
+<pre class="content"> [url "<em>&lt;actual-url-base&gt;</em>"]
+ insteadOf = <em>&lt;other-url-base&gt;</em></pre>
+<div class="attribution">
</div></div>
<div class="paragraph"><p>For example, with this:</p></div>
<div class="listingblock">
@@ -1549,10 +1549,10 @@ configuration section of the form:</p></div>
rewritten in any context that takes a URL to be "git://git.host.xz/repo.git".</p></div>
<div class="paragraph"><p>If you want to rewrite URLs for push only, you can create a
configuration section of the form:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><code> [url "&lt;actual-url-base&gt;"]
- pushInsteadOf = &lt;other-url-base&gt;</code></pre>
+<div class="verseblock">
+<pre class="content"> [url "<em>&lt;actual-url-base&gt;</em>"]
+ pushInsteadOf = <em>&lt;other-url-base&gt;</em></pre>
+<div class="attribution">
</div></div>
<div class="paragraph"><p>For example, with this:</p></div>
<div class="listingblock">
diff --git a/git-init.html b/git-init.html
index 51c139e95..8a329281c 100644
--- a/git-init.html
+++ b/git-init.html
@@ -749,11 +749,11 @@ git-init(1) Manual Page
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
-<pre class="content"><em>git init</em> [-q | --quiet] [--bare] [--template=&lt;template-directory&gt;]
- [--separate-git-dir &lt;git-dir&gt;] [--object-format=&lt;format&gt;]
- [--ref-format=&lt;format&gt;]
- [-b &lt;branch-name&gt; | --initial-branch=&lt;branch-name&gt;]
- [--shared[=&lt;permissions&gt;]] [&lt;directory&gt;]</pre>
+<pre class="content"><code>git init</code> [<code>-q</code> | <code>--quiet</code>] [<code>--bare</code>] [<code>--template=</code><em>&lt;template-directory&gt;</em>]
+ [<code>--separate-git-dir</code> <em>&lt;git-dir&gt;</em>] [<code>--object-format=</code><em>&lt;format&gt;</em>]
+ [<code>--ref-format=</code><em>&lt;format&gt;</em>]
+ [<code>-b</code> <em>&lt;branch-name&gt;</em> | <code>--initial-branch=</code><em>&lt;branch-name&gt;</em>]
+ [<code>--shared</code>[<code>=</code><em>&lt;permissions&gt;</em>]] [<em>&lt;directory&gt;</em>]</pre>
<div class="attribution">
</div></div>
</div>
@@ -783,10 +783,10 @@ the repository to another place if <code>--separate-git-dir</code> is given).</p
<div class="sectionbody">
<div class="dlist"><dl>
<dt class="hdlist1">
--q
+<code>-q</code>
</dt>
<dt class="hdlist1">
---quiet
+<code>--quiet</code>
</dt>
<dd>
<p>
@@ -794,7 +794,7 @@ Only print error and warning messages; all other output will be suppressed.
</p>
</dd>
<dt class="hdlist1">
---bare
+<code>--bare</code>
</dt>
<dd>
<p>
@@ -803,7 +803,7 @@ current working directory.
</p>
</dd>
<dt class="hdlist1">
---object-format=&lt;format&gt;
+<code>--object-format=</code><em>&lt;format&gt;</em>
</dt>
<dd>
<p>
@@ -822,7 +822,7 @@ created with today&#8217;s Git will be usable by future versions of Git
without data loss.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
---ref-format=&lt;format&gt;
+<code>--ref-format=</code><em>&lt;format&gt;</em>
</dt>
<dd>
<p>
@@ -843,7 +843,7 @@ Specify the given ref storage <em>&lt;format&gt;</em> for the repository. The va
</ul></div>
</dd>
<dt class="hdlist1">
---template=&lt;template-directory&gt;
+<code>--template=</code><em>&lt;template-directory&gt;</em>
</dt>
<dd>
<p>
@@ -852,7 +852,7 @@ DIRECTORY" section below.)
</p>
</dd>
<dt class="hdlist1">
---separate-git-dir=&lt;git-dir&gt;
+<code>--separate-git-dir=</code><em>&lt;git-dir&gt;</em>
</dt>
<dd>
<p>
@@ -864,10 +864,10 @@ repository.
<div class="paragraph"><p>If this is a reinitialization, the repository will be moved to the specified path.</p></div>
</dd>
<dt class="hdlist1">
--b &lt;branch-name&gt;
+<code>-b</code> <em>&lt;branch-name&gt;</em>
</dt>
<dt class="hdlist1">
---initial-branch=&lt;branch-name&gt;
+<code>--initial-branch=</code><em>&lt;branch-name&gt;</em>
</dt>
<dd>
<p>
@@ -878,7 +878,7 @@ customized via the <code>init.defaultBranch</code> configuration variable).
</p>
</dd>
<dt class="hdlist1">
---shared[=(false|true|umask|group|all|world|everybody|&lt;perm&gt;)]
+<code>--shared</code>[<code>=</code>(<code>false</code>|<code>true</code>|<code>umask</code>|<code>group</code>|<code>all</code>|<code>world</code>|<code>everybody</code>|<em>&lt;perm&gt;</em>)]
</dt>
<dd>
<p>
@@ -887,7 +887,7 @@ allows users belonging to the same group to push into that
repository. When specified, the config variable <code>core.sharedRepository</code> is
set so that files and directories under <code>$GIT_DIR</code> are created with the
requested permissions. When not specified, Git will use permissions reported
-by <code>umask(2)</code>.
+by <code>umask</code>(2).
</p>
<div class="paragraph"><p>The option can have the following values, defaulting to <code>group</code> if no value
is given:</p></div>
@@ -895,41 +895,41 @@ is given:</p></div>
<div class="content">
<div class="dlist"><dl>
<dt class="hdlist1">
-umask
+<code>umask</code>
</dt>
<dt class="hdlist1">
-false
+<code>false</code>
</dt>
<dd>
<p>
-Use permissions reported by umask(2). The default, when <code>--shared</code> is not
+Use permissions reported by <code>umask</code>(2). The default, when <code>--shared</code> is not
specified.
</p>
</dd>
<dt class="hdlist1">
-group
+<code>group</code>
</dt>
<dt class="hdlist1">
-true
+<code>true</code>
</dt>
<dd>
<p>
-Make the repository group-writable, (and g+sx, since the git group may not be
+Make the repository group-writable, (and <code>g+sx</code>, since the git group may not be
the primary group of all users). This is used to loosen the permissions of an
-otherwise safe umask(2) value. Note that the umask still applies to the other
+otherwise safe <code>umask</code>(2) value. Note that the umask still applies to the other
permission bits (e.g. if umask is <code>0022</code>, using <code>group</code> will not remove read
privileges from other (non-group) users). See <code>0xxx</code> for how to exactly specify
the repository permissions.
</p>
</dd>
<dt class="hdlist1">
-all
+<code>all</code>
</dt>
<dt class="hdlist1">
-world
+<code>world</code>
</dt>
<dt class="hdlist1">
-everybody
+<code>everybody</code>
</dt>
<dd>
<p>
@@ -937,12 +937,12 @@ Same as <code>group</code>, but make the repository readable by all users.
</p>
</dd>
<dt class="hdlist1">
-&lt;perm&gt;
+<em>&lt;perm&gt;</em>
</dt>
<dd>
<p>
<em>&lt;perm&gt;</em> is a 3-digit octal number prefixed with &#8216;0` and each file
-will have mode <em>&lt;perm&gt;</em>. <em>&lt;perm&gt;</em> will override users&#8217;<code>umask(2)</code>
+will have mode <em>&lt;perm&gt;</em>. <em>&lt;perm&gt;</em> will override users&#8217; <code>umask</code>(2)
value (and not only loosen permissions as <code>group</code> and <code>all</code>
do). <code>0640</code> will create a repository which is group-readable, but
not group-writable or accessible to others. <code>0660</code> will create a repo
@@ -1041,7 +1041,7 @@ from the <a href="git-config.html">git-config(1)</a> documentation. The content
as what&#8217;s found there:</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
-init.templateDir
+<code>init.templateDir</code>
</dt>
<dd>
<p>
@@ -1049,7 +1049,7 @@ init.templateDir
</p>
</dd>
<dt class="hdlist1">
-init.defaultBranch
+<code>init.defaultBranch</code>
</dt>
<dd>
<p>
@@ -1071,7 +1071,7 @@ init.defaultBranch
<div id="footer">
<div id="footer-text">
Last updated
- 2024-03-21 16:28:38 PDT
+ 2024-04-09 14:45:01 PDT
</div>
</div>
</body>
diff --git a/git-init.txt b/git-init.txt
index 2f864e11e..daff93bd1 100644
--- a/git-init.txt
+++ b/git-init.txt
@@ -9,11 +9,11 @@ git-init - Create an empty Git repository or reinitialize an existing one
SYNOPSIS
--------
[verse]
-'git init' [-q | --quiet] [--bare] [--template=<template-directory>]
- [--separate-git-dir <git-dir>] [--object-format=<format>]
- [--ref-format=<format>]
- [-b <branch-name> | --initial-branch=<branch-name>]
- [--shared[=<permissions>]] [<directory>]
+`git init` [`-q` | `--quiet`] [`--bare`] [++--template=++__<template-directory>__]
+ [`--separate-git-dir` _<git-dir>_] [++--object-format=++__<format>__]
+ [++--ref-format=++__<format>__]
+ [`-b` _<branch-name>_ | ++--initial-branch=++__<branch-name>__]
+ [++--shared++[++=++__<permissions>__]] [_<directory>_]
DESCRIPTION
@@ -41,35 +41,35 @@ the repository to another place if `--separate-git-dir` is given).
OPTIONS
-------
--q::
---quiet::
+`-q`::
+`--quiet`::
Only print error and warning messages; all other output will be suppressed.
---bare::
+`--bare`::
Create a bare repository. If `GIT_DIR` environment is not set, it is set to the
current working directory.
---object-format=<format>::
+++--object-format=++__<format>__::
Specify the given object _<format>_ (hash algorithm) for the repository. The valid
values are `sha1` and (if enabled) `sha256`. `sha1` is the default.
+
include::object-format-disclaimer.txt[]
---ref-format=<format>::
+++--ref-format=++__<format>__::
Specify the given ref storage _<format>_ for the repository. The valid values are:
+
include::ref-storage-format.txt[]
---template=<template-directory>::
+++--template=++__<template-directory>__::
Specify the directory from which templates will be used. (See the "TEMPLATE
DIRECTORY" section below.)
---separate-git-dir=<git-dir>::
+++--separate-git-dir=++__<git-dir>__::
Instead of initializing the repository as a directory to either `$GIT_DIR` or
`./.git/`, create a text file there containing the path to the actual
@@ -78,53 +78,53 @@ repository.
+
If this is a reinitialization, the repository will be moved to the specified path.
--b <branch-name>::
---initial-branch=<branch-name>::
+`-b` _<branch-name>_::
+++--initial-branch=++__<branch-name>__::
Use _<branch-name>_ for the initial branch in the newly created
repository. If not specified, fall back to the default name (currently
`master`, but this is subject to change in the future; the name can be
customized via the `init.defaultBranch` configuration variable).
---shared[=(false|true|umask|group|all|world|everybody|<perm>)]::
+++--shared++[++=++(`false`|`true`|`umask`|`group`|`all`|`world`|`everybody`|_<perm>_)]::
Specify that the Git repository is to be shared amongst several users. This
allows users belonging to the same group to push into that
repository. When specified, the config variable `core.sharedRepository` is
set so that files and directories under `$GIT_DIR` are created with the
requested permissions. When not specified, Git will use permissions reported
-by `umask(2)`.
+by `umask`(2).
+
The option can have the following values, defaulting to `group` if no value
is given:
+
--
-umask::
-false::
+`umask`::
+`false`::
-Use permissions reported by umask(2). The default, when `--shared` is not
+Use permissions reported by `umask`(2). The default, when `--shared` is not
specified.
-group::
-true::
+`group`::
+`true`::
-Make the repository group-writable, (and g+sx, since the git group may not be
+Make the repository group-writable, (and `g+sx`, since the git group may not be
the primary group of all users). This is used to loosen the permissions of an
-otherwise safe umask(2) value. Note that the umask still applies to the other
+otherwise safe `umask`(2) value. Note that the umask still applies to the other
permission bits (e.g. if umask is `0022`, using `group` will not remove read
privileges from other (non-group) users). See `0xxx` for how to exactly specify
the repository permissions.
-all::
-world::
-everybody::
+`all`::
+`world`::
+`everybody`::
Same as `group`, but make the repository readable by all users.
-<perm>::
+_<perm>_::
_<perm>_ is a 3-digit octal number prefixed with `0` and each file
-will have mode _<perm>_. _<perm>_ will override users'`umask(2)`
+will have mode _<perm>_. _<perm>_ will override users' `umask`(2)
value (and not only loosen permissions as `group` and `all`
do). `0640` will create a repository which is group-readable, but
not group-writable or accessible to others. `0660` will create a repo
diff --git a/git-pack-refs.html b/git-pack-refs.html
index 851b6de27..e8b0c54c1 100644
--- a/git-pack-refs.html
+++ b/git-pack-refs.html
@@ -749,7 +749,7 @@ git-pack-refs(1) Manual Page
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
-<pre class="content"><em>git pack-refs</em> [--all] [--no-prune] [--include &lt;pattern&gt;] [--exclude &lt;pattern&gt;]</pre>
+<pre class="content"><em>git pack-refs</em> [--all] [--no-prune] [--auto] [--include &lt;pattern&gt;] [--exclude &lt;pattern&gt;]</pre>
<div class="attribution">
</div></div>
</div>
@@ -811,6 +811,31 @@ hierarchy after packing them. This option tells it not to.
</p>
</dd>
<dt class="hdlist1">
+--auto
+</dt>
+<dd>
+<p>
+Pack refs as needed depending on the current state of the ref database. The
+behavior depends on the ref format used by the repository and may change in the
+future.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+"files": No special handling for <code>--auto</code> has been implemented.
+</p>
+</li>
+<li>
+<p>
+"reftable": Tables are compacted such that they form a geometric
+ sequence. For two tables N and N+1, where N+1 is newer, this
+ maintains the property that N is at least twice as big as N+1. Only
+ tables that violate this property are compacted.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
--include &lt;pattern&gt;
</dt>
<dd>
@@ -860,7 +885,7 @@ exists" when it means "branch &lt;branch&gt; exists".</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2023-06-13 13:57:42 PDT
+ 2024-04-09 14:45:01 PDT
</div>
</div>
</body>
diff --git a/git-pack-refs.txt b/git-pack-refs.txt
index 284956acb..2dcabaf74 100644
--- a/git-pack-refs.txt
+++ b/git-pack-refs.txt
@@ -8,7 +8,7 @@ git-pack-refs - Pack heads and tags for efficient repository access
SYNOPSIS
--------
[verse]
-'git pack-refs' [--all] [--no-prune] [--include <pattern>] [--exclude <pattern>]
+'git pack-refs' [--all] [--no-prune] [--auto] [--include <pattern>] [--exclude <pattern>]
DESCRIPTION
-----------
@@ -60,6 +60,19 @@ with many branches of historical interests.
The command usually removes loose refs under `$GIT_DIR/refs`
hierarchy after packing them. This option tells it not to.
+--auto::
+
+Pack refs as needed depending on the current state of the ref database. The
+behavior depends on the ref format used by the repository and may change in the
+future.
++
+ - "files": No special handling for `--auto` has been implemented.
++
+ - "reftable": Tables are compacted such that they form a geometric
+ sequence. For two tables N and N+1, where N+1 is newer, this
+ maintains the property that N is at least twice as big as N+1. Only
+ tables that violate this property are compacted.
+
--include <pattern>::
Pack refs based on a `glob(7)` pattern. Repetitions of this option
diff --git a/git-pull.html b/git-pull.html
index a987c942a..346c0ec60 100644
--- a/git-pull.html
+++ b/git-pull.html
@@ -1674,22 +1674,22 @@ should be used with caution on unsecured networks.</p></div>
<div class="ulist"><ul>
<li>
<p>
-ssh://&#91;user@&#93;host.xz&#91;:port&#93;/path/to/repo.git/
+<code>ssh://</code>&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-git://host.xz&#91;:port&#93;/path/to/repo.git/
+<code>git://</code><em>&lt;host&gt;</em>&#91;:<em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-http&#91;s&#93;://host.xz&#91;:port&#93;/path/to/repo.git/
+<code>http</code>&#91;<code>s</code>&#93;<code>://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-ftp&#91;s&#93;://host.xz&#91;:port&#93;/path/to/repo.git/
+<code>ftp</code>&#91;<code>s</code>&#93;<code>://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
</ul></div>
@@ -1697,7 +1697,7 @@ ftp&#91;s&#93;://host.xz&#91;:port&#93;/path/to/repo.git/
<div class="ulist"><ul>
<li>
<p>
-&#91;user@&#93;host.xz:path/to/repo.git/
+&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em><code>:/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
</ul></div>
@@ -1706,21 +1706,21 @@ first colon. This helps differentiate a local path that contains a
colon. For example the local path <code>foo:bar</code> could be specified as an
absolute path or <code>./foo:bar</code> to avoid being misinterpreted as an ssh
url.</p></div>
-<div class="paragraph"><p>The ssh and git protocols additionally support ~username expansion:</p></div>
+<div class="paragraph"><p>The ssh and git protocols additionally support <code>~</code><em>&lt;username&gt;</em> expansion:</p></div>
<div class="ulist"><ul>
<li>
<p>
-ssh://&#91;user@&#93;host.xz&#91;:port&#93;/~&#91;user&#93;/path/to/repo.git/
+<code>ssh://</code>&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-git://host.xz&#91;:port&#93;/~&#91;user&#93;/path/to/repo.git/
+<code>git://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-&#91;user@&#93;host.xz:/~&#91;user&#93;/path/to/repo.git/
+&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em><code>:~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
</ul></div>
@@ -1729,12 +1729,12 @@ syntaxes may be used:</p></div>
<div class="ulist"><ul>
<li>
<p>
-/path/to/repo.git/
+<code>/path/to/repo.git/</code>
</p>
</li>
<li>
<p>
-file:///path/to/repo.git/
+<code>file:///path/to/repo.git/</code>
</p>
</li>
</ul></div>
@@ -1744,13 +1744,13 @@ details.</p></div>
<div class="paragraph"><p><code>git clone</code>, <code>git fetch</code> and <code>git pull</code>, but not <code>git push</code>, will also
accept a suitable bundle file. See <a href="git-bundle.html">git-bundle(1)</a>.</p></div>
<div class="paragraph"><p>When Git doesn&#8217;t know how to handle a certain transport protocol, it
-attempts to use the <code>remote-&lt;transport&gt;</code> remote helper, if one
+attempts to use the <code>remote-</code><em>&lt;transport&gt;</em> remote helper, if one
exists. To explicitly request a remote helper, the following syntax
may be used:</p></div>
<div class="ulist"><ul>
<li>
<p>
-<em>&lt;transport&gt;</em>::_&lt;address&gt;_
+<em>&lt;transport&gt;</em>::<em>&lt;address&gt;</em>
</p>
</li>
</ul></div>
@@ -1761,10 +1761,10 @@ invoked. See <a href="gitremote-helpers.html">gitremote-helpers(7)</a> for detai
you want to use a different format for them (such that the URLs you
use will be rewritten into URLs that work), you can create a
configuration section of the form:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><code> [url "&lt;actual-url-base&gt;"]
- insteadOf = &lt;other-url-base&gt;</code></pre>
+<div class="verseblock">
+<pre class="content"> [url "<em>&lt;actual-url-base&gt;</em>"]
+ insteadOf = <em>&lt;other-url-base&gt;</em></pre>
+<div class="attribution">
</div></div>
<div class="paragraph"><p>For example, with this:</p></div>
<div class="listingblock">
@@ -1777,10 +1777,10 @@ configuration section of the form:</p></div>
rewritten in any context that takes a URL to be "git://git.host.xz/repo.git".</p></div>
<div class="paragraph"><p>If you want to rewrite URLs for push only, you can create a
configuration section of the form:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><code> [url "&lt;actual-url-base&gt;"]
- pushInsteadOf = &lt;other-url-base&gt;</code></pre>
+<div class="verseblock">
+<pre class="content"> [url "<em>&lt;actual-url-base&gt;</em>"]
+ pushInsteadOf = <em>&lt;other-url-base&gt;</em></pre>
+<div class="attribution">
</div></div>
<div class="paragraph"><p>For example, with this:</p></div>
<div class="listingblock">
diff --git a/git-push.html b/git-push.html
index fef78f778..85d874d1f 100644
--- a/git-push.html
+++ b/git-push.html
@@ -1340,22 +1340,22 @@ should be used with caution on unsecured networks.</p></div>
<div class="ulist"><ul>
<li>
<p>
-ssh://&#91;user@&#93;host.xz&#91;:port&#93;/path/to/repo.git/
+<code>ssh://</code>&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-git://host.xz&#91;:port&#93;/path/to/repo.git/
+<code>git://</code><em>&lt;host&gt;</em>&#91;:<em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-http&#91;s&#93;://host.xz&#91;:port&#93;/path/to/repo.git/
+<code>http</code>&#91;<code>s</code>&#93;<code>://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-ftp&#91;s&#93;://host.xz&#91;:port&#93;/path/to/repo.git/
+<code>ftp</code>&#91;<code>s</code>&#93;<code>://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
</ul></div>
@@ -1363,7 +1363,7 @@ ftp&#91;s&#93;://host.xz&#91;:port&#93;/path/to/repo.git/
<div class="ulist"><ul>
<li>
<p>
-&#91;user@&#93;host.xz:path/to/repo.git/
+&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em><code>:/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
</ul></div>
@@ -1372,21 +1372,21 @@ first colon. This helps differentiate a local path that contains a
colon. For example the local path <code>foo:bar</code> could be specified as an
absolute path or <code>./foo:bar</code> to avoid being misinterpreted as an ssh
url.</p></div>
-<div class="paragraph"><p>The ssh and git protocols additionally support ~username expansion:</p></div>
+<div class="paragraph"><p>The ssh and git protocols additionally support <code>~</code><em>&lt;username&gt;</em> expansion:</p></div>
<div class="ulist"><ul>
<li>
<p>
-ssh://&#91;user@&#93;host.xz&#91;:port&#93;/~&#91;user&#93;/path/to/repo.git/
+<code>ssh://</code>&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-git://host.xz&#91;:port&#93;/~&#91;user&#93;/path/to/repo.git/
+<code>git://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
<li>
<p>
-&#91;user@&#93;host.xz:/~&#91;user&#93;/path/to/repo.git/
+&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em><code>:~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
</p>
</li>
</ul></div>
@@ -1395,12 +1395,12 @@ syntaxes may be used:</p></div>
<div class="ulist"><ul>
<li>
<p>
-/path/to/repo.git/
+<code>/path/to/repo.git/</code>
</p>
</li>
<li>
<p>
-file:///path/to/repo.git/
+<code>file:///path/to/repo.git/</code>
</p>
</li>
</ul></div>
@@ -1410,13 +1410,13 @@ details.</p></div>
<div class="paragraph"><p><code>git clone</code>, <code>git fetch</code> and <code>git pull</code>, but not <code>git push</code>, will also
accept a suitable bundle file. See <a href="git-bundle.html">git-bundle(1)</a>.</p></div>
<div class="paragraph"><p>When Git doesn&#8217;t know how to handle a certain transport protocol, it
-attempts to use the <code>remote-&lt;transport&gt;</code> remote helper, if one
+attempts to use the <code>remote-</code><em>&lt;transport&gt;</em> remote helper, if one
exists. To explicitly request a remote helper, the following syntax
may be used:</p></div>
<div class="ulist"><ul>
<li>
<p>
-<em>&lt;transport&gt;</em>::_&lt;address&gt;_
+<em>&lt;transport&gt;</em>::<em>&lt;address&gt;</em>
</p>
</li>
</ul></div>
@@ -1427,10 +1427,10 @@ invoked. See <a href="gitremote-helpers.html">gitremote-helpers(7)</a> for detai
you want to use a different format for them (such that the URLs you
use will be rewritten into URLs that work), you can create a
configuration section of the form:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><code> [url "&lt;actual-url-base&gt;"]
- insteadOf = &lt;other-url-base&gt;</code></pre>
+<div class="verseblock">
+<pre class="content"> [url "<em>&lt;actual-url-base&gt;</em>"]
+ insteadOf = <em>&lt;other-url-base&gt;</em></pre>
+<div class="attribution">
</div></div>
<div class="paragraph"><p>For example, with this:</p></div>
<div class="listingblock">
@@ -1443,10 +1443,10 @@ configuration section of the form:</p></div>
rewritten in any context that takes a URL to be "git://git.host.xz/repo.git".</p></div>
<div class="paragraph"><p>If you want to rewrite URLs for push only, you can create a
configuration section of the form:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><code> [url "&lt;actual-url-base&gt;"]
- pushInsteadOf = &lt;other-url-base&gt;</code></pre>
+<div class="verseblock">
+<pre class="content"> [url "<em>&lt;actual-url-base&gt;</em>"]
+ pushInsteadOf = <em>&lt;other-url-base&gt;</em></pre>
+<div class="attribution">
</div></div>
<div class="paragraph"><p>For example, with this:</p></div>
<div class="listingblock">
diff --git a/git-remote-helpers.html b/git-remote-helpers.html
index 3b57d1418..799f341b3 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/howto/coordinate-embargoed-releases.html b/howto/coordinate-embargoed-releases.html
index 2753a7dac..00dee46d2 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-04-05 11:04:44 PDT
+ 2024-04-09 14:45:39 PDT
</div>
</div>
</body>
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html
index 067a37f43..7e72e5619 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:44 PDT
+ 2024-04-09 14:45:39 PDT
</div>
</div>
</body>
diff --git a/howto/maintain-git.html b/howto/maintain-git.html
index a692a3da3..6625c2bf2 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:44 PDT
+ 2024-04-09 14:45:39 PDT
</div>
</div>
</body>
diff --git a/howto/new-command.html b/howto/new-command.html
index 12f8c0b96..0e1e1fcaf 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:40 PDT
+ 2024-04-09 14:45:37 PDT
</div>
</div>
</body>
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html
index a0dd2381c..f8cdeba51 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:44 PDT
+ 2024-04-09 14:45:39 PDT
</div>
</div>
</body>
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html
index de4d33d0f..6caac9444 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:43 PDT
+ 2024-04-09 14:45:39 PDT
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html
index b99817375..33d5e6e3a 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:43 PDT
+ 2024-04-09 14:45:39 PDT
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html
index 6dda781dc..98b8406f7 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:43 PDT
+ 2024-04-09 14:45:39 PDT
</div>
</div>
</body>
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html
index 4fd3a0074..303bf26b6 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:43 PDT
+ 2024-04-09 14:45:38 PDT
</div>
</div>
</body>
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html
index 1d1b67087..bce06e406 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:40 PDT
+ 2024-04-09 14:45:37 PDT
</div>
</div>
</body>
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html
index ad0cfcd36..57db206d2 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:43 PDT
+ 2024-04-09 14:45:38 PDT
</div>
</div>
</body>
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html
index c73599b25..66a48832e 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:42 PDT
+ 2024-04-09 14:45:38 PDT
</div>
</div>
</body>
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html
index c0f4b88b6..a00c78e7b 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:42 PDT
+ 2024-04-09 14:45:38 PDT
</div>
</div>
</body>
diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html
index 6189bdf76..5b0502c64 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:42 PDT
+ 2024-04-09 14:45:38 PDT
</div>
</div>
</body>
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html
index 7770ee2d1..09684bfa1 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:41 PDT
+ 2024-04-09 14:45:37 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 e28889633..cdc76c2a8 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-04-05</span>
+<span id="revdate">2024-04-09</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-04-05 11:04:41 PDT
+ 2024-04-09 14:45:37 PDT
</div>
</div>
</body>
diff --git a/technical/api-error-handling.html b/technical/api-error-handling.html
index f31e8ac45..aa6dac175 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-index.html b/technical/api-index.html
index c50ee981f..c294959a3 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-merge.html b/technical/api-merge.html
index 464308a97..ecc7d6a7a 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-parse-options.html b/technical/api-parse-options.html
index c5b1495ce..e2afd748f 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-simple-ipc.html b/technical/api-simple-ipc.html
index d3f2f917e..97e1990ce 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/api-trace2.html b/technical/api-trace2.html
index 99ec2a880..d76350cba 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/bitmap-format.html b/technical/bitmap-format.html
index 2f39acfe9..1b37da1cf 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/technical/bundle-uri.html b/technical/bundle-uri.html
index ab41f9083..f970b7ad4 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/hash-function-transition.html b/technical/hash-function-transition.html
index d3de2f025..e917450ac 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-04-05</span>
+<span id="revdate">2024-04-09</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 123df80da..1e53d32e9 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/multi-pack-index.html b/technical/multi-pack-index.html
index 989610ac9..3f6bf4c1c 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/pack-heuristics.html b/technical/pack-heuristics.html
index 206d9322c..c99bdc5f1 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/parallel-checkout.html b/technical/parallel-checkout.html
index 4f27aff4a..f2b4770f6 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/partial-clone.html b/technical/partial-clone.html
index 147b4adc7..d5872b526 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/racy-git.html b/technical/racy-git.html
index bffc22415..4c43b988e 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/technical/scalar.html b/technical/scalar.html
index f063171ae..99169de5b 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/send-pack-pipeline.html b/technical/send-pack-pipeline.html
index e8806c298..00952881c 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div class="sect1">
diff --git a/technical/shallow.html b/technical/shallow.html
index 917e0493a..ddc8952ac 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/trivial-merge.html b/technical/trivial-merge.html
index f6f972981..e63d9a5b8 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/technical/unit-tests.html b/technical/unit-tests.html
index b75a6cb4d..6b9914d30 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-04-05</span>
+<span id="revdate">2024-04-09</span>
</div>
<div id="content">
<div id="preamble">
diff --git a/urls.txt b/urls.txt
index 0b9e0c430..7cec85aef 100644
--- a/urls.txt
+++ b/urls.txt
@@ -15,14 +15,14 @@ should be used with caution on unsecured networks.
The following syntaxes may be used with them:
-- ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/path/to/repo.git/
-- git://host.xz{startsb}:port{endsb}/path/to/repo.git/
-- http{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git/
-- ftp{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git/
+- ++ssh://++{startsb}__<user>__++@++{endsb}__<host>__{startsb}++:++__<port>__{endsb}++/++__<path-to-git-repo>__
+- ++git://++__<host>__{startsb}:__<port>__{endsb}++/++__<path-to-git-repo>__
+- ++http++{startsb}++s++{endsb}++://++__<host>__{startsb}++:++__<port>__{endsb}++/++__<path-to-git-repo>__
+- ++ftp++{startsb}++s++{endsb}++://++__<host>__{startsb}++:++__<port>__{endsb}++/++__<path-to-git-repo>__
An alternative scp-like syntax may also be used with the ssh protocol:
-- {startsb}user@{endsb}host.xz:path/to/repo.git/
+- {startsb}__<user>__++@++{endsb}__<host>__++:/++__<path-to-git-repo>__
This syntax is only recognized if there are no slashes before the
first colon. This helps differentiate a local path that contains a
@@ -30,17 +30,17 @@ colon. For example the local path `foo:bar` could be specified as an
absolute path or `./foo:bar` to avoid being misinterpreted as an ssh
url.
-The ssh and git protocols additionally support ~username expansion:
+The ssh and git protocols additionally support ++~++__<username>__ expansion:
-- ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/path/to/repo.git/
-- git://host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/path/to/repo.git/
-- {startsb}user@{endsb}host.xz:/~{startsb}user{endsb}/path/to/repo.git/
+- ++ssh://++{startsb}__<user>__++@++{endsb}__<host>__{startsb}++:++__<port>__{endsb}++/~++__<user>__++/++__<path-to-git-repo>__
+- ++git://++__<host>__{startsb}++:++__<port>__{endsb}++/~++__<user>__++/++__<path-to-git-repo>__
+- {startsb}__<user>__++@++{endsb}__<host>__++:~++__<user>__++/++__<path-to-git-repo>__
For local repositories, also supported by Git natively, the following
syntaxes may be used:
-- /path/to/repo.git/
-- \file:///path/to/repo.git/
+- `/path/to/repo.git/`
+- ++file:///path/to/repo.git/++
ifndef::git-clone[]
These two syntaxes are mostly equivalent, except when cloning, when
@@ -57,11 +57,11 @@ endif::git-clone[]
accept a suitable bundle file. See linkgit:git-bundle[1].
When Git doesn't know how to handle a certain transport protocol, it
-attempts to use the `remote-<transport>` remote helper, if one
+attempts to use the `remote-`{empty}__<transport>__ remote helper, if one
exists. To explicitly request a remote helper, the following syntax
may be used:
-- _<transport>_::_<address>_
+- _<transport>_::__<address>__
where _<address>_ may be a path, a server and path, or an arbitrary
URL-like string recognized by the specific remote helper being
@@ -72,10 +72,11 @@ you want to use a different format for them (such that the URLs you
use will be rewritten into URLs that work), you can create a
configuration section of the form:
-------------
- [url "<actual-url-base>"]
- insteadOf = <other-url-base>
-------------
+[verse]
+--
+ [url "__<actual-url-base>__"]
+ insteadOf = _<other-url-base>_
+--
For example, with this:
@@ -91,10 +92,11 @@ rewritten in any context that takes a URL to be "git://git.host.xz/repo.git".
If you want to rewrite URLs for push only, you can create a
configuration section of the form:
-------------
- [url "<actual-url-base>"]
- pushInsteadOf = <other-url-base>
-------------
+[verse]
+--
+ [url "__<actual-url-base>__"]
+ pushInsteadOf = _<other-url-base>_
+--
For example, with this:
diff --git a/user-manual.html b/user-manual.html
index f68f2a4dc..819e3f37c 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-04-05</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-04-09</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