【发布时间】:2018-09-24 22:46:16
【问题描述】:
我在 Github 上创建了一个项目。到目前为止,我使用了通常的方法,即创建一个特定的分支,进行一些特定的更改,将其推送到源并为上游 repo 创建拉取请求。
现在假设我创建了分支 B1 来修复代码中的问题并从中创建拉取请求。然后我想继续工作并添加一个新功能。所以我从 master 上的 B1 的同一点创建分支 B2。
我遇到的问题是,要使 B2 中的代码正常工作,我还需要从 B1 获得修复。如何在我的本地仓库中管理它,因为知道来自 B1 的拉取请求尚未集成到上游,因此我无法在分支 B2 之前从上游获取合并。
我清楚了吗:-)?
【问题讨论】:
-
你很清楚,我以前也遇到过这个问题。
git rebase是你的朋友。你可以做几件事:一是在 B1 之上创建 B2,在那里工作,一旦 B1 被合并到上游,你在上游之上 rebase B2。另一种选择是在上游开始您的分支,并将 B1 合并到其中。然后,一旦 B1 被合并到上游,您在新的上游更改之上执行交互式 rebase 并删除合并提交(git rerere是您的朋友,如果您采用第二种方法,请确保启用它)。 -
当然,如果您不介意带有大量合并提交的奇怪历史记录,则不必重新设置基准,只需合并您想要的任何分支。
标签: git github branch pull-request