| git-pull(1) | |
| =========== | |
| NAME | |
| ---- | |
| git-pull - Pull and merge from another repository. | |
| SYNOPSIS | |
| -------- | |
| 'git-pull' <options> <repository> <refspec>... | |
| DESCRIPTION | |
| ----------- | |
| Runs `git-fetch` with the given parameters, and calls `git-merge` | |
| to merge the retrieved head(s) into the current branch. | |
| 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. | |
| OPTIONS | |
| ------- | |
| include::merge-options.txt[] | |
| include::fetch-options.txt[] | |
| include::pull-fetch-param.txt[] | |
| include::merge-strategies.txt[] | |
| 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. | |
| 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 | |
| ------------------------------------------------ | |
| + | |
| Here, a typical `.git/remotes/origin` file from a | |
| `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. | |
| Pull of multiple branches from one repository using `.git/remotes` file:: | |
| + | |
| ------------------------------------------------ | |
| $ 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 | |
| ------------------------------------------------ | |
| + | |
| Here, a typical `.git/remotes/origin` file from a | |
| `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. | |
| 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]. | |
| SEE ALSO | |
| -------- | |
| gitlink:git-fetch[1], gitlink:git-merge[1] | |
| Author | |
| ------ | |
| Written by Linus Torvalds <torvalds@osdl.org> | |
| and Junio C Hamano <junkio@cox.net> | |
| Documentation | |
| -------------- | |
| Documentation by Jon Loeliger, | |
| David Greaves, | |
| Junio C Hamano and the git-list <git@vger.kernel.org>. | |
| GIT | |
| --- | |
| Part of the gitlink:git[7] suite | |