I'm trying to make the case for switching our organization to Git from SVN. Right now our workflow essentially looks like this:
- Developer makes changes, then commits to Beta branch
- QA finds bugs, then tells the dev to fix them
- GOTO 1. Repeat at least 5 times. (We have no test suite. Another issue...)
- Peer code review
- At the end of the sprint, branch manager merges all code that's marked as ready into the master branch.
I see Git as potentially helping a lot with steps 4 and 5. Specifically, the peer code review is really difficult when there's 10 commits, with potentially lots of commits in between*. I know with Git it's easy to revert commits, potentially creating one commit per feature/bug to review. Leading me to my question:
What is the best Git workflow for a scenario involving a lengthy QA back and forth?
Keep in mind that I'm encountering some resistance to change, so the simpler the workflow the more likely it is to be adopted. Also keep in mind that this is a Web Dev project, so QA tests against a Beta server, not locally, so QA switching branches isn't really an option.
*Meaning, there may be commits from other bug tickets on the same file in between commits for this bug ticket, making a simple comparison to the previous state and isolating code changes for this ticket only difficult.