Rollback a Git merge


develop branch
--> dashboard (working branch)

I use git merge --no-ff develop to merge any upstream changes into dashboard

git log:

commit 88113a64a21bf8a51409ee2a1321442fd08db705
Merge: 981bc20 888a557
Author: XXXX <>
Date:   Mon Jul 30 08:16:46 2012 -0500
Merge branch 'develop' into dashboard

commit 888a5572428a372f15a52106b8d74ff910493f01 Author: root <ro[email protected]> Date: Sun Jul 29 10:49:21 2012 -0500

fixed end date edit display to have leading 0

commit 167ad941726c876349bfa445873bdcd475eb8cd8 Author: XXXX <> Date: Sun Jul 29 09:13:24 2012 -0500

The merge had about 50+ commits in it, and I am wondering how to just revert the merge so dashboard goes back to the state pre-merge

The second part of this is, if I dont do merge with --no-ff, I don't get the commit 'Merge branch 'develop' into dashboard' .. How would I roll that merge back?


Reverting a merge commit has been exhaustively covered in other questions. When you do a fast-forward merge, the second one you describe, you can use git reset to get back to the previous state:

git reset --hard <commit_before_merge>

You can find the <commit_before_merge> with git reflog, git log, or, if you're feeling the moxy (and haven't done anything else): git reset --hard HEAD@{1}

How to find/identify large commits in git history?

Restore file from old commit in git