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::
60This is a short-hand for giving "refs/tags/*:refs/tags/*"
61refspec from the command line, to ask all tags to be fetched
62and stored locally. Because this acts as an explicit
63refspec, the default refspecs (configured with the
64remote.$name.fetch variable) are overridden and not used.
6566
--recurse-submodules[=yes|on-demand|no]::
67This option controls if and under what conditions new commits of
68populated submodules should be fetched too. It can be used as a
69boolean option to completely disable recursion when set to 'no' or to
70unconditionally recurse into all populated submodules when set to
71'yes', which is the default when this option is used without any
72value. Use 'on-demand' to only recurse into a populated submodule
73when the superproject retrieves a commit that updates the submodule's
74reference to a commit that isn't already in the local submodule
75clone.
7677
--no-recurse-submodules::
78Disable recursive fetching of submodules (this has the same effect as
79using the '--recurse-submodules=no' option).
8081
--submodule-prefix=<path>::
82Prepend <path> to paths printed in informative messages
83such as "Fetching submodule foo". This option is used
84internally when recursing over submodules.
8586
--recurse-submodules-default=[yes|on-demand]::
87This option is used internally to temporarily provide a
88non-negative default value for the --recurse-submodules
89option. All other methods of configuring fetch's submodule
90recursion (such as settings in linkgit:gitmodules[5] and
91linkgit:git-config[1]) override this option, as does
92specifying --[no-]recurse-submodules directly.
93endif::git-pull[]
9495
-u::
96--update-head-ok::
97By default 'git fetch' refuses to update the head which
98corresponds to the current branch. This flag disables the
99check. This is purely for the internal use for 'git pull'
100to communicate with 'git fetch', and unless you are
101implementing your own Porcelain you are not supposed to
102use it.
103104
--upload-pack <upload-pack>::
105When given, and the repository to fetch from is handled
106by 'git fetch-pack', '--exec=<upload-pack>' is passed to
107the command to specify non-default path for the command
108run on the other end.
109110
ifndef::git-pull[]
111-q::
112--quiet::
113Pass --quiet to git-fetch-pack and silence any other internally
114used git commands. Progress is not reported to the standard error
115stream.
116117
-v::
118--verbose::
119Be verbose.
120endif::git-pull[]
121122
--progress::
123Progress status is reported on the standard error stream
124by default when it is attached to a terminal, unless -q
125is specified. This flag forces progress status even if the
126standard error stream is not directed to a terminal.