|
|
@ -131,54 +131,13 @@ $ git pull origin next |
|
|
|
------------------------------------------------ |
|
|
|
------------------------------------------------ |
|
|
|
+ |
|
|
|
+ |
|
|
|
This leaves a copy of `next` temporarily in FETCH_HEAD, but |
|
|
|
This leaves a copy of `next` temporarily in FETCH_HEAD, but |
|
|
|
does not update any remote-tracking branches. |
|
|
|
does not update any remote-tracking branches. Using remote-tracking |
|
|
|
|
|
|
|
branches, the same can be done by invoking fetch and merge: |
|
|
|
* Bundle local branch `fixes` and `enhancements` on top of |
|
|
|
|
|
|
|
the current branch, making an Octopus merge: |
|
|
|
|
|
|
|
+ |
|
|
|
|
|
|
|
------------------------------------------------ |
|
|
|
|
|
|
|
$ git pull . fixes enhancements |
|
|
|
|
|
|
|
------------------------------------------------ |
|
|
|
|
|
|
|
+ |
|
|
|
|
|
|
|
This `git pull .` syntax is equivalent to `git merge`. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Merge local branch `obsolete` into the current branch, using `ours` |
|
|
|
|
|
|
|
merge strategy: |
|
|
|
|
|
|
|
+ |
|
|
|
|
|
|
|
------------------------------------------------ |
|
|
|
|
|
|
|
$ git pull -s ours . obsolete |
|
|
|
|
|
|
|
------------------------------------------------ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Merge local branch `maint` into the current branch, but do not make |
|
|
|
|
|
|
|
a commit automatically: |
|
|
|
|
|
|
|
+ |
|
|
|
+ |
|
|
|
------------------------------------------------ |
|
|
|
------------------------------------------------ |
|
|
|
$ git pull --no-commit . maint |
|
|
|
$ git fetch origin |
|
|
|
|
|
|
|
$ git merge origin/next |
|
|
|
------------------------------------------------ |
|
|
|
------------------------------------------------ |
|
|
|
+ |
|
|
|
|
|
|
|
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: |
|
|
|
|
|
|
|
+ |
|
|
|
|
|
|
|
------------------------------------------------ |
|
|
|
|
|
|
|
$ git checkout master |
|
|
|
|
|
|
|
$ git fetch origin +pu:pu maint:tmp |
|
|
|
|
|
|
|
$ git pull . tmp |
|
|
|
|
|
|
|
------------------------------------------------ |
|
|
|
|
|
|
|
+ |
|
|
|
|
|
|
|
This updates (or creates, as necessary) branches `pu` and `tmp` in |
|
|
|
|
|
|
|
the local repository by fetching from the branches (respectively) |
|
|
|
|
|
|
|
`pu` and `maint` from the remote repository. |
|
|
|
|
|
|
|
+ |
|
|
|
|
|
|
|
The `pu` branch will be updated even if it is does not fast-forward; |
|
|
|
|
|
|
|
the others will not be. |
|
|
|
|
|
|
|
+ |
|
|
|
|
|
|
|
The final command then merges the newly fetched `tmp` into master. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you tried a pull which resulted in a complex conflicts and |
|
|
|
If you tried a pull which resulted in a complex conflicts and |
|
|
|