Documentation: git-reset - interrupted workflow.
authorJunio C Hamano <junkio@cox.net>
Fri, 13 Jan 2006 21:17:55 +0000 (13:17 -0800)
committerJunio C Hamano <junkio@cox.net>
Fri, 13 Jan 2006 21:17:55 +0000 (13:17 -0800)
Signed-off-by: Junio C Hamano <junkio@cox.net>
Documentation/git-reset.txt

index c6a269b..315683a 100644 (file)
@@ -145,6 +145,32 @@ brings your index file and the working tree back to that state,
 and resets the tip of the branch to that commit.
 ------------
 
+Interrupted workflow::
++
+You can get interrupted by an ungent fix request while you are
+still in the middle of a large change.  The files in your
+working tree are not in any shape to be committed yet, but you
+need to get to the other branch for a quick bugfix.
++
+------------
+$ git checkout feature ;# you were working in "feature" branch and
+$ work work work       ;# got interrupted
+$ git commit -a -m 'snapshot WIP' <1>
+$ git checkout master
+$ fix fix fix
+$ git commit ;# commit with real log
+$ git checkout feature
+$ git reset --soft HEAD^ ;# go back to WIP state <2>
+$ git reset <3>
+
+<1> This commit will get blown away so a throw-away log message is OK.
+<2> This removes the 'WIP' commit from the commit history, and makes
+    your working tree in the state just before you made that snapshot.
+<3> After <2>, the index file still has all the WIP changes you
+    committed in <1>.  This sets it to the last commit you were
+    basing the WIP changes on.
+------------
+
 Author
 ------
 Written by Junio C Hamano <junkio@cox.net> and Linus Torvalds <torvalds@osdl.org>
@@ -156,4 +182,3 @@ Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
 GIT
 ---
 Part of the gitlink:git[7] suite
-