aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/fetch-options.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/fetch-options.adoc')
-rw-r--r--Documentation/fetch-options.adoc211
1 files changed, 106 insertions, 105 deletions
diff --git a/Documentation/fetch-options.adoc b/Documentation/fetch-options.adoc
index ad1e1f49be..fcba46ee9e 100644
--- a/Documentation/fetch-options.adoc
+++ b/Documentation/fetch-options.adoc
@@ -1,41 +1,41 @@
---all::
---no-all::
+`--all`::
+`--no-all`::
Fetch all remotes, except for the ones that has the
`remote.<name>.skipFetchAll` configuration variable set.
This overrides the configuration variable `fetch.all`.
--a::
---append::
+`-a`::
+`--append`::
Append ref names and object names of fetched refs to the
existing contents of `.git/FETCH_HEAD`. Without this
option old data in `.git/FETCH_HEAD` will be overwritten.
---atomic::
+`--atomic`::
Use an atomic transaction to update local refs. Either all refs are
updated, or on error, no refs are updated.
---depth=<depth>::
+`--depth=<depth>`::
Limit fetching to the specified number of commits from the tip of
each remote branch history. If fetching to a 'shallow' repository
created by `git clone` with `--depth=<depth>` option (see
linkgit:git-clone[1]), deepen or shorten the history to the specified
number of commits. Tags for the deepened commits are not fetched.
---deepen=<depth>::
- Similar to --depth, except it specifies the number of commits
+`--deepen=<depth>`::
+ Similar to `--depth`, except it specifies the number of commits
from the current shallow boundary instead of from the tip of
each remote branch history.
---shallow-since=<date>::
+`--shallow-since=<date>`::
Deepen or shorten the history of a shallow repository to
- include all reachable commits after <date>.
+ include all reachable commits after _<date>_.
---shallow-exclude=<ref>::
+`--shallow-exclude=<ref>`::
Deepen or shorten the history of a shallow repository to
exclude commits reachable from a specified remote branch or tag.
This option can be specified multiple times.
---unshallow::
+`--unshallow`::
If the source repository is complete, convert a shallow
repository to a complete one, removing all the limitations
imposed by shallow repositories.
@@ -43,13 +43,13 @@
If the source repository is shallow, fetch as much as possible so that
the current repository has the same history as the source repository.
---update-shallow::
+`--update-shallow`::
By default when fetching from a shallow repository,
`git fetch` refuses refs that require updating
- .git/shallow. This option updates .git/shallow and accepts such
+ `.git/shallow`. This option updates `.git/shallow` and accepts such
refs.
---negotiation-tip=<commit|glob>::
+`--negotiation-tip=(<commit>|<glob>)`::
By default, Git will report, to the server, commits reachable
from all local refs to find common commits in an attempt to
reduce the size of the to-be-received packfile. If specified,
@@ -69,28 +69,28 @@ See also the `fetch.negotiationAlgorithm` and `push.negotiate`
configuration variables documented in linkgit:git-config[1], and the
`--negotiate-only` option below.
---negotiate-only::
+`--negotiate-only`::
Do not fetch anything from the server, and instead print the
- ancestors of the provided `--negotiation-tip=*` arguments,
+ ancestors of the provided `--negotiation-tip=` arguments,
which we have in common with the server.
+
-This is incompatible with `--recurse-submodules=[yes|on-demand]`.
+This is incompatible with `--recurse-submodules=(yes|on-demand)`.
Internally this is used to implement the `push.negotiate` option, see
linkgit:git-config[1].
---dry-run::
+`--dry-run`::
Show what would be done, without making any changes.
---porcelain::
+`--porcelain`::
Print the output to standard output in an easy-to-parse format for
scripts. See section OUTPUT in linkgit:git-fetch[1] for details.
+
-This is incompatible with `--recurse-submodules=[yes|on-demand]` and takes
+This is incompatible with `--recurse-submodules=(yes|on-demand)` and takes
precedence over the `fetch.output` config option.
ifndef::git-pull[]
---write-fetch-head::
---no-write-fetch-head::
+`--write-fetch-head`::
+`--no-write-fetch-head`::
Write the list of remote refs fetched in the `FETCH_HEAD`
file directly under `$GIT_DIR`. This is the default.
Passing `--no-write-fetch-head` from the command line tells
@@ -98,64 +98,65 @@ ifndef::git-pull[]
file is never written.
endif::git-pull[]
--f::
---force::
- When 'git fetch' is used with `<src>:<dst>` refspec, it may
- refuse to update the local branch as discussed
+`-f`::
+`--force`::
ifdef::git-pull[]
- in the `<refspec>` part of the linkgit:git-fetch[1]
- documentation.
+When `git fetch` is used with `<src>:<dst>` refspec, it may
+refuse to update the local branch as discussed
+in the _<refspec>_ part of the linkgit:git-fetch[1]
+documentation.
endif::git-pull[]
ifndef::git-pull[]
- in the `<refspec>` part below.
+When `git fetch` is used with `<src>:<dst>` refspec, it may
+refuse to update the local branch as discussed in the _<refspec>_ part below.
endif::git-pull[]
- This option overrides that check.
+This option overrides that check.
--k::
---keep::
+`-k`::
+`--keep`::
Keep downloaded pack.
ifndef::git-pull[]
---multiple::
- Allow several <repository> and <group> arguments to be
- specified. No <refspec>s may be specified.
-
---auto-maintenance::
---no-auto-maintenance::
---auto-gc::
---no-auto-gc::
+`--multiple`::
+ Allow several _<repository>_ and _<group>_ arguments to be
+ specified. No __<refspec>__s may be specified.
+
+`--auto-maintenance`::
+`--no-auto-maintenance`::
+`--auto-gc`::
+`--no-auto-gc`::
Run `git maintenance run --auto` at the end to perform automatic
- repository maintenance if needed. (`--[no-]auto-gc` is a synonym.)
+ repository maintenance if needed.
This is enabled by default.
---write-commit-graph::
---no-write-commit-graph::
+`--write-commit-graph`::
+`--no-write-commit-graph`::
Write a commit-graph after fetching. This overrides the config
setting `fetch.writeCommitGraph`.
endif::git-pull[]
---prefetch::
+`--prefetch`::
Modify the configured refspec to place all refs into the
`refs/prefetch/` namespace. See the `prefetch` task in
linkgit:git-maintenance[1].
--p::
---prune::
+`-p`::
+`--prune`::
Before fetching, remove any remote-tracking references that no
longer exist on the remote. Tags are not subject to pruning
if they are fetched only because of the default tag
- auto-following or due to a --tags option. However, if tags
+ auto-following or due to a `--tags` option. However, if tags
are fetched due to an explicit refspec (either on the command
line or in the remote configuration, for example if the remote
- was cloned with the --mirror option), then they are also
+ was cloned with the `--mirror` option), then they are also
subject to pruning. Supplying `--prune-tags` is a shorthand for
providing the tag refspec.
ifndef::git-pull[]
+
See the PRUNING section below for more details.
--P::
---prune-tags::
+`-P`::
+`--prune-tags`::
Before fetching, remove any local tags that no longer exist on
the remote if `--prune` is enabled. This option should be used
more carefully, unlike `--prune` it will remove any local
@@ -168,17 +169,17 @@ See the PRUNING section below for more details.
endif::git-pull[]
ifndef::git-pull[]
--n::
+`-n`::
endif::git-pull[]
---no-tags::
+`--no-tags`::
By default, tags that point at objects that are downloaded
from the remote repository are fetched and stored locally.
This option disables this automatic tag following. The default
- behavior for a remote may be specified with the remote.<name>.tagOpt
+ behavior for a remote may be specified with the `remote.<name>.tagOpt`
setting. See linkgit:git-config[1].
ifndef::git-pull[]
---refetch::
+`--refetch`::
Instead of negotiating with the server to avoid transferring commits and
associated objects that are already present locally, this option fetches
all objects as a fresh clone would. Use this to reapply a partial clone
@@ -187,29 +188,29 @@ ifndef::git-pull[]
object database pack consolidation to remove any duplicate objects.
endif::git-pull[]
---refmap=<refspec>::
+`--refmap=<refspec>`::
When fetching refs listed on the command line, use the
specified refspec (can be given more than once) to map the
refs to remote-tracking branches, instead of the values of
- `remote.*.fetch` configuration variables for the remote
- repository. Providing an empty `<refspec>` to the
+ `remote.<name>.fetch` configuration variables for the remote
+ repository. Providing an empty _<refspec>_ to the
`--refmap` option causes Git to ignore the configured
refspecs and rely entirely on the refspecs supplied as
command-line arguments. See section on "Configured Remote-tracking
Branches" for details.
--t::
---tags::
+`-t`::
+`--tags`::
Fetch all tags from the remote (i.e., fetch remote tags
`refs/tags/*` into local tags with the same name), in addition
to whatever else would otherwise be fetched. Using this
- option alone does not subject tags to pruning, even if --prune
+ option alone does not subject tags to pruning, even if `--prune`
is used (though tags may be pruned anyway if they are also the
destination of an explicit refspec; see `--prune`).
ifndef::git-pull[]
---recurse-submodules[=(yes|on-demand|no)]::
- This option controls if and under what conditions new commits of
+`--recurse-submodules[=(yes|on-demand|no)]`::
+ Control if and under what conditions new commits of
submodules should be fetched too. When recursing through submodules,
`git fetch` always attempts to fetch "changed" submodules, that is, a
submodule that has commits that are referenced by a newly fetched
@@ -219,19 +220,19 @@ ifndef::git-pull[]
adds a new submodule, that submodule cannot be fetched until it is
cloned e.g. by `git submodule update`.
+
-When set to 'on-demand', only changed submodules are fetched. When set
-to 'yes', all populated submodules are fetched and submodules that are
-both unpopulated and changed are fetched. When set to 'no', submodules
+When set to `on-demand`, only changed submodules are fetched. When set
+to `yes`, all populated submodules are fetched and submodules that are
+both unpopulated and changed are fetched. When set to `no`, submodules
are never fetched.
+
When unspecified, this uses the value of `fetch.recurseSubmodules` if it
-is set (see linkgit:git-config[1]), defaulting to 'on-demand' if unset.
-When this option is used without any value, it defaults to 'yes'.
+is set (see linkgit:git-config[1]), defaulting to `on-demand` if unset.
+When this option is used without any value, it defaults to `yes`.
endif::git-pull[]
--j::
---jobs=<n>::
- Number of parallel children to be used for all forms of fetching.
+`-j <n>`::
+`--jobs=<n>`::
+ Parallelize all forms of fetching up to _<n>_ jobs at a time.
+
If the `--multiple` option was specified, the different remotes will be fetched
in parallel. If multiple submodules are fetched, they will be fetched in
@@ -242,12 +243,12 @@ Typically, parallel recursive and multi-remote fetches will be faster. By
default fetches are performed sequentially, not in parallel.
ifndef::git-pull[]
---no-recurse-submodules::
+`--no-recurse-submodules`::
Disable recursive fetching of submodules (this has the same effect as
using the `--recurse-submodules=no` option).
endif::git-pull[]
---set-upstream::
+`--set-upstream`::
If the remote is fetched successfully, add upstream
(tracking) reference, used by argument-less
linkgit:git-pull[1] and other commands. For more information,
@@ -255,57 +256,57 @@ endif::git-pull[]
linkgit:git-config[1].
ifndef::git-pull[]
---submodule-prefix=<path>::
- Prepend <path> to paths printed in informative messages
+`--submodule-prefix=<path>`::
+ Prepend _<path>_ to paths printed in informative messages
such as "Fetching submodule foo". This option is used
internally when recursing over submodules.
---recurse-submodules-default=[yes|on-demand]::
+`--recurse-submodules-default=(yes|on-demand)`::
This option is used internally to temporarily provide a
- non-negative default value for the --recurse-submodules
+ non-negative default value for the `--recurse-submodules`
option. All other methods of configuring fetch's submodule
recursion (such as settings in linkgit:gitmodules[5] and
linkgit:git-config[1]) override this option, as does
- specifying --[no-]recurse-submodules directly.
+ specifying `--[no-]recurse-submodules` directly.
--u::
---update-head-ok::
- By default 'git fetch' refuses to update the head which
+`-u`::
+`--update-head-ok`::
+ By default `git fetch` refuses to update the head which
corresponds to the current branch. This flag disables the
- check. This is purely for the internal use for 'git pull'
- to communicate with 'git fetch', and unless you are
+ check. This is purely for the internal use for `git pull`
+ to communicate with `git fetch`, and unless you are
implementing your own Porcelain you are not supposed to
use it.
endif::git-pull[]
---upload-pack <upload-pack>::
+`--upload-pack <upload-pack>`::
When given, and the repository to fetch from is handled
- by 'git fetch-pack', `--exec=<upload-pack>` is passed to
+ by `git fetch-pack`, `--exec=<upload-pack>` is passed to
the command to specify non-default path for the command
run on the other end.
ifndef::git-pull[]
--q::
---quiet::
- Pass --quiet to git-fetch-pack and silence any other internally
+`-q`::
+`--quiet`::
+ Pass `--quiet` to `git-fetch-pack` and silence any other internally
used git commands. Progress is not reported to the standard error
stream.
--v::
---verbose::
+`-v`::
+`--verbose`::
Be verbose.
endif::git-pull[]
---progress::
+`--progress`::
Progress status is reported on the standard error stream
- by default when it is attached to a terminal, unless -q
+ by default when it is attached to a terminal, unless `-q`
is specified. This flag forces progress status even if the
standard error stream is not directed to a terminal.
--o <option>::
---server-option=<option>::
+`-o <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
+ 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
@@ -314,23 +315,23 @@ endif::git-pull[]
the values of configuration variable `remote.<name>.serverOption`
are used instead.
---show-forced-updates::
+`--show-forced-updates`::
By default, git checks if a branch is force-updated during
- fetch. This can be disabled through fetch.showForcedUpdates, but
- the --show-forced-updates option guarantees this check occurs.
+ fetch. This can be disabled through `fetch.showForcedUpdates`, but
+ the `--show-forced-updates` option guarantees this check occurs.
See linkgit:git-config[1].
---no-show-forced-updates::
+`--no-show-forced-updates`::
By default, git checks if a branch is force-updated during
- fetch. Pass --no-show-forced-updates or set fetch.showForcedUpdates
+ fetch. Pass `--no-show-forced-updates` or set `fetch.showForcedUpdates`
to false to skip this check for performance reasons. If used during
- 'git-pull' the --ff-only option will still check for forced updates
+ `git-pull` the `--ff-only` option will still check for forced updates
before attempting a fast-forward update. See linkgit:git-config[1].
--4::
---ipv4::
+`-4`::
+`--ipv4`::
Use IPv4 addresses only, ignoring IPv6 addresses.
--6::
---ipv6::
+`-6`::
+`--ipv6`::
Use IPv6 addresses only, ignoring IPv4 addresses.