Home Explore Blog CI



git

4th chunk of `Documentation/fetch-options.adoc`
df2b5a6f07642bd18671a37752efc1114be318ba158aad950000000100000861
 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::
--jobs=<n>::
	Number of parallel children to be used for all forms of fetching.
+
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

Title: Advanced Git Fetch Options for Submodules and Parallelism
Summary
The git fetch command has additional options to control submodule fetching, parallelism, and upstream tracking, including settings to disable recursive submodule fetching, specify the number of parallel jobs, and update the head of the current branch, as well as options for internal use and debugging.