git-fetch(1)
============

NAME
----
git-fetch - Download objects and refs from another repository


SYNOPSIS
--------
'git fetch' [<options>] [<repository> [<refspec>...]]

'git fetch' [<options>] <group>

'git fetch' --multiple [<options>] [<repository> | <group>]...

'git fetch' --all [<options>]


DESCRIPTION
-----------
Fetches named heads or tags from one or more other repositories,
along with the objects necessary to complete them.

The ref names and their object names of fetched refs are stored
in `.git/FETCH_HEAD`.  This information is left for a later merge
operation done by 'git merge'.

When <refspec> stores the fetched result in tracking branches,
the tags that point at these branches are automatically
followed.  This is done by first fetching from the remote using
the given <refspec>s, and if the repository has objects that are
pointed by remote tags that it does not yet have, then fetch
those missing tags.  If the other end has tags that point at
branches you are not interested in, you will not get them.

'git fetch' can fetch from either a single named repository, or
or from several repositories at once if <group> is given and
there is a remotes.<group> entry in the configuration file.
(See linkgit:git-config[1]).

OPTIONS
-------
include::fetch-options.txt[]

include::pull-fetch-param.txt[]

include::urls-remotes.txt[]


EXAMPLES
--------

* Update the remote-tracking branches:
+
------------------------------------------------
$ git fetch origin
------------------------------------------------
+
The above command copies all branches from the remote refs/heads/
namespace and stores them to the local refs/remotes/origin/ namespace,
unless the branch.<name>.fetch option is used to specify a non-default
refspec.

* Using refspecs explicitly:
+
------------------------------------------------
$ git fetch origin +pu:pu maint:tmp
------------------------------------------------
+
This updates (or creates, as necessary) branches `pu` and `tmp` in
the local repository by fetching from the branches (respectively)
`pu` and `maint` from the remote repository.
+
The `pu` branch will be updated even if it is does not fast-forward,
because it is prefixed with a plus sign; `tmp` will not be.


SEE ALSO
--------
linkgit:git-pull[1]


Author
------
Written by Linus Torvalds <torvalds@osdl.org> and
Junio C Hamano <gitster@pobox.com>

Documentation
-------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT
---
Part of the linkgit:git[1] suite
