I acknowledge that there are similar questions that have been asked and answered here. Since none of them give me definite answers, I thought asking this question here again. Hope you don't reject this question. With that said:
Scenario
We have a Bitbucket dev branch that stores content related to a specific release (Let's call the branch dev-release-1). Since the next release work starts before the current release is GR, we created another branch for the next release (let's call this branch dev-release-2). It means some people continue to work on the dev-release-1 while working on the new branch. The new branch should have the changes being made in the current release branch as well. The changes in the dev-release-1 branch are minimal and we want to avoid a full merge of dev-release-1 to dev-release-2.
Questions
- Is cherry-pick a good option for this scenario? I tried this in our sandbox. Kind of works. Not sure if it will cause a lot of conflicts when we merge all branches into the master. Since cherry-pick results in an entirely new commit ID, I am not sure about it.
- Is apply patch a good option? Tried this as well. Comparatively easier to do it with sourcetree. Since it results in an entirely new commit ID, I am not sure about it.
- Is there an option to merge a single commit from one branch to another without changing the commit ID?