我分支了错误的分支,我想将提交移到主分支而不是特征分支。尝试了从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

这意味着在commitF之上对其父级为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

07-24 13:18