diff --git a/README.md b/README.md
index d67bad6..77f5216 100644
--- a/README.md
+++ b/README.md
@@ -48,6 +48,7 @@ For clarity's sake all examples in this document use a customized bash prompt in
- [I accidentally deleted my branch](#i-accidentally-deleted-my-branch)
- [I want to delete a branch](#i-want-to-delete-a-branch)
- [Rebasing and Merging](#rebasing-and-merging)
+ - [I want to undo rebase/merge](#undo-rebase)
- [I rebased, but I don't want to force push.](#i-rebased-but-i-dont-want-to-force-push)
- [I need to combine commits](#i-need-to-combine-commits)
- [Safe merging strategy](#safe-merging-strategy)
@@ -597,6 +598,15 @@ To delete a local branch:
## Rebasing and Merging
+
+### I want to undo rebase/merge
+
+You may have merged or rebased your current branch with a wrong branch, or you can't figure it out or finish the rebase/merge process. Git saves the original HEAD pointer in a variable called ORIG_HEAD before doing dangerous operations, so it is simple to recover your branch at the state before the rebase/merge.
+
+```sh
+(my-branch)$ git reset --hard ORIG_HEAD
+```
+
### I rebased, but I don't want to force push.