在 GitHub 上退出不良 PR 合并

Backing out bad PR merge on GitHub

我有一个 GitHub 回购,松散地 遵循 git-流程。有两个长期存在的分支:masterdevelopdevelop 前段时间被切断的两个功能分支(feature/onefeature/two)。为这两个合并回 develop.

创建了 PR

feature/one PR 中有垃圾代码,但我不小心将其合并到 develop 中,想将其撤消。我可以使用哪些特定命令来 "undo" 此 "junk PR" 合并?是否可以从 GitHub 内部完成这一切,还是我必须在本地进行还原,然后将其推送到 GitHub?

您仍然可以在此处使用 git revert,就像您对非合并提交一样,但您还必须指定要遵循的 parent:

git revert <SHA-1 of merge commit> -m 1

这将添加一个新的提交,该提交将在功能上撤消合并提交并将分支返回到第一个 parent。如果你想要第二个 parent,你可以使用 -m 2.

可能有一种方法可以直接从 GitHub UI 处理这个问题,但也可以在本地处理。