github - 如何在 GitHub 上恢复拉取请求提交

标签 github git-revert

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

有没有办法在 GitHub 上做到这一点?或者我可以用一些 rebase 命令来完成终端吗?

最佳答案

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

git checkout your_branch
git revert <hash of merge commit> -m 1
git push origin your_branch

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

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

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

关于github - 如何在 GitHub 上恢复拉取请求提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53634416/

相关文章:

git - 如何在 GitHub 上将公共(public)仓库切换为私有(private)仓库,反之亦然?

git - merge 到master后自动删除git分支

git - 恢复不在当前分支中的 git 提交

git - 在 GIT 推送上接收电子邮件

python - 如何使用 PyGithub 将图像文件上传到 Github?

git - 如何使用 .gitattributes 让 Github 显示正确的 repo 主要语言?

git - 如何修复错误 merge 中的历史记录

GIT:如何在恢复 merge 后从分支中提取更改

git - 我如何吹走我解决 git 冲突的尝试

git - 正确地将 git merge 提交恢复到原点