With our Git setup, we have the following permanent branches: - Master |- Fixes-x.x - Release - Develop
Develop is where our in development code goes. When we are almost ready for "release", it's merged into "release" where we make any additional last minute changes before merging it into "master" and tag it with a version. If a bug is found in an older version we create a separate branch for it so it can be fixed and given a relevant version tag.
We have made a novice mistake where I inadvertently merged some experimental code into release (Which was based on develop), and then a workmate made a similar mistake shortly after where release was merged into a fixes branch. So release and fixes is pretty much a copy of our develop branch.
I want to go back, preferably by deleting the commit from history, since this wasn't a coding error but a complete mess up in merging. But i've been digging and can't find a clear way to do this with rebase. I can't find how to run rebase to list the commit I want to remove. It seems easy had we made this mistake in master.
Any suggestions for how to best recover from this is appreciated. These has been a couple of commits since then so they are not in the head.