如何从 GIT 恢复旧的拉取请求

Posted

技术标签:

【中文标题】如何从 GIT 恢复旧的拉取请求【英文标题】:How to revert an old Pull request from GIT 【发布时间】:2019-09-09 11:38:31 【问题描述】:

如果合并了一个 Pull 请求(例如 PR3),并且在这两个以上的 Pull 请求(例如 PR4、PR5 等)之上已经合并了对先前合并的 Pull 请求 PR3 中的同一文件进行更改,现在我想恢复拉取请求 PR3,但 Git 不允许我自动执行此操作并给出此错误。

抱歉,此拉取请求无法自动恢复。它可能已经被还原,或者内容可能在合并后发生了变化。

我应该如何恢复 PR3 拉取请求?

【问题讨论】:

如果你在GitHub,可以试试this.orthis 在 Github 中试过,给出了问题中提到的错误,并且 PR 包含很多提交,而不仅仅是一个。 那么 PR4 和 PR5 中的所有内容都是错误的吗?因为你已经在那里做了一些改变 不完全是,这些更改并没有错。这些可能是不同的方法/功能。 revert locally 【参考方案1】:

假设您可以创建一个包含所有内容的新分支。

然后在您的主分支中开始执行反向操作。

$ git revert --no-commit PR5
$ git revert --no-commit PR4
$ git revert --no-commit PR3
$ git commit -m "NO PRS"

然后在您的新分支中保存您需要的任何内容。并与您的主分支合并。

【讨论】:

以上是关于如何从 GIT 恢复旧的拉取请求的主要内容,如果未能解决你的问题,请参考以下文章

完全恢复拉取请求

还原合并的拉取请求

Git在拉取请求分支上恢复樱桃选择而不在主控上恢复

需要在 TFS git 中由 B 组审查 A 组的拉取请求吗?

竹子 - 构建我的拉取请求

通过拉取请求撤消合并?