Ittay Dror [off-list ref] writes:
I have this revision history: A-B
I want to go back to the code in A, but keep B in the history: A-B-A
How do I do that?
Straight answer (iow, what you asked, which may not match what you wanted
to really do):
$ git read-tree -m -u A
$ git commit -m 'Revert to A'
Probably a more useful answer, guessing what you really wanted to do:
You have a botched commit F that was in the sequence of longer commits,
A--B--C--D--E--F--G--H, and you want to recover from the mistake F made
(iow, the change between E and F is bad):
$ git revert F
This will make your history A--B--C--D--E--F--G--H--F' where the
difference between H and F' counteracts what F did relative to E.