path: root/Documentation/git-reset.txt
diff options
authorJunio C Hamano <>2006-01-13 21:17:55 (GMT)
committerJunio C Hamano <>2006-01-13 21:17:55 (GMT)
commita0dfb48af73a98ceb60629f2bbc4ebf1393ba0af (patch)
treecd3ee4d47eb427802d9b21ea7a3974977e4f5224 /Documentation/git-reset.txt
parentcb95bf488b4363b51bd0aebc877a928858e51545 (diff)
Documentation: git-reset - interrupted workflow.
Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation/git-reset.txt')
1 files changed, 26 insertions, 1 deletions
diff --git a/Documentation/git-reset.txt b/Documentation/git-reset.txt
index c6a269b..315683a 100644
--- a/Documentation/git-reset.txt
+++ b/Documentation/git-reset.txt
@@ -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.
Written by Junio C Hamano <> and Linus Torvalds <>
@@ -156,4 +182,3 @@ Documentation by Junio C Hamano and the git-list <>.
Part of the gitlink:git[7] suite