从github还原了一个pull请求,但是两个分支都没有显示出差异

时间:2018-03-20 13:56:52

标签: github pull-request git-revert

我已按照本文https://help.github.com/articles/reverting-a-pull-request/恢复了GitHub的拉取请求。现在,即使在我比较两个分支后回复它也显示相同。我怎样才能再次提出拉动请求?

这就是我做的事情

  1. 我将 prod_bug_fix 分支的拉取请求发送到发布/ 13.0.0 ,然后转到github并合并。
  2. 然后我按照上面的文章并取消了拉取请求。现在我认为发布/ 13.0.0代码将在我提出拉取请求之前恢复。
  3. 我尝试再次从prod_bug_fix提出拉取请求到发布/ 13.0.0,但它说"没有什么可比较的。" 。但我可以看到两个分支之间存在代码差异。
  4. 我做错了什么以及如何将release / 13.0.0发布到与以前相同的状态?

2 个答案:

答案 0 :(得分:1)

这个答案有点晚了,但我自己遇到了这个问题,最后发现还原行为很奇怪,因为被还原的原始提交仍然在历史中,所以当你去创建一个新的 PR 时,它仍然认为它在那里,所以你在做差异时看不到区别。 This StackOverflow 的回答提供了有关它的更多详细信息。

答案 1 :(得分:0)

由于您还原的合并将始终保留在历史记录中,因此您需要在提交新 PR 之前将该合并重放至 prod_bug_fix

首先,通过检查prod_bug_fix并执行git merge **release/13.0.0**(这可能是一个简单的快进合并)来更新它。

现在假设您恢复的合并具有哈希 abc123;您可以使用 git cherry-pick -m 1 abc123prod_bug_fix 上重播该合并的所有更改。 -m 1 告诉 git“重播对合并的第一个父级 (release/13.0.0) 所做的更改,而不是对第二个父级 ( prod_bug_fix)。完成此操作后,从 prod_bug_fixrelease/13.0.0 的 PR 将按预期工作。