]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/fetch-options.txt
fetch, remote: properly convey --no-prune options to subprocesses
[thirdparty/git.git] / Documentation / fetch-options.txt
CommitLineData
9c4a036b
BG
1--all::
2 Fetch all remotes.
3
3240240f
SB
4-a::
5--append::
93d69d86
JL
6 Append ref names and object names of fetched refs to the
7 existing contents of `.git/FETCH_HEAD`. Without this
8 option old data in `.git/FETCH_HEAD` will be overwritten.
9
6b276e19 10--depth=<depth>::
cfb70e1f 11 Deepen or shorten the history of a 'shallow' repository created by
6b276e19 12 `git clone` with `--depth=<depth>` option (see linkgit:git-clone[1])
bc40deab
PO
13 to the specified number of commits from the tip of each remote
14 branch history. Tags for the deepened commits are not fetched.
2c620a1a 15
4dcb167f
NTND
16--unshallow::
17 Convert a shallow repository to a complete one, removing all
18 the limitations imposed by shallow repositories.
19
28a15401
JS
20ifndef::git-pull[]
21--dry-run::
22 Show what would be done, without making any changes.
23endif::git-pull[]
24
3240240f
SB
25-f::
26--force::
0b444cdb 27 When 'git fetch' is used with `<rbranch>:<lbranch>`
a3e3dc46
JH
28 refspec, it refuses to update the local branch
29 `<lbranch>` unless the remote branch `<rbranch>` it
30 fetches is a descendant of `<lbranch>`. This option
31 overrides that check.
93d69d86 32
6b276e19
JA
33-k::
34--keep::
35 Keep downloaded pack.
36
16679e37
BG
37ifndef::git-pull[]
38--multiple::
39 Allow several <repository> and <group> arguments to be
40 specified. No <refspec>s may be specified.
f360d844 41
1b79d1c2 42-p::
f360d844 43--prune::
0838bf47
MH
44 After fetching, remove any remote-tracking references that no
45 longer exist on the remote. Tags are not subject to pruning
46 if they are fetched only because of the default tag
47 auto-following or due to a --tags option. However, if tags
48 are fetched due to an explicit refspec (either on the command
49 line or in the remote configuration, for example if the remote
50 was cloned with the --mirror option), then they are also
51 subject to pruning.
16679e37
BG
52endif::git-pull[]
53
10eb64f5 54ifdef::git-pull[]
3240240f 55--no-tags::
10eb64f5
MV
56endif::git-pull[]
57ifndef::git-pull[]
3240240f
SB
58-n::
59--no-tags::
10eb64f5
MV
60endif::git-pull[]
61 By default, tags that point at objects that are downloaded
62 from the remote repository are fetched and stored locally.
ed368546
DJ
63 This option disables this automatic tag following. The default
64 behavior for a remote may be specified with the remote.<name>.tagopt
65 setting. See linkgit:git-config[1].
03febf99 66
2e5955f3 67ifndef::git-pull[]
3240240f
SB
68-t::
69--tags::
0838bf47
MH
70 Fetch all tags from the remote (i.e., fetch remote tags
71 `refs/tags/*` into local tags with the same name), in addition
72 to whatever else would otherwise be fetched. Using this
73 option alone does not subject tags to pruning, even if --prune
74 is used (though tags may be pruned anyway if they are also the
75 destination of an explicit refspec; see '--prune').
93d69d86 76
8f0700dd
JL
77--recurse-submodules[=yes|on-demand|no]::
78 This option controls if and under what conditions new commits of
79 populated submodules should be fetched too. It can be used as a
80 boolean option to completely disable recursion when set to 'no' or to
81 unconditionally recurse into all populated submodules when set to
82 'yes', which is the default when this option is used without any
83 value. Use 'on-demand' to only recurse into a populated submodule
84 when the superproject retrieves a commit that updates the submodule's
c16c3e40
JL
85 reference to a commit that isn't already in the local submodule
86 clone.
8f0700dd
JL
87
88--no-recurse-submodules::
89 Disable recursive fetching of submodules (this has the same effect as
90 using the '--recurse-submodules=no' option).
7dce19d3 91
7dce19d3
JL
92--submodule-prefix=<path>::
93 Prepend <path> to paths printed in informative messages
94 such as "Fetching submodule foo". This option is used
95 internally when recursing over submodules.
88a21979
JL
96
97--recurse-submodules-default=[yes|on-demand]::
98 This option is used internally to temporarily provide a
99 non-negative default value for the --recurse-submodules
100 option. All other methods of configuring fetch's submodule
101 recursion (such as settings in linkgit:gitmodules[5] and
102 linkgit:git-config[1]) override this option, as does
103 specifying --[no-]recurse-submodules directly.
7dce19d3 104endif::git-pull[]
93d69d86 105
3240240f
SB
106-u::
107--update-head-ok::
0b444cdb 108 By default 'git fetch' refuses to update the head which
93d69d86 109 corresponds to the current branch. This flag disables the
0b444cdb
TR
110 check. This is purely for the internal use for 'git pull'
111 to communicate with 'git fetch', and unless you are
a597fb0e
JH
112 implementing your own Porcelain you are not supposed to
113 use it.
03febf99 114
6b276e19
JA
115--upload-pack <upload-pack>::
116 When given, and the repository to fetch from is handled
0b444cdb 117 by 'git fetch-pack', '--exec=<upload-pack>' is passed to
6b276e19
JA
118 the command to specify non-default path for the command
119 run on the other end.
120
121ifndef::git-pull[]
122-q::
123--quiet::
124 Pass --quiet to git-fetch-pack and silence any other internally
9839018e
TRC
125 used git commands. Progress is not reported to the standard error
126 stream.
6b276e19
JA
127
128-v::
129--verbose::
130 Be verbose.
131endif::git-pull[]
9839018e
TRC
132
133--progress::
134 Progress status is reported on the standard error stream
135 by default when it is attached to a terminal, unless -q
136 is specified. This flag forces progress status even if the
137 standard error stream is not directed to a terminal.