如何通过PR删除commit的效果?

How to delete the effect of a commit via PR?

TL;DR: 我需要从 master 删除一个提交,这必须通过拉取请求来完成。这是怎么做到的?

master 上有一个提交需要删除,因为它提供的更改是错误的。由于分支策略,我无法将提交直接推送到 master。

我已经从 master 创建了一个分支并使用 git reset HEAD~1 删除了最新的提交。现在分支比较显示我的新分支落后 master 1 个提交,所以它不允许我创建拉取请求。

如何使用拉取请求从 master 删除提交?

您可以使用 git revert 还原现有提交并在新提交中记录更改。
参见 https://git-scm.com/docs/git-revert.html

您无法使用 Pull Request 重写历史,您将被阻止做导致强制推送的事情。

相反,您可以添加一个新的提交来恢复您想要删除的提交。

git revert sha-of-commit-to-get-rid-of

这应该会导致创建一个补偿提交,您可以将其推送到您的分支。将其与 Master 合并将撤消您不喜欢的提交中的更改。

如果你真的需要移除master的当前HEAD,你需要(临时的)force-push权限和绕过策略的权限。