git:似乎不能仅仅依赖于分支的一部分

时间:2018-06-03 23:55:51

标签: git

所以我的项目看起来像这样:

A--B--C--D master
      \
       \-E--F--G--H topic 1

我想重新定位主题分支的一部分,使它看起来像这样:

A--B--C--D master
       \  \-G--H topic 2
        \-E--F topic 1

是否有可能,如果有,你们可以帮助我吗?谢谢!

2 个答案:

答案 0 :(得分:2)

您可以在此处使用rebase --onto来处理topic2分支。首先,从topic2创建topic1分支:

git checkout -b topic2

然后使用rebase --onto

git rebase --onto D F

要处理topic1分支,只需切换回它,然后执行硬重置以删除前2个提交:

git checkout topic1
git reset --hard HEAD~2

答案 1 :(得分:1)

你可以cherry-pick G和H加入主题2,然后git reset主题1回到F吗?

master开始,我会运行以下内容:

git checkout -b topic-2

git cherry-pick G

git cherry-pick H

git checkout topic-1

git reset F --hard