6 git-pull - Pull and merge from another repository.
11 'git-pull' <options> <repository> <refspec>...
16 Runs `git-fetch` with the given parameters, and calls `git-merge`
17 to merge the retrieved head(s) into the current branch.
19 Note that you can use `.` (current directory) as the
20 <repository> to pull from the local repository -- this is useful
21 when merging local branches into the current branch.
26 include::merge-options.txt[]
28 include::fetch-options.txt[]
30 include::pull-fetch-param.txt[]
32 include::merge-strategies.txt[]
38 git pull, git pull origin::
39 Fetch the default head from the repository you cloned
40 from and merge it into your current branch.
42 git pull -s ours . obsolete::
43 Merge local branch `obsolete` into the current branch,
44 using `ours` merge strategy.
46 git pull . fixes enhancements::
47 Bundle local branch `fixes` and `enhancements` on top of
48 the current branch, making an Octopus merge.
50 git pull --no-commit . maint::
51 Merge local branch `maint` into the current branch, but
52 do not make a commit automatically. This can be used
53 when you want to include further changes to the merge,
54 or want to write your own merge commit message.
56 You should refrain from abusing this option to sneak substantial
57 changes into a merge commit. Small fixups like bumping
58 release/version name would be acceptable.
60 Command line pull of multiple branches from one repository::
62 ------------------------------------------------
63 $ cat .git/remotes/origin
64 URL: git://git.kernel.org/pub/scm/git/git.git
68 $ git fetch origin master:origin +pu:pu maint:maint
70 ------------------------------------------------
72 Here, a typical `.git/remotes/origin` file from a
73 `git-clone` operation is used in combination with
74 command line options to `git-fetch` to first update
75 multiple branches of the local repository and then
76 to merge the remote `origin` branch into the local
77 `master` branch. The local `pu` branch is updated
78 even if it does not result in a fast forward update.
79 Here, the pull can obtain its objects from the local
80 repository using `.`, as the previous `git-fetch` is
81 known to have already obtained and made available
82 all the necessary objects.
85 Pull of multiple branches from one repository using `.git/remotes` file::
87 ------------------------------------------------
88 $ cat .git/remotes/origin
89 URL: git://git.kernel.org/pub/scm/git/git.git
96 ------------------------------------------------
98 Here, a typical `.git/remotes/origin` file from a
99 `git-clone` operation has been hand-modified to include
100 the branch-mapping of additional remote and local
101 heads directly. A single `git-pull` operation while
102 in the `master` branch will fetch multiple heads and
103 merge the remote `origin` head into the current,
104 local `master` branch.
109 gitlink:git-fetch[1], gitlink:git-merge[1]
114 Written by Linus Torvalds <torvalds@osdl.org>
115 and Junio C Hamano <junkio@cox.net>
119 Documentation by Jon Loeliger,
121 Junio C Hamano and the git-list <git@vger.kernel.org>.
125 Part of the gitlink:git[7] suite