2005-09-08 02:26:23 +02:00
|
|
|
git-pull(1)
|
|
|
|
===========
|
2005-05-10 23:32:30 +02:00
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
2005-09-08 02:26:23 +02:00
|
|
|
git-pull - Pull and merge from another repository.
|
2005-05-10 23:32:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
2005-11-04 09:06:20 +01:00
|
|
|
'git-pull' <options> <repository> <refspec>...
|
2005-07-16 09:17:42 +02:00
|
|
|
|
2005-05-10 23:32:30 +02:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
2005-11-05 03:36:08 +01:00
|
|
|
Runs `git-fetch` with the given parameters, and calls `git-merge`
|
|
|
|
to merge the retrieved head(s) into the current branch.
|
2005-08-25 01:23:08 +02:00
|
|
|
|
2005-11-05 03:36:08 +01:00
|
|
|
Note that you can use `.` (current directory) as the
|
2005-11-01 23:03:13 +01:00
|
|
|
<repository> to pull from the local repository -- this is useful
|
|
|
|
when merging local branches into the current branch.
|
2005-07-16 09:17:42 +02:00
|
|
|
|
2005-11-07 06:30:56 +01:00
|
|
|
|
2005-07-16 09:17:42 +02:00
|
|
|
OPTIONS
|
|
|
|
-------
|
2005-11-07 06:30:56 +01:00
|
|
|
include::merge-options.txt[]
|
2005-05-10 23:32:30 +02:00
|
|
|
|
2005-11-07 06:30:56 +01:00
|
|
|
include::fetch-options.txt[]
|
2005-05-10 23:32:30 +02:00
|
|
|
|
2005-11-07 06:30:56 +01:00
|
|
|
include::pull-fetch-param.txt[]
|
2005-11-04 09:06:20 +01:00
|
|
|
|
2006-02-06 00:29:49 +01:00
|
|
|
include::urls.txt[]
|
2005-11-04 09:06:20 +01:00
|
|
|
|
2006-02-06 00:29:49 +01:00
|
|
|
include::merge-strategies.txt[]
|
2005-11-04 09:06:20 +01:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2005-11-05 03:36:08 +01:00
|
|
|
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
|
|
|
|
------------------------------------------------
|
|
|
|
+
|
2005-11-07 06:30:56 +01:00
|
|
|
Here, a typical `.git/remotes/origin` file from a
|
2005-11-05 03:36:08 +01:00
|
|
|
`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.
|
|
|
|
|
|
|
|
|
2005-11-07 06:30:56 +01:00
|
|
|
Pull of multiple branches from one repository using `.git/remotes` file::
|
2005-11-05 03:36:08 +01:00
|
|
|
+
|
|
|
|
------------------------------------------------
|
|
|
|
$ 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
|
|
|
|
------------------------------------------------
|
|
|
|
+
|
2005-11-07 06:30:56 +01:00
|
|
|
Here, a typical `.git/remotes/origin` file from a
|
2005-11-05 03:36:08 +01:00
|
|
|
`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.
|
|
|
|
|
2005-11-04 09:06:20 +01:00
|
|
|
|
2005-12-17 03:23:33 +01:00
|
|
|
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].
|
|
|
|
|
|
|
|
|
2005-11-05 10:37:00 +01:00
|
|
|
SEE ALSO
|
|
|
|
--------
|
|
|
|
gitlink:git-fetch[1], gitlink:git-merge[1]
|
|
|
|
|
|
|
|
|
2005-05-10 23:32:30 +02:00
|
|
|
Author
|
|
|
|
------
|
2005-08-15 02:24:36 +02:00
|
|
|
Written by Linus Torvalds <torvalds@osdl.org>
|
|
|
|
and Junio C Hamano <junkio@cox.net>
|
2005-05-10 23:32:30 +02:00
|
|
|
|
|
|
|
Documentation
|
|
|
|
--------------
|
2005-11-05 03:36:08 +01:00
|
|
|
Documentation by Jon Loeliger,
|
|
|
|
David Greaves,
|
|
|
|
Junio C Hamano and the git-list <git@vger.kernel.org>.
|
2005-05-10 23:32:30 +02:00
|
|
|
|
|
|
|
GIT
|
|
|
|
---
|
2005-09-19 12:10:51 +02:00
|
|
|
Part of the gitlink:git[7] suite
|
2005-05-10 23:32:30 +02:00
|
|
|
|