Thu Jun 21 12:33:23 EDT 2012

Reverting patches


- I have a branch "doodle" that contains an experimental feature in progress. 

- Once the feature in "doodle" is done, I find that it contains a lot
  of extra cruft that is not necessary for a merge to "master".

- I create a new branch "feature", which has that extra cruft removed.
  I merge that one with master.

Now "diff feature doodle" contains the cruft, but "feature" is now
younger than "doodle".  Any time a child of "feature" gets merged into
"doodle", an automatic merge will clean up the cruft.

How to make it so that the cruft sits on top of "feature"?  Can this
only be solved with a rebase, or is there a way to do this without
loosing history.

It seems this can be done by applying a "git revert" of the cleanup
patch(es) in "feature".

Something like:
  git revert -n doodle..feature
  git commit -am 'reverted cleanup doodle->feature'