Documentation / git-pull.txton commit contrib/git-svn: documentation updates (20b1d70)
   1git-pull(1)
   2===========
   3
   4NAME
   5----
   6git-pull - Pull and merge from another repository
   7
   8
   9SYNOPSIS
  10--------
  11'git-pull' <options> <repository> <refspec>...
  12
  13
  14DESCRIPTION
  15-----------
  16Runs `git-fetch` with the given parameters, and calls `git-merge`
  17to merge the retrieved head(s) into the current branch.
  18
  19Note that you can use `.` (current directory) as the
  20<repository> to pull from the local repository -- this is useful
  21when merging local branches into the current branch.
  22
  23
  24OPTIONS
  25-------
  26include::merge-options.txt[]
  27
  28include::fetch-options.txt[]
  29
  30include::pull-fetch-param.txt[]
  31
  32include::urls.txt[]
  33
  34include::merge-strategies.txt[]
  35
  36EXAMPLES
  37--------
  38
  39git pull, git pull origin::
  40        Fetch the default head from the repository you cloned
  41        from and merge it into your current branch.
  42
  43git pull -s ours . obsolete::
  44        Merge local branch `obsolete` into the current branch,
  45        using `ours` merge strategy.
  46
  47git pull . fixes enhancements::
  48        Bundle local branch `fixes` and `enhancements` on top of
  49        the current branch, making an Octopus merge.
  50
  51git pull --no-commit . maint::
  52        Merge local branch `maint` into the current branch, but
  53        do not make a commit automatically.  This can be used
  54        when you want to include further changes to the merge,
  55        or want to write your own merge commit message.
  56+
  57You should refrain from abusing this option to sneak substantial
  58changes into a merge commit.  Small fixups like bumping
  59release/version name would be acceptable.
  60
  61Command line pull of multiple branches from one repository::
  62+
  63------------------------------------------------
  64$ cat .git/remotes/origin
  65URL: git://git.kernel.org/pub/scm/git/git.git
  66Pull: master:origin
  67
  68$ git checkout master
  69$ git fetch origin master:origin +pu:pu maint:maint
  70$ git pull . origin
  71------------------------------------------------
  72+
  73Here, a typical `.git/remotes/origin` file from a
  74`git-clone` operation is used in combination with
  75command line options to `git-fetch` to first update
  76multiple branches of the local repository and then
  77to merge the remote `origin` branch into the local
  78`master` branch.  The local `pu` branch is updated
  79even if it does not result in a fast forward update.
  80Here, the pull can obtain its objects from the local
  81repository using `.`, as the previous `git-fetch` is
  82known to have already obtained and made available
  83all the necessary objects.
  84
  85
  86Pull of multiple branches from one repository using `.git/remotes` file::
  87+
  88------------------------------------------------
  89$ cat .git/remotes/origin
  90URL: git://git.kernel.org/pub/scm/git/git.git
  91Pull: master:origin
  92Pull: +pu:pu
  93Pull: maint:maint
  94
  95$ git checkout master
  96$ git pull origin
  97------------------------------------------------
  98+
  99Here, a typical `.git/remotes/origin` file from a
 100`git-clone` operation has been hand-modified to include
 101the branch-mapping of additional remote and local
 102heads directly.  A single `git-pull` operation while
 103in the `master` branch will fetch multiple heads and
 104merge the remote `origin` head into the current,
 105local `master` branch.
 106
 107
 108If you tried a pull which resulted in a complex conflicts and
 109would want to start over, you can recover with
 110gitlink:git-reset[1].
 111
 112
 113SEE ALSO
 114--------
 115gitlink:git-fetch[1], gitlink:git-merge[1]
 116
 117
 118Author
 119------
 120Written by Linus Torvalds <torvalds@osdl.org>
 121and Junio C Hamano <junkio@cox.net>
 122
 123Documentation
 124--------------
 125Documentation by Jon Loeliger,
 126David Greaves,
 127Junio C Hamano and the git-list <git@vger.kernel.org>.
 128
 129GIT
 130---
 131Part of the gitlink:git[7] suite
 132