我分支了错误的分支,我想将提交移到主分支而不是特征分支。尝试了从Feat2的Rebase Master,但我得到了“当前分支…是最新的”
基本上我想从这个开始
feat2 F
/
feat1 C - D - E
/
master A - B
为了这个
feat1 C - D - E
/
master A - B
\
feat2 F
当然f不依赖于任何c-d-e
编辑:强制重设基准显示,在feat2上不仅考虑f,而且来自master的所有提交都被重设基准(c-d-e-f)。我需要的是一种方法,告诉瑞贝斯“削减”在专长1。
最佳答案
尝试使用git rebase --onto
:
git checkout feat2
git rebase --onto E B
这意味着在commit
F
之上对其父级为E
的commitB
进行重新定位。这使得feat2
看起来像你想要的那样,F
提交直接位于B
之上。另一种简单的处理方法是从
feat2new
分支一个新的feature 2 branchmaster
,然后cherry pick commitF
。在此之后,您可以删除旧的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