从 FB 分支后,让 GitHub PR 只显示 FB 和 master 之间的差异



我们有以下情况:

master ------A          X------------Y
        /           /
      /           /
    /           /
--B-           / 
          /
C---------D

Jane 在 A 处创建了一个 FB,然后在 X 处合并回去。

Bob 在 B 处创建了 FB C,做了一些工作,再次从 master 中拉出,并在 D 处创建了一个 PR 以合并回 Y。

在 GitHub 中,Jane 的 PR 正确只显示了 A 和 X 之间的变化,并被合并回 master。

在 GitHub 中,Bob 的 PR 显示了A和 Y 之间的所有变化,这不是我们预期的。 我们认为,因为 Bob 从 X 合并到他在 D 的 FB 中,他的 PR 只会包括他的分支和X之间的更改,这就是他的分支和主分支之间的当前差异。

我们错过了一些明显的东西吗?

尝试以交互方式重新定位您feature branch corigin/masterforce push到您的feature branch c

  1. 更新本地存储库:

    git fetch
    
  2. 切换到功能分支 C:

    git checkout feature-branch-c
    
  3. 在源/主节点上运行交互式变基:

    git rebase -i origin/master
    

系统将提示您更改历史记录,请注意;):

pick 2feec74 message1
pick 2xxxx m2
pick 2xxxx m3
pick xxxx m4

这将包含您在 github PR 中看到的相同提交。现在,您可以通过在它们前面加上如下d来简单地删除不需要的提交:

pick 2feec74 message1
d 2xxxx m2  (The commit you want to drop)
d 2xxxx m3  (The commit you want to drop)
pick xxxx m4

保存您的文件,现在您可以再次推送,但您需要使用标志-f,因为您已经更改了历史记录。

git push -f

最新更新