【问题标题】:Pull request reverted拉取请求已还原
【发布时间】:2018-06-22 00:08:31
【问题描述】:

在我的存储库中,有一个拉取请求(183,来自分支 A)我错误地合并(在 github 的页面中)。我在同一时刻注意到了,所以我按下了 github 页面上的按钮revert,它生成了另一个拉取请求,以我的名义,id:184(分支Revert-A)。所以认为它会解决问题,我接受了我的 PR。

但是,A 分支正在验证中,可能很快就会与主分支原样集成。所以,我试图重新打开 PR,选择分支 A 并打开一个新的 PR。但是我收到了消息:

没有什么可比较的。

可能是因为分支A 上的所有更改都已经在主分支的历史记录中,而Revert-A 不仅撤消了我的合并,还创建了一个新的提交来撤消在分支A 上所做的事情。

我想知道如何才能撤消我的错误。我应该重新设置分支A 并尝试创建一个新的 PR 吗?或者也许尝试重置头部?最好的选择是什么(或者至少可以真正解决我的烂摊子)?

【问题讨论】:

    标签: git github merge rebase revert


    【解决方案1】:

    当您还原时,它会创建您要还原的那个的“反”提交。当您接受183 时,它会将更改推送到主分支。您现在还需要推送 184 以恢复这些更改。然后,您可以为您的 PR 的恢复创建另一个恢复。如果您只是尝试再次提交183,那将不起作用,因为主分支会看到提交(正确地)已经存在,只是稍后会被恢复。

    在主分支上变基或重置头部通常不是好的做法,因为当他们尝试获取远程时,它会扰乱任何人的本地存储库。

    【讨论】:

    • 那么,你认为,当验证完成后,我应该恢复我的revert PR?但是,如果验证失败,需要在分支A 中添加其他内容怎么办?
    • @LeonardoAlvesMachado 是的,如果您想要原始更改的 PR,您应该创建一个 PR 来还原还原。如果原始提交通过验证,那么第一次还原应该没有问题。如果 revert-revert 有问题,那么您将需要另一个提交。如果在 183 之上发生了不属于您的更改,而现在验证失败,您也可以恢复这些更改,然后也恢复它们。抱歉,我意识到这很难用提交历史来解释。
    • 这有点令人困惑,但我明白了 :) 非常感谢。如果可行,我会接受你的回答。
    猜你喜欢
    • 2021-12-18
    • 2021-10-13
    • 2021-10-13
    • 1970-01-01
    • 2017-11-11
    • 2021-08-27
    • 2016-12-11
    • 2021-12-26
    相关资源
    最近更新 更多