Skip to content

Commit

Permalink
Merge branch 'cb/doc-fetch-pull-merge'
Browse files Browse the repository at this point in the history
* cb/doc-fetch-pull-merge:
  modernize fetch/merge/pull examples
  • Loading branch information
Junio C Hamano committed Oct 31, 2009
2 parents e7e5548 + d504f69 commit 0f06f3f
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 45 deletions.
29 changes: 29 additions & 0 deletions Documentation/git-fetch.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
33 changes: 33 additions & 0 deletions Documentation/git-merge.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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],
Expand Down
49 changes: 4 additions & 45 deletions Documentation/git-pull.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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:
+
------------------------------------------------
$ 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:
does not update any remote-tracking branches. Using remote-tracking
branches, the same can be done by invoking fetch and merge:
+
------------------------------------------------
$ 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
Expand Down

0 comments on commit 0f06f3f

Please sign in to comment.