--all::
	Fetch all remotes.

-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.

--depth=<depth>::
	Deepen the history of a 'shallow' repository created by
	`git clone` with `--depth=<depth>` option (see linkgit:git-clone[1])
	by the specified number of commits.

ifndef::git-pull[]
--dry-run::
	Show what would be done, without making any changes.
endif::git-pull[]

-f::
--force::
	When 'git fetch' is used with `<rbranch>:<lbranch>`
	refspec, it refuses to update the local branch
	`<lbranch>` unless the remote branch `<rbranch>` it
	fetches is a descendant of `<lbranch>`.  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.

-p::
--prune::
	After fetching, remove any remote tracking branches which
	no longer exist	on the remote.
endif::git-pull[]

ifdef::git-pull[]
--no-tags::
endif::git-pull[]
ifndef::git-pull[]
-n::
--no-tags::
endif::git-pull[]
	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].

-t::
--tags::
	Most of the tags are fetched automatically as branch
	heads are downloaded, but tags that do not point at
	objects reachable from the branch heads that are being
	tracked will not be fetched by this mechanism.  This
	flag lets all tags and their associated objects be
	downloaded. The default behavior for a remote may be
	specified with the remote.<name>.tagopt setting. See
	linkgit:git-config[1].

-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.

--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.
