We are using the concept of feature/bugfix, develop and release branches in Git and we do not maintain a master branch.
Builds for QA and the final build for production release are taken from a release branch while snapshots are taken from develop branch.
Say we have 2 releases currently in development:
Release 1
Release 2
Main problem: Merging the changes from Release 1
to Release 2
. We usually do a big merging after Release 1
is deployed in production. This results to several merge conflicts.
What is the best workflow to prevent this?
One idea we have is to merge the feature/bugfix branches of Release 1 to the develop branches of Release 1
and Release 2
. Though this will mean additional work for the developers.