mirror of
https://github.com/git/git
synced 2024-08-27 19:49:21 +00:00
Merge branch 'cb/doc-fetch-pull-merge'
* cb/doc-fetch-pull-merge: modernize fetch/merge/pull examples
This commit is contained in:
commit
0f06f3ff76
|
@ -37,6 +37,35 @@ include::pull-fetch-param.txt[]
|
|||
|
||||
include::urls-remotes.txt[]
|
||||
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
* Update the remote-tracking branches:
|
||||
+
|
||||
------------------------------------------------
|
||||
$ git fetch origin
|
||||
------------------------------------------------
|
||||
+
|
||||
The above command copies all branches from the remote refs/heads/
|
||||
namespace and stores them to the local refs/remotes/origin/ namespace,
|
||||
unless the branch.<name>.fetch option is used to specify a non-default
|
||||
refspec.
|
||||
|
||||
* Using refspecs explicitly:
|
||||
+
|
||||
------------------------------------------------
|
||||
$ git fetch origin +pu:pu maint: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,
|
||||
because it is prefixed with a plus sign; `tmp` will not be.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-pull[1]
|
||||
|
|
|
@ -212,6 +212,39 @@ You can work through the conflict with a number of tools:
|
|||
common ancestor, 'git show :2:filename' shows the HEAD
|
||||
version and 'git show :3:filename' shows the remote version.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
* Merge branches `fixes` and `enhancements` on top of
|
||||
the current branch, making an octopus merge:
|
||||
+
|
||||
------------------------------------------------
|
||||
$ git merge fixes enhancements
|
||||
------------------------------------------------
|
||||
|
||||
* Merge branch `obsolete` into the current branch, using `ours`
|
||||
merge strategy:
|
||||
+
|
||||
------------------------------------------------
|
||||
$ git merge -s ours obsolete
|
||||
------------------------------------------------
|
||||
|
||||
* Merge branch `maint` into the current branch, but do not make
|
||||
a new commit automatically:
|
||||
+
|
||||
------------------------------------------------
|
||||
$ git merge --no-commit maint
|
||||
------------------------------------------------
|
||||
+
|
||||
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.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-fmt-merge-msg[1], linkgit:git-pull[1],
|
||||
|
|
|
@ -131,54 +131,13 @@ $ git pull origin next
|
|||
------------------------------------------------
|
||||
+
|
||||
This leaves a copy of `next` temporarily in FETCH_HEAD, but
|
||||
does not update any remote-tracking branches.
|
||||
|
||||
* Bundle local branch `fixes` and `enhancements` on top of
|
||||
the current branch, making an Octopus merge:
|
||||
does not update any remote-tracking branches. Using remote-tracking
|
||||
branches, the same can be done by invoking fetch and merge:
|
||||
+
|
||||
------------------------------------------------
|
||||
$ git pull . fixes enhancements
|
||||
$ git fetch origin
|
||||
$ git merge origin/next
|
||||
------------------------------------------------
|
||||
+
|
||||
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
|
||||
------------------------------------------------
|
||||
+
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue