1git-pull(1) 2=========== 3 4NAME 5---- 6git-pull - Pull and merge from another repository. 7 8 9SYNOPSIS 10-------- 11'git-pull' <options> <repository> <refspec>... 12 13 14DESCRIPTION 15----------- 16Runs `git-fetch` with the given parameters, and calls `git-merge` 17to merge the retrieved head(s) into the current branch. 18 19Note that you can use `.` (current directory) as the 20<repository> to pull from the local repository -- this is useful 21when merging local branches into the current branch. 22 23 24OPTIONS 25------- 26include::merge-options.txt[] 27 28include::fetch-options.txt[] 29 30include::pull-fetch-param.txt[] 31 32include::merge-strategies.txt[] 33 34 35EXAMPLES 36-------- 37 38git pull, git pull origin:: 39 Fetch the default head from the repository you cloned 40 from and merge it into your current branch. 41 42git pull -s ours . obsolete:: 43 Merge local branch `obsolete` into the current branch, 44 using `ours` merge strategy. 45 46git pull . fixes enhancements:: 47 Bundle local branch `fixes` and `enhancements` on top of 48 the current branch, making an Octopus merge. 49 50git 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. 55+ 56You should refrain from abusing this option to sneak substantial 57changes into a merge commit. Small fixups like bumping 58release/version name would be acceptable. 59 60Command line pull of multiple branches from one repository:: 61+ 62------------------------------------------------ 63$ cat .git/remotes/origin 64URL: git://git.kernel.org/pub/scm/git/git.git 65Pull: master:origin 66 67$ git checkout master 68$ git fetch origin master:origin +pu:pu maint:maint 69$ git pull . origin 70------------------------------------------------ 71+ 72Here, a typical `.git/remotes/origin` file from a 73`git-clone` operation is used in combination with 74command line options to `git-fetch` to first update 75multiple branches of the local repository and then 76to merge the remote `origin` branch into the local 77`master` branch. The local `pu` branch is updated 78even if it does not result in a fast forward update. 79Here, the pull can obtain its objects from the local 80repository using `.`, as the previous `git-fetch` is 81known to have already obtained and made available 82all the necessary objects. 83 84 85Pull of multiple branches from one repository using `.git/remotes` file:: 86+ 87------------------------------------------------ 88$ cat .git/remotes/origin 89URL: git://git.kernel.org/pub/scm/git/git.git 90Pull: master:origin 91Pull: +pu:pu 92Pull: maint:maint 93 94$ git checkout master 95$ git pull origin 96------------------------------------------------ 97+ 98Here, a typical `.git/remotes/origin` file from a 99`git-clone` operation has been hand-modified to include 100the branch-mapping of additional remote and local 101heads directly. A single `git-pull` operation while 102in the `master` branch will fetch multiple heads and 103merge the remote `origin` head into the current, 104local `master` branch. 105 106 107If you tried a pull which resulted in a complex conflicts and 108would want to start over, you can recover with 109gitlink:git-reset[1]. 110 111 112SEE ALSO 113-------- 114gitlink:git-fetch[1], gitlink:git-merge[1] 115 116 117Author 118------ 119Written by Linus Torvalds <torvalds@osdl.org> 120and Junio C Hamano <junkio@cox.net> 121 122Documentation 123-------------- 124Documentation by Jon Loeliger, 125David Greaves, 126Junio C Hamano and the git-list <git@vger.kernel.org>. 127 128GIT 129--- 130Part of the gitlink:git[7] suite 131