GIT: 如何在不合并主分支的情况下将更改更新到特性分支?

5
我正在处理一个相对较大的GIT仓库,遵循如下合理标准设置:功能在新分支中开发,然后合并到master主分支。约6个月前,一个功能在新分支上被部分实现。结果发现这个功能依赖于其他一些东西,因此它被搁置,直到其他事情完成。这使得该分支比主分支超前18个提交,落后93个提交,并且拥有多个贡献者,因此我们不想压缩它或删除历史记录。
请问,如何将master主分支的当前更改应用于此功能分支?
目前我所能想到的唯一方法是将分支合并到master主分支,然后立即重新创建分支,但肯定有更好的方法来处理此情况,因为该功能尚未完成...

1
master 合并到 feature 或将 feature 变基到 master - user4003407
1
不好意思打广告:这是我对于重复问题的答案。基本上,你需要使用一个新分支:从主分支创建分支,将你的功能合并到它中,然后使用它来继续开发你的功能。 - jkdev
1个回答

11

你有两个选项:

  1. master 合并到 feature 分支中:

    $ git checkout feature
    $ git merge master
    

    这种方法的缺点是你必须一次解决所有的冲突。

  2. feature变基到master分支:

  3. $ git checkout feature
    $ git rebase master
    

    如果存在冲突,您可以在feature的历史记录中手动解决每个提交的冲突。一旦解决冲突并将其添加到索引中,您就可以进行下一步操作。

    $ git rebase --continue
    

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接