Github Merge pull请求以某种方式重写了历史

时间:2015-09-15 19:57:43

标签: git github merge git-branch git-history-graph

在我的工作场所,我们首先创建一个分支,在我们的Github repo中为该分支创建一个pull请求,然后有人查看它并点击" Merge pull request"来提交代码。这是一个非常标准的工作流程。

通常当我们点击"合并拉取请求" Github创建了一个名为"来自branchname"的合并拉取请求#1234的新提交。与2个父母 - 主人的HEAD,以及公关的最新承诺。

今天我合并了PR正常,不知何故Github决定使用主人的HEAD,而不是使用一天之前使用提交的父母之一(我们每天做20到30次提交)。它使用的提交是PR分支基于的提交。这导致主分支丢失了从那时到此PR合并之间的所有提交。

有谁知道这怎么可能发生?这是Github的错误吗?或者提交PR的开发人员做了哪些事情可能会覆盖主人?我认为所有提交都将简单地合并到master中,而不会在Github中重写或重写历史记录。

1 个答案:

答案 0 :(得分:0)

我联系了Github并且事实证明有人因为最新版本的git在强行推动时强制推送主人和你的分支而被强制推向掌握。我们也没有启用Githubs受保护的分支(https://github.com/blog/2051-protected-branches-and-required-status-checks),尽管我们现在这样做是为了防止这种情况发生。