Git携带来自已合并PR的旧提交消息

时间:2019-07-12 20:04:15

标签: git github git-branch git-merge pull-request

我有一个分支,我将其用于合并的PR1,然后我做了git pull origin master,并与master合并。我现在正在使用同一分支来提交另一个PR-PR2,但意识到它承载了来自PR1的提交消息。我应该如何清除这些消息?

1 个答案:

答案 0 :(得分:2)

通常,分支合并后请勿重用。每个功能使用一个分支:feature branches。分支合并后,请删除该分支,然后为下一个PR创建一个新分支。

您不想在旧分支上重做新提交。我们可以用git rebase master来解决这个问题。运作方式如下。

您有一个分支,其中包含一些提交。

A - B - C [master]
         \
          D - E [feature]

已合并。

A - B - C ------ F [master]
         \     /
          D - E [feature]

现在,您已经向同一分支添加了更多提交。

A - B - C ------ F [master]
         \     /
          D - E - G - H [feature]

我们想要一个仅包含新提交G和H的分支。有多种方法可以实现此目的。最简单的是git rebase master。这将在当前master的顶部重播分支的提交。

A - B - C ------ F [master]
         \     /  \
          D - E    G1 - H1 [feature]

git rebase将认识到master已包含D和E的内容,因此将其跳过。 G和H将在master顶部重播,并赋予新的提交ID,此处以G1和H1表示。

现在,您可以按feature作为新的PR,只有G1和H1出现。合并后,请务必删除该分支,并使用一个新的PR。

相关问题