|
|
|
git-pull(1)
|
|
|
|
===========
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
|
|
|
git-pull - Pull and merge from another repository.
|
|
|
|
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
|
|
|
'git-pull' <options> <repository> <refspec>...
|
|
|
|
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
|
|
|
Runs `git-fetch` with the given parameters, and calls `git-merge`
|
|
|
|
to merge the retrieved head(s) into the current branch.
|
|
|
|
|
|
|
|
Note that you can use `.` (current directory) as the
|
|
|
|
<repository> to pull from the local repository -- this is useful
|
|
|
|
when merging local branches into the current branch.
|
|
|
|
|
|
|
|
|
|
|
|
OPTIONS
|
|
|
|
-------
|
|
|
|
include::merge-options.txt[]
|
|
|
|
|
|
|
|
include::fetch-options.txt[]
|
|
|
|
|
|
|
|
include::pull-fetch-param.txt[]
|
|
|
|
|
|
|
|
include::merge-strategies.txt[]
|
|
|
|
|
|
|
|
|
|
|
|
EXAMPLES
|
|
|
|
--------
|
|
|
|
|
|
|
|
git pull, git pull origin::
|
|
|
|
Fetch the default head from the repository you cloned
|
|
|
|
from and merge it into your current branch.
|
|
|
|
|
|
|
|
git pull -s ours . obsolete::
|
|
|
|
Merge local branch `obsolete` into the current branch,
|
|
|
|
using `ours` merge strategy.
|
|
|
|
|
|
|
|
git pull . fixes enhancements::
|
|
|
|
Bundle local branch `fixes` and `enhancements` on top of
|
|
|
|
the current branch, making an Octopus merge.
|
|
|
|
|
|
|
|
git pull --no-commit . maint::
|
|
|
|
Merge local branch `maint` into the current branch, but
|
|
|
|
do not make a commit automatically. This can be used
|
|
|
|
when you want to include further changes to the merge,
|
|
|
|
or want to write your own merge commit message.
|
|
|
|
+
|
|
|
|
You should refrain from abusing this option to sneak substantial
|
|
|
|
changes into a merge commit. Small fixups like bumping
|
|
|
|
release/version name would be acceptable.
|
|
|
|
|
|
|
|
Command line pull of multiple branches from one repository::
|
|
|
|
+
|
|
|
|
------------------------------------------------
|
|
|
|
$ cat .git/remotes/origin
|
|
|
|
URL: git://git.kernel.org/pub/scm/git/git.git
|
|
|
|
Pull: master:origin
|
|
|
|
|
|
|
|
$ git checkout master
|
|
|
|
$ git fetch origin master:origin +pu:pu maint:maint
|
|
|
|
$ git pull . origin
|
|
|
|
------------------------------------------------
|
|
|
|
+
|
|
|
|
Here, a typical `.git/remotes/origin` file from a
|
|
|
|
`git-clone` operation is used in combination with
|
|
|
|
command line options to `git-fetch` to first update
|
|
|
|
multiple branches of the local repository and then
|
|
|
|
to merge the remote `origin` branch into the local
|
|
|
|
`master` branch. The local `pu` branch is updated
|
|
|
|
even if it does not result in a fast forward update.
|
|
|
|
Here, the pull can obtain its objects from the local
|
|
|
|
repository using `.`, as the previous `git-fetch` is
|
|
|
|
known to have already obtained and made available
|
|
|
|
all the necessary objects.
|
|
|
|
|
|
|
|
|
|
|
|
Pull of multiple branches from one repository using `.git/remotes` file::
|
|
|
|
+
|
|
|
|
------------------------------------------------
|
|
|
|
$ cat .git/remotes/origin
|
|
|
|
URL: git://git.kernel.org/pub/scm/git/git.git
|
|
|
|
Pull: master:origin
|
|
|
|
Pull: +pu:pu
|
|
|
|
Pull: maint:maint
|
|
|
|
|
|
|
|
$ git checkout master
|
|
|
|
$ git pull origin
|
|
|
|
------------------------------------------------
|
|
|
|
+
|
|
|
|
Here, a typical `.git/remotes/origin` file from a
|
|
|
|
`git-clone` operation has been hand-modified to include
|
|
|
|
the branch-mapping of additional remote and local
|
|
|
|
heads directly. A single `git-pull` operation while
|
|
|
|
in the `master` branch will fetch multiple heads and
|
|
|
|
merge the remote `origin` head into the current,
|
|
|
|
local `master` branch.
|
|
|
|
|
|
|
|
|
|
|
|
If you tried a pull which resulted in a complex conflicts and
|
|
|
|
would want to start over, you can recover with
|
|
|
|
gitlink:git-reset[1].
|
|
|
|
|
|
|
|
|
|
|
|
SEE ALSO
|
|
|
|
--------
|
|
|
|
gitlink:git-fetch[1], gitlink:git-merge[1]
|
|
|
|
|
|
|
|
|
|
|
|
Author
|
|
|
|
------
|
|
|
|
Written by Linus Torvalds <torvalds@osdl.org>
|
|
|
|
and Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
|
Documentation
|
|
|
|
--------------
|
|
|
|
Documentation by Jon Loeliger,
|
|
|
|
David Greaves,
|
|
|
|
Junio C Hamano and the git-list <git@vger.kernel.org>.
|
|
|
|
|
|
|
|
GIT
|
|
|
|
---
|
|
|
|
Part of the gitlink:git[7] suite
|
|
|
|
|