首页 > 解决方案 > 无论进行什么合并,Github 上的分支都无法达到奇偶校验

问题描述

我在 Github 上有两个分支,一个主分支和一个暂存分支。

暂存当前是主要提交之前的一个提交。

我创建了一个 PR,将基本分支设置为 main,并看到它将向 main 添加一个提交。我点击合并。

现在,当我检查 main 时,我看到 main 是在 staging 之前的一次提交。似乎合并添加了两个提交,而不仅仅是一个。

无论我是使用合并还是变基和合并,都会发生这种情况。有没有办法让这两个分支在 Github 本身上实现平等?我知道我可以强制推送到主分支,或者使用 CLI,但是主分支受到严重的分支保护,所以我想避免禁用这些保护。

标签: gitgithub

解决方案


在涉及 PR(拉取请求)的正常工作流程下,不可能避免这种情况。

请记住,PR不是 Git 功能。Git 不以任何方式支持它们。Git 想要的是每次推送都应该是远程服务器上的快进。Git 认为推送永远不应该在服务器上进行合并提交。

PR 完全颠覆了这一点。他们确实在服务器上进行了合并提交(Git 认为这应该是不可能的)。当您“点击合并”时,这正是您所说的!好吧,那个合并提交是一个新的提交,所以在PR 完成并且分支被合并之后,服务器上的分支必然会领先于本地。

变基不会改变这一点。事实上,它可能会添加多个提交,使您的本地更加落后。


推荐阅读