In our Azure DevOps project, we have three long living branches that are all protected to prevent devs to push directly to these branches:
- develop
- staging
- main
Basically one feature is developed in branch abc
, merge to develop after a pull request review with squash. From time to time we merge no squash this time from develop
to staging
and test on our pre production environment.
After we are satifyied, we create a release branch, generate the changelogs and push the changes to main
, also no squash.
Our feature abc
is now on main but now we want to get the changelogs back to develop. We need to merge from master
to staging
no squash, then down from staging
to develop
no squash.
Actually it works very well. The only thing we struggle with is that, in the merge phase we complete the PR on develop with squash and in the merge back phase without squash. It’s very error prone.
How could we solve that?