If we have a branch with commits a -> b -> c (HEAD), and a, b has conflicts that cannot be auto-merged, how can we discard c and manually resolve the conflict of a and b again to produce a new commit?
Say in commit a, we have a file foo.txt. In commit b, we modified foo.txt (we we later regret) and added bar.txt. Then we have a bogus commit c. How to produce a commit with the a's version of foo.txt and with b's bar.txt present?