繁体   English   中英

将提交从master转移到独立分支

[英]Move a commit to independent branch from master

我已经分支了错误的分支,我想将提交移动到主服务器而不是功能分支。 尝试使用feat2的rebase master,但我得到“当前的分支...是最新的”

基本上我想离开这个

feat2                   F
                       /
feat1         C - D - E
             /
master A - B 

对此

feat1         C - D - E
             /
master A - B 
             \
feat2         F

当然F不依赖于任何CDE

编辑:强制rebase显示不仅在feat2上考虑了F,而且来自master的所有提交都被重新命名(CDEF)。 我需要的是一种告诉rebase在feat1“切割”的方法。

尝试使用git rebase --onto

git checkout feat2
git rebase --onto E B

这表示在提交B之上重新定义其父EE的提交F 这使得feat2看起来如你所愿, F提交直接位于B顶部。

处理这个问题的另一个简单方法是从master分支一个新的功能2分支feat2new ,然后樱桃选择提交F 在此之后,您可以删除旧的feat2分支并将feat2new重命名为feat2

git checkout master
git checkout -b feat2new
git cherry-pick <SHA-1 for commit F>

现在删除feat2 ,然后重命名:

git branch -d feat2
git branch -m feat2new feat2

暂无
暂无

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

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