Documentation / git-pull.txton commit Merge branch 'maint' (240897e)
   1git-pull(1)
   2===========
   3
   4NAME
   5----
   6git-pull - Pull and merge from another repository or a local branch
   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        Update the remote-tracking branches for the repository
  41        you cloned from, then merge one of them into your
  42        current branch.  Normally the branch merged in is
  43        the HEAD of the remote repository, but the choice is
  44        determined by the branch.<name>.remote and
  45        branch.<name>.merge options; see gitlink:git-repo-config[1]
  46        for details.
  47
  48git pull origin next::
  49        Merge into the current branch the remote branch `next`;
  50        leaves a copy of `next` temporarily in FETCH_HEAD, but
  51        does not update any remote-tracking branches.
  52
  53git pull . fixes enhancements::
  54        Bundle local branch `fixes` and `enhancements` on top of
  55        the current branch, making an Octopus merge.
  56
  57git pull -s ours . obsolete::
  58        Merge local branch `obsolete` into the current branch,
  59        using `ours` merge strategy.
  60
  61git pull --no-commit . maint::
  62        Merge local branch `maint` into the current branch, but
  63        do not make a commit automatically.  This can be used
  64        when you want to include further changes to the merge,
  65        or want to write your own merge commit message.
  66+
  67You should refrain from abusing this option to sneak substantial
  68changes into a merge commit.  Small fixups like bumping
  69release/version name would be acceptable.
  70
  71Command line pull of multiple branches from one repository::
  72+
  73------------------------------------------------
  74$ git checkout master
  75$ git fetch origin +pu:pu maint:tmp
  76$ git pull . tmp
  77------------------------------------------------
  78+
  79This updates (or creates, as necessary) branches `pu` and `tmp`
  80in the local repository by fetching from the branches
  81(respectively) `pu` and `maint` from the remote repository.
  82+
  83The `pu` branch will be updated even if it is does not
  84fast-forward; the others will not be.
  85+
  86The final command then merges the newly fetched `tmp` into master.
  87
  88
  89If you tried a pull which resulted in a complex conflicts and
  90would want to start over, you can recover with
  91gitlink:git-reset[1].
  92
  93
  94SEE ALSO
  95--------
  96gitlink:git-fetch[1], gitlink:git-merge[1], gitlink:git-repo-config[1]
  97
  98
  99Author
 100------
 101Written by Linus Torvalds <torvalds@osdl.org>
 102and Junio C Hamano <junkio@cox.net>
 103
 104Documentation
 105--------------
 106Documentation by Jon Loeliger,
 107David Greaves,
 108Junio C Hamano and the git-list <git@vger.kernel.org>.
 109
 110GIT
 111---
 112Part of the gitlink:git[7] suite
 113