2005-09-08 00:26:23 +00:00
|
|
|
git-pull(1)
|
|
|
|
===========
|
2005-05-10 21:32:30 +00:00
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
2005-09-08 00:26:23 +00:00
|
|
|
git-pull - Pull and merge from another repository.
|
2005-05-10 21:32:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
2005-11-04 08:06:20 +00:00
|
|
|
'git-pull' <options> <repository> <refspec>...
|
2005-07-16 07:17:42 +00:00
|
|
|
|
2005-05-10 21:32:30 +00:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
2005-09-08 00:26:23 +00:00
|
|
|
Runs 'git-fetch' with the given parameters.
|
2005-08-24 23:23:08 +00:00
|
|
|
|
|
|
|
When only one ref is downloaded, runs 'git resolve' to merge it
|
|
|
|
into the local HEAD. Otherwise uses 'git octopus' to merge them
|
|
|
|
into the local HEAD.
|
2005-07-16 07:17:42 +00:00
|
|
|
|
2005-11-01 22:03:13 +00:00
|
|
|
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.
|
2005-07-16 07:17:42 +00:00
|
|
|
|
|
|
|
OPTIONS
|
|
|
|
-------
|
|
|
|
include::pull-fetch-param.txt[]
|
2005-05-10 21:32:30 +00:00
|
|
|
|
2005-10-20 04:25:39 +00:00
|
|
|
-a, \--append::
|
|
|
|
Append ref names and object names of fetched refs to the
|
|
|
|
existing contents of $GIT_DIR/FETCH_HEAD. Without this
|
|
|
|
option old data in $GIT_DIR/FETCH_HEAD will be overwritten.
|
2005-05-10 21:32:30 +00:00
|
|
|
|
2005-11-04 08:06:20 +00:00
|
|
|
include::merge-pull-opts.txt[]
|
|
|
|
|
|
|
|
|
|
|
|
MERGE STRATEGIES
|
|
|
|
----------------
|
|
|
|
|
|
|
|
resolve::
|
|
|
|
This can only resolve two heads (i.e. the current branch
|
|
|
|
and another branch you pulled from) using 3-way merge
|
|
|
|
algorithm. It tries to carefully detect criss-cross
|
|
|
|
merge ambiguities and is considered generally safe and
|
|
|
|
fast. This is the default merge strategy when pulling
|
|
|
|
one branch.
|
|
|
|
|
|
|
|
recursive::
|
|
|
|
This can only resolve two heads using 3-way merge
|
|
|
|
algorithm. When there are more than one common
|
|
|
|
ancestors that can be used for 3-way merge, it creates a
|
|
|
|
merged tree of the common ancestores and uses that as
|
|
|
|
the reference tree for the 3-way merge. This has been
|
|
|
|
reported to result in fewer merge conflicts without
|
|
|
|
causing mis-merges by tests done on actual merge commits
|
|
|
|
taken from Linux 2.6 kernel development history.
|
|
|
|
Additionally this can detect and handle merges involving
|
|
|
|
renames.
|
|
|
|
|
|
|
|
octopus::
|
|
|
|
This resolves more than two-head case, but refuses to do
|
|
|
|
complex merge that needs manual resolution. It is
|
|
|
|
primarily meant to be used for bundling topic branch
|
|
|
|
heads together. This is the default merge strategy when
|
|
|
|
pulling more than one branch.
|
|
|
|
|
|
|
|
ours::
|
|
|
|
This resolves any number of heads, but the result of the
|
|
|
|
merge is always the current branch head. It is meant to
|
|
|
|
be used to supersede old development history of side
|
|
|
|
branches.
|
|
|
|
|
|
|
|
|
|
|
|
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-05-10 21:32:30 +00:00
|
|
|
Author
|
|
|
|
------
|
2005-08-15 00:24:36 +00:00
|
|
|
Written by Linus Torvalds <torvalds@osdl.org>
|
|
|
|
and Junio C Hamano <junkio@cox.net>
|
2005-05-10 21:32:30 +00:00
|
|
|
|
|
|
|
Documentation
|
|
|
|
--------------
|
|
|
|
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
|
|
|
|
|
|
|
|
GIT
|
|
|
|
---
|
2005-09-19 10:10:51 +00:00
|
|
|
Part of the gitlink:git[7] suite
|
2005-05-10 21:32:30 +00:00
|
|
|
|