如何恢复 GitHub 上的拉取请求提交

D. *_*ett 6 github git-revert

我正在尝试恢复我在 GitHub 上的最新提交。我浏览过的所有信息都表明拉取请求中应该有一个恢复按钮,但我没有看到它,也找不到它。

无论如何,在 GitHub 上可以做到这一点吗?或者我可以使用一些 rebase 命令来完成终端操作吗?

Tim*_*sen 11

假设此拉取请求合并是提交合并(这是我所期望的),那么您可以在 Git bash 中尝试以下操作:

git checkout your_branch
git revert <hash of merge commit> -m 1
git push origin your_branch
Run Code Online (Sandbox Code Playgroud)

此解决方案假设您想要恢复到进行拉取请求合并的分支。如果您想跟随传入分支,请-m 2改为使用。

要查找合并提交的 SHA-1 哈希值,您可以使用git log,然后复制第一个提交的哈希值,该哈希值应该出现在顶部。

请注意,取消合并提交然后进行强制推送通常是一个坏主意。它不好的原因是你的分支发布在 GitHub 上。这意味着重写该分支的历史记录可能会给除您之外恰好共享该分支的任何人带来问题。