Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How to finish a release branch if the release branch has changes which are not in develop branch

Archana_Acharya
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
February 15, 2020

Hi,

I really need some help regarding the release. I have created a release from develop branch (e.g 1.2.0) for the application. Once the off pipeline completed, the release is finished successfully and it has been merged back successfully both master and develop and tag got created. 

I have updated the develop branch to next version-shanshot (1.3.0-snapshot). And other features branches got merged to develop. Meanwhile the QA continues their testing in the release branch and found couple of issues. Those issues were fixed and merged to release branch.

Now, I have the following question.

  • Is this the right process to work in git and handle releases?
  • How can I finish the release branch with updated changes? If I finish the release branch again, I think it will get conflicts as the develop branch is ahead and release branch has new changes.
  • How to resolve those conflicts?
  • Once the conflict has been resolved, as the develop branch is ahead, all the changes from develop branch will be merged to release branch. In this way the release branch will have more features than originally released. Is there a way to avoid this? I understand that the release branch will be deleted after the release is finished. 

Please help me with these? Any help and answer is greatly appreciated.

 

2 answers

0 votes
Barry Allen
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 26, 2020

Hi Archana Acharya,

Maybe "cherry pick" option helps you. 

Whenever PR merged onto Release branch, create a cherry pick with those changes and make a PR to Develop branch.

If this "cherry picked PR" has conflicts, ask the actual owner(who made the PR to Release branch) to resolve those conflicts.

Then merge this cherry picked PR onto develop branch.

Once the release is finished successfully, merge release branch changes onto Master. You don't need to merge it back with develop master, because it already have those changes( cherry picked PR ).

 

Please let me know, if you need further clarification.

0 votes
Derek Fields _RightStar_
Community Champion
February 21, 2020

I want to understand your question better. The first paragraph says that you completed a release, merged it back to master and created a tag. I would expect that you would then delete that release branch.

The second paragraph says that you merged master onto develop. At that point you can also branch from master to a new Release branch. When a Feature is ready for QA, it is pulled into Develop and conflicts are resolved with other Feature branches. Once the code is reviewed and all conflicts (if any) are resolved, Develop is pull onto Release (this should be an easy FF since Release never pulls conflicts) and QA continues. If QA fails a Feature, it needs to be backed out of Develop until it is fixed and pulled back into Develop for a new round of QA testing.

What I like to do is to tag each pull into Develop with the ID of the Feature branch so that I can revert to the commit prior to that tag and then apply the other Feature branches back into Develop. This makes the process of backing out a feature branch a little easier. 

Maybe others have a different process that works better?

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events