mirror of
https://github.com/git/git
synced 2024-08-27 19:49:21 +00:00
Document "git-reset --merge"
The commit log message for the feature made it sound as if this is a saner version of --mixed, but the use case presented makes it clear that it is a better variant of --hard when your changes and somebody else's changes are mixed together. Perhaps we would want to rewrite the example that shows the use of --hard not to talk about recovering from a failed merge? Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
9e8eceab73
commit
1b5b465fbd
|
@ -8,7 +8,7 @@ git-reset - Reset current HEAD to the specified state
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git reset' [--mixed | --soft | --hard] [-q] [<commit>]
|
'git reset' [--mixed | --soft | --hard | --merge] [-q] [<commit>]
|
||||||
'git reset' [-q] [<commit>] [--] <paths>...
|
'git reset' [-q] [<commit>] [--] <paths>...
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
|
@ -45,6 +45,11 @@ OPTIONS
|
||||||
switched to. Any changes to tracked files in the working tree
|
switched to. Any changes to tracked files in the working tree
|
||||||
since <commit> are lost.
|
since <commit> are lost.
|
||||||
|
|
||||||
|
--merge::
|
||||||
|
Resets the index to match the tree recorded by the named commit,
|
||||||
|
and updates the files that are different between the named commit
|
||||||
|
and the current commit in the working tree.
|
||||||
|
|
||||||
-q::
|
-q::
|
||||||
Be quiet, only report errors.
|
Be quiet, only report errors.
|
||||||
|
|
||||||
|
@ -152,6 +157,28 @@ tip of the current branch in ORIG_HEAD, so resetting hard to it
|
||||||
brings your index file and the working tree back to that state,
|
brings your index file and the working tree back to that state,
|
||||||
and resets the tip of the branch to that commit.
|
and resets the tip of the branch to that commit.
|
||||||
|
|
||||||
|
Undo a merge or pull inside a dirty work tree::
|
||||||
|
+
|
||||||
|
------------
|
||||||
|
$ git pull <1>
|
||||||
|
Auto-merging nitfol
|
||||||
|
Merge made by recursive.
|
||||||
|
nitfol | 20 +++++----
|
||||||
|
...
|
||||||
|
$ git reset --merge ORIG_HEAD <2>
|
||||||
|
------------
|
||||||
|
+
|
||||||
|
<1> Even if you may have local modifications in your
|
||||||
|
working tree, you can safely say "git pull" when you know
|
||||||
|
that the change in the other branch does not overlap with
|
||||||
|
them.
|
||||||
|
<2> After inspecting the result of the merge, you may find
|
||||||
|
that the change in the other branch is unsatisfactory. Running
|
||||||
|
"git reset --hard ORIG_HEAD" will let you go back to where you
|
||||||
|
were, but it will discard your local changes, which you do not
|
||||||
|
want. "git reset --merge" keeps your local changes.
|
||||||
|
|
||||||
|
|
||||||
Interrupted workflow::
|
Interrupted workflow::
|
||||||
+
|
+
|
||||||
Suppose you are interrupted by an urgent fix request while you
|
Suppose you are interrupted by an urgent fix request while you
|
||||||
|
|
Loading…
Reference in a new issue