Brent Goodrick [off-list ref] writes:
I had done a git merge --no-commit <source_branch> operation, but that
bit me because I mistakingly concluded that --no-commit would prevent
any type of automatic operation, but apparently a fast-forward
occurred. I should have used the --no-ff option? How do I get my
target branch back to where it was before the bad merge?
[...]
So, what operations, rebase, reset, etc, do I need to do to get this
repo back to where it was right before the fast-forward?
Each 'large' operation sets ORIG_HEAD
$ git reset --hard ORIG_HEAD
If you want to be more careful, examine reflog for HEAD, using either
"git reflog" or "git log -g", and you can reset to previous version of
HEAD (i.e. where current branch pointed to before 'git fetch') with
$ git reset --hard HEAD@{1}
--
Jakub Narebski
Poland
ShadeHawk on #git