1--all::
2Fetch all remotes.
34
-a::
5--append::
6Append ref names and object names of fetched refs to the
7existing contents of `.git/FETCH_HEAD`. Without this
8option old data in `.git/FETCH_HEAD` will be overwritten.
910
--depth=<depth>::
11Deepen the history of a 'shallow' repository created by
12`git clone` with `--depth=<depth>` option (see linkgit:git-clone[1])
13to the specified number of commits from the tip of each remote
14branch history. Tags for the deepened commits are not fetched.
1516
ifndef::git-pull[]
17--dry-run::
18Show what would be done, without making any changes.
19endif::git-pull[]
2021
-f::
22--force::
23When 'git fetch' is used with `<rbranch>:<lbranch>`
24refspec, it refuses to update the local branch
25`<lbranch>` unless the remote branch `<rbranch>` it
26fetches is a descendant of `<lbranch>`. This option
27overrides that check.
2829
-k::
30--keep::
31Keep downloaded pack.
3233
ifndef::git-pull[]
34--multiple::
35Allow several <repository> and <group> arguments to be
36specified. No <refspec>s may be specified.
3738
-p::
39--prune::
40After fetching, remove any remote-tracking branches which
41no longer exist on the remote.
42endif::git-pull[]
4344
ifdef::git-pull[]
45--no-tags::
46endif::git-pull[]
47ifndef::git-pull[]
48-n::
49--no-tags::
50endif::git-pull[]
51By default, tags that point at objects that are downloaded
52from the remote repository are fetched and stored locally.
53This option disables this automatic tag following. The default
54behavior for a remote may be specified with the remote.<name>.tagopt
55setting. See linkgit:git-config[1].
5657
ifndef::git-pull[]
58-t::
59--tags::
60Most of the tags are fetched automatically as branch
61heads are downloaded, but tags that do not point at
62objects reachable from the branch heads that are being
63tracked will not be fetched by this mechanism. This
64flag lets all tags and their associated objects be
65downloaded. The default behavior for a remote may be
66specified with the remote.<name>.tagopt setting. See
67linkgit:git-config[1].
6869
--recurse-submodules[=yes|on-demand|no]::
70This option controls if and under what conditions new commits of
71populated submodules should be fetched too. It can be used as a
72boolean option to completely disable recursion when set to 'no' or to
73unconditionally recurse into all populated submodules when set to
74'yes', which is the default when this option is used without any
75value. Use 'on-demand' to only recurse into a populated submodule
76when the superproject retrieves a commit that updates the submodule's
77reference to a commit that isn't already in the local submodule
78clone.
7980
--no-recurse-submodules::
81Disable recursive fetching of submodules (this has the same effect as
82using the '--recurse-submodules=no' option).
8384
--submodule-prefix=<path>::
85Prepend <path> to paths printed in informative messages
86such as "Fetching submodule foo". This option is used
87internally when recursing over submodules.
8889
--recurse-submodules-default=[yes|on-demand]::
90This option is used internally to temporarily provide a
91non-negative default value for the --recurse-submodules
92option. All other methods of configuring fetch's submodule
93recursion (such as settings in linkgit:gitmodules[5] and
94linkgit:git-config[1]) override this option, as does
95specifying --[no-]recurse-submodules directly.
96endif::git-pull[]
9798
-u::
99--update-head-ok::
100By default 'git fetch' refuses to update the head which
101corresponds to the current branch. This flag disables the
102check. This is purely for the internal use for 'git pull'
103to communicate with 'git fetch', and unless you are
104implementing your own Porcelain you are not supposed to
105use it.
106107
--upload-pack <upload-pack>::
108When given, and the repository to fetch from is handled
109by 'git fetch-pack', '--exec=<upload-pack>' is passed to
110the command to specify non-default path for the command
111run on the other end.
112113
ifndef::git-pull[]
114-q::
115--quiet::
116Pass --quiet to git-fetch-pack and silence any other internally
117used git commands. Progress is not reported to the standard error
118stream.
119120
-v::
121--verbose::
122Be verbose.
123endif::git-pull[]
124125
--progress::
126Progress status is reported on the standard error stream
127by default when it is attached to a terminal, unless -q
128is specified. This flag forces progress status even if the
129standard error stream is not directed to a terminal.