summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 06bf6ac)
raw | patch | inline | side by side (parent: 06bf6ac)
author | Junio C Hamano <junkio@cox.net> | |
Sat, 17 Dec 2005 02:23:33 +0000 (18:23 -0800) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Sat, 17 Dec 2005 02:23:33 +0000 (18:23 -0800) |
Morten Welinder says examples of resetting is really about
recovering from botched commit/pulls. I agree that pointers
from commands that cause a reset to be needed in the first place
would be very helpful.
Also reset examples did not mention "pull/merge" cases.
Signed-off-by: Junio C Hamano <junkio@cox.net>
recovering from botched commit/pulls. I agree that pointers
from commands that cause a reset to be needed in the first place
would be very helpful.
Also reset examples did not mention "pull/merge" cases.
Signed-off-by: Junio C Hamano <junkio@cox.net>
index b92cf483152d7d393b20537d5407479aa13fefc1..8b91f221fe0ea4dacd1f373fbd90d023ddc766b3 100644 (file)
Update specified paths in the index file before committing.
+If you make a commit and then found a mistake immediately after
+that, you can recover from it with gitlink:git-reset[1].
+
+
Author
------
Written by Linus Torvalds <torvalds@osdl.org> and
index 0cac563d40f17361569923aebb51e454fd24f92e..4ce799b520b501b1ea6dddd5643bf3aec2aca344 100644 (file)
include::merge-strategies.txt[]
+If you tried a merge which resulted in a complex conflicts and
+would want to start over, you can recover with
+gitlink:git-reset[1].
+
+
HOW MERGE WORKS
---------------
index c65ca9a5300096d69d540657ffd963070f429874..3a7d385225754d5c865ac333a5a65e71c4e7fb65 100644 (file)
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]
index 02048918bf70fd3391e635badfbc771856e3bcc3..c6a269b7ef56d830ad493467a63637b2afee9e83 100644 (file)
changes still in the working tree.
------------
+Undo a merge or pull::
++
+------------
+$ git pull <1>
+Trying really trivial in-index merge...
+fatal: Merge requires file-level merging
+Nope.
+...
+Auto-merging nitfol
+CONFLICT (content): Merge conflict in nitfol
+Automatic merge failed/prevented; fix up by hand
+$ git reset --hard <2>
+
+<1> try to update from the upstream resulted in a lot of
+conflicts; you were not ready to spend a lot of time merging
+right now, so you decide to do that later.
+<2> "pull" has not made merge commit, so "git reset --hard"
+which is a synonym for "git reset --hard HEAD" clears the mess
+from the index file and the working tree.
+
+$ git pull . topic/branch <3>
+Updating from 41223... to 13134...
+Fast forward
+$ git reset --hard ORIG_HEAD <4>
+
+<3> merge a topic branch into the current branch, which resulted
+in a fast forward.
+<4> but you decided that the topic branch is not ready for public
+consumption yet. "pull" or "merge" always leaves the original
+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,
+and resets the tip of the branch to that commit.
+------------
Author
------