I have been looking for a good branching model in git and found GitFlow would fit our development environment pretty well. However, one outstanding question is how and where to test our releases.
Release branches sound like a place to run all of the regression tests prior to the release. However, release branches are then merged into master, tagged, and that is what finally goes out to production. What happens if there are merging conflicts from release branch to master? Sounds like master needs to be completely re-tested (which could be costly). Even if there are no conflicts, is it safe to simply push that merge to production, or is there a need to run additional basic smoke tests?
After carefully tracing the GitFlow diagram, I convinced myself that there should never be any conflicts when merging into master (that is if the process is strictly followed). The reason, is because of the timeline:
I simplified the GitFlow diagram to convince myself of this:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With