繁体   English   中英

在Git中,如何将分支与其上游分支分开?

[英]In Git, how do I separate a branch from its upstream branch?

我有一个由另一个分支构建的分支,但实际上应该是一个独立的分支(它们是不同的特征)。 现在我相信我有这个:

...- master
        \  
         A1 - A2
               \
                B1

我想要的是A分支中的任何变化都不在B分支中。 结果应该是:

         B1
        /
...-master
         \   
          A1 - A2      

到目前为止,我已经尝试过git branch --set-upstream-to=mastergit rebase master (在B上),但这并不是我想要的。

这应该是一个rebase --onto

git checkout B1
git rebase --onto master A2 B1

一种方法也可能是从master创建一个新的分支,并选择在B1上完成的提交

git checkout master
git checkout -b B1 #(either delete beforehand B1 (git branch -D B1) or use a different name here)
git cherry-pick SHA-Commit-on-B1
...

由于cherry-pick支持提交范围,请参阅https://stackoverflow.com/a/3664543/1657377这也值得一试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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