繁体   English   中英

从主分支恢复合并的拉取请求

[英]Revert a merged pull request from master branch

我不小心merged拉取请求从我的功能分支合并到master分支,这是我不应该的。 我正在使用gogs 我无法使用还原按钮,因为没有任何功能可用。 在我的拉取请求之前,我如何将主分支恢复到 position 以便主分支将再次干净。

主分支也受到保护,提交只能通过拉取请求推送。 所以git push -f对我不起作用。

我读过其他问题,但它们是关于特定事件的。 我不知道我怎么能做到这一点。

如果您在错误合并后没有添加任何其他提交,我建议您依赖命令行,如下所示:

git checkout master
git pull

git log --oneline --graph --decorate # Write down the hash of the last good commit

git reset --hard {{last-good-commit-hash}}

# Review your commits, and if it all right...

git push --force # Rewrite branch history, be carefully!!!

我以前也遇到过同样的问题。 转到您想要恢复的提交并点击 Gogs 中的恢复按钮是您应该做的。

如果这不起作用:每个带有 Git 的提交都有一个提交 hash 连接到它。 这应该列在 Gogs 页面上的提交历史中。 应该有一个按钮可以轻松复制任何 hash,因此您不必输入它。 如果您可以使用命令行控制台,则可以使用“git revert [code]”,其中代码是链接到先前提交的提交 hash。 之后,“git push”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM