6 git-pull - Pull and merge from another repository or a local branch
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[]
34 include::merge-strategies.txt[]
39 git pull, git pull origin::
40 Fetch the default head from the repository you cloned
41 from and merge it into your current branch.
43 git pull -s ours . obsolete::
44 Merge local branch `obsolete` into the current branch,
45 using `ours` merge strategy.
47 git pull . fixes enhancements::
48 Bundle local branch `fixes` and `enhancements` on top of
49 the current branch, making an Octopus merge.
51 git pull --no-commit . maint::
52 Merge local branch `maint` into the current branch, but
53 do not make a commit automatically. This can be used
54 when you want to include further changes to the merge,
55 or want to write your own merge commit message.
57 You should refrain from abusing this option to sneak substantial
58 changes into a merge commit. Small fixups like bumping
59 release/version name would be acceptable.
61 Command line pull of multiple branches from one repository::
63 ------------------------------------------------
64 $ cat .git/remotes/origin
65 URL: git://git.kernel.org/pub/scm/git/git.git
69 $ git fetch origin master:origin +pu:pu maint:maint
71 ------------------------------------------------
73 Here, a typical `.git/remotes/origin` file from a
74 `git-clone` operation is used in combination with
75 command line options to `git-fetch` to first update
76 multiple branches of the local repository and then
77 to merge the remote `origin` branch into the local
78 `master` branch. The local `pu` branch is updated
79 even if it does not result in a fast forward update.
80 Here, the pull can obtain its objects from the local
81 repository using `.`, as the previous `git-fetch` is
82 known to have already obtained and made available
83 all the necessary objects.
86 Pull of multiple branches from one repository using `.git/remotes` file::
88 ------------------------------------------------
89 $ cat .git/remotes/origin
90 URL: git://git.kernel.org/pub/scm/git/git.git
97 ------------------------------------------------
99 Here, a typical `.git/remotes/origin` file from a
100 `git-clone` operation has been hand-modified to include
101 the branch-mapping of additional remote and local
102 heads directly. A single `git-pull` operation while
103 in the `master` branch will fetch multiple heads and
104 merge the remote `origin` head into the current,
105 local `master` branch.
108 If you tried a pull which resulted in a complex conflicts and
109 would want to start over, you can recover with
110 gitlink:git-reset[1].
115 gitlink:git-fetch[1], gitlink:git-merge[1]
120 Written by Linus Torvalds <torvalds@osdl.org>
121 and Junio C Hamano <junkio@cox.net>
125 Documentation by Jon Loeliger,
127 Junio C Hamano and the git-list <git@vger.kernel.org>.
131 Part of the gitlink:git[7] suite