简体   繁体   中英

How to merge a branch without also merging changes from previous branches

I am kind of new to git and have a question regarding branching and merging those branches.

Let's say in my project repo I have 3 "main" branches: Alpha, Beta, Production.

Here is a scenario I am facing:

I currently work on the Alpha branch on my local machine. I create a new branch from Alpha, let's call it feature/newFeature . After creating the feature I commit and push the changes and then I merge feature/newFeature into the Alpha branch for QA to test. If QA approves, then it gets merged into Beta, then Production, etc.

Now, after feature/newFeature has been merged into Alpha (and not any other branch yet) I create another branch from Alpha, call it fix/hotfix . After fixing what needs to be fixed I merge this branch into Alpha as well.

But (and here is the problem I am facing), let's say that fix/hotfix has been tested and is working and can be merged into Beta, but feature/newFeature is still being tested on Alpha. If I try to merge the fix/hotfix branch into Beta, it will also merge changes from the feature/newFeature branch into Beta (which I obviously don't want because it is still being tested).

I understand why this happens, because when I merge feature/newFeature into Alpha and then create the fix/hotfix branch from Alpha after that merge, the fix/hotfix branch also contains the changes from the feature/newFeature branch.

My question is: Is there any way to do it in such a way that I can merge the fix/hotfix branch into Beta without it also merging the previous branches/changes that shouldn't be merged yet?

You can always copy fix/hotfix branch and rebase it onto beta

git checkout fix/hotfix
git checkout -b fix/hotfix-copy
git rebase beta

That should leave you with the hotfix changes on beta branch. Then just merge the hotfix

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM