mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
- Switch the synopsis to a synopsis block which will automatically format placeholders in italics and keywords in monospace - Use _<placeholder>_ instead of <placeholder> in the description - Use `backticks` for keywords and more complex option descriptions. The new rendering engine will apply synopsis rules to these spans. Signed-off-by: Jean-Noël Avila <jn.avila@free.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
338 lines
13 KiB
Plaintext
338 lines
13 KiB
Plaintext
`--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`::
|
|
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`::
|
|
Use an atomic transaction to update local refs. Either all refs are
|
|
updated, or on error, no refs are updated.
|
|
|
|
`--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
|
|
from the current shallow boundary instead of from the tip of
|
|
each remote branch history.
|
|
|
|
`--shallow-since=<date>`::
|
|
Deepen or shorten the history of a shallow repository to
|
|
include all reachable commits after _<date>_.
|
|
|
|
`--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`::
|
|
If the source repository is complete, convert a shallow
|
|
repository to a complete one, removing all the limitations
|
|
imposed by shallow repositories.
|
|
+
|
|
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`::
|
|
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
|
|
refs.
|
|
|
|
`--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,
|
|
Git will only report commits reachable from the given tips.
|
|
This is useful to speed up fetches when the user knows which
|
|
local ref is likely to have commits in common with the
|
|
upstream ref being fetched.
|
|
+
|
|
This option may be specified more than once; if so, Git will report
|
|
commits reachable from any of the given commits.
|
|
+
|
|
The argument to this option may be a glob on ref names, a ref, or the (possibly
|
|
abbreviated) SHA-1 of a commit. Specifying a glob is equivalent to specifying
|
|
this option multiple times, one for each matching ref name.
|
|
+
|
|
See also the `fetch.negotiationAlgorithm` and `push.negotiate`
|
|
configuration variables documented in linkgit:git-config[1], and the
|
|
`--negotiate-only` option below.
|
|
|
|
`--negotiate-only`::
|
|
Do not fetch anything from the server, and instead print the
|
|
ancestors of the provided `--negotiation-tip=` arguments,
|
|
which we have in common with the server.
|
|
+
|
|
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`::
|
|
Show what would be done, without making any changes.
|
|
|
|
`--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
|
|
precedence over the `fetch.output` config option.
|
|
|
|
ifndef::git-pull[]
|
|
`--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
|
|
Git not to write the file. Under `--dry-run` option, the
|
|
file is never written.
|
|
endif::git-pull[]
|
|
|
|
`-f`::
|
|
`--force`::
|
|
ifdef::git-pull[]
|
|
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[]
|
|
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.
|
|
|
|
`-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`::
|
|
Run `git maintenance run --auto` at the end to perform automatic
|
|
repository maintenance if needed.
|
|
This is enabled by default.
|
|
|
|
`--write-commit-graph`::
|
|
`--no-write-commit-graph`::
|
|
Write a commit-graph after fetching. This overrides the config
|
|
setting `fetch.writeCommitGraph`.
|
|
endif::git-pull[]
|
|
|
|
`--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`::
|
|
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
|
|
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
|
|
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`::
|
|
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
|
|
references (local tags) that have been created. This option is
|
|
a shorthand for providing the explicit tag refspec along with
|
|
`--prune`, see the discussion about that in its documentation.
|
|
+
|
|
See the PRUNING section below for more details.
|
|
|
|
endif::git-pull[]
|
|
|
|
ifndef::git-pull[]
|
|
`-n`::
|
|
endif::git-pull[]
|
|
`--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`
|
|
setting. See linkgit:git-config[1].
|
|
|
|
ifndef::git-pull[]
|
|
`--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
|
|
filter from configuration or using `--filter=` when the filter
|
|
definition has changed. Automatic post-fetch maintenance will perform
|
|
object database pack consolidation to remove any duplicate objects.
|
|
endif::git-pull[]
|
|
|
|
`--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.<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`::
|
|
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`
|
|
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)]`::
|
|
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
|
|
superproject commit but are missing in the local submodule clone. A
|
|
changed submodule can be fetched as long as it is present locally e.g.
|
|
in `$GIT_DIR/modules/` (see linkgit:gitsubmodules[7]); if the upstream
|
|
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
|
|
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`.
|
|
endif::git-pull[]
|
|
|
|
`-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
|
|
parallel. To control them independently, use the config settings
|
|
`fetch.parallel` and `submodule.fetchJobs` (see linkgit:git-config[1]).
|
|
+
|
|
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`::
|
|
Disable recursive fetching of submodules (this has the same effect as
|
|
using the `--recurse-submodules=no` option).
|
|
endif::git-pull[]
|
|
|
|
`--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,
|
|
see `branch.<name>.merge` and `branch.<name>.remote` in
|
|
linkgit:git-config[1].
|
|
|
|
ifndef::git-pull[]
|
|
`--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)`::
|
|
This option is used internally to temporarily provide a
|
|
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.
|
|
|
|
`-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
|
|
implementing your own Porcelain you are not supposed to
|
|
use it.
|
|
endif::git-pull[]
|
|
|
|
`--upload-pack <upload-pack>`::
|
|
When given, and the repository to fetch from is handled
|
|
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
|
|
used git commands. Progress is not reported to the standard error
|
|
stream.
|
|
|
|
`-v`::
|
|
`--verbose`::
|
|
Be verbose.
|
|
endif::git-pull[]
|
|
|
|
`--progress`::
|
|
Progress status is reported on the standard error stream
|
|
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>`::
|
|
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
|
|
sent to the other side in the order listed on the command line.
|
|
When no `--server-option=<option>` is given from the command line,
|
|
the values of configuration variable `remote.<name>.serverOption`
|
|
are used instead.
|
|
|
|
`--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.
|
|
See linkgit:git-config[1].
|
|
|
|
`--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`
|
|
to false to skip this check for performance reasons. If used during
|
|
`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`::
|
|
Use IPv4 addresses only, ignoring IPv6 addresses.
|
|
|
|
`-6`::
|
|
`--ipv6`::
|
|
Use IPv6 addresses only, ignoring IPv4 addresses.
|