首页 > 解决方案 > 我在将我的分支重新基于最新的主版本之前进行了推送。我该如何解决这个问题?

问题描述

new-feature在代码审查中的工作功能分支working-feature.

我的计划是这样的:一旦working-feature合并到我们的develop分支,我会创建git rebase新的功能分支,以便它基于新版本的develop.

但是,我在推new-feature送到 Github 之前忘记运行这个 rebase 命令。所以现在,我的 Pull Request intodevelop包含已经合并的提交(来自原始working-feature分支的提交)。这些都在提交列表的开头,然后是来自new-feature分支的实际提交。

我的问题是:这是一个问题吗?我可以毫无问题地合并此 PR 吗?我可以做些什么来省略已经合并的提交吗?谢谢你。

标签: gitgithub

解决方案


将您的new-feature提交重新定位到develop现在:

git rebase --onto develop working-feature new-feature

(如果您不了解--onto语法,您可能想阅读我的小论文:https://stackoverflow.com/a/68636306/341994。

然后用力推:

git push --force-with-lease origin new-feature

(我们被告知不要推送共享历史记录,但可以说一个未决的拉取请求分支实际上并未共享。好吧,如果有人将此分支拉到他们的本地,这对他们来说不是很好,但它极不可能,而且并不困难让他们删除分支的本地版本并再次拉取它。)


推荐阅读