1

Say we have a development branch, and a few issue/feature branches that have had work done on them, call them iss-24, iss-28, tracking-module, form-submission-feedback. Assume that none of the branches are deleted after merging.

1) We do some work on iss-24, then we git checkout development, and do git merge iss-24

2) We do some work on tracking-module, then we git checkout development, and do git merge tracking-module

3) We do some work on iss-28, then we git checkout development, and do git merge iss-28

4) We do some work on form-submission-feedback, then we git checkout development, and do git merge form-submission-feedback

5) After all of these branches are merged into development, we realize we need to make a quick edit to the development branch, so we make that, commit it, and deploy/push to the webserver for client review.

6) Client reviews, approves everything, but then they decide that they want to delay the tracking-module feature.

My question is, how do we safely remove or undo that tracking-module merge while preserving history?

Faris M
  • 540
  • 4
  • 10

1 Answers1

1

Looks a bit like this one How to revert a merge commit that's already pushed to remote branch?

Take a look at what Ryan Stewart is saying, and take a look at the links he provided.

Community
  • 1
  • 1
  • From what I'm reading, it appears that this requires a double revert (revert the merge, the revert the revert) to isolate the branch. But it seems like most people think this is bad practice and to avoid it if possible. Perhaps there is another way of accomplishing this? We really need to be able to batch review branches, rather than one branch at a time, so merging them all seems like the only option. Perhaps just have a 'preview' branch and merge into that for reviews, and after changes have been reviewed, merge accepted branches to development? – Faris M Jun 14 '14 at 00:01