我不小心将请求从我的功能分支 merged
拉入 master
分支,这是我不应该的。我正在使用 gogs
。我无法使用还原按钮,因为没有任何功能可用。如何将 master 恢复到 pull request 之前的位置,以便 master 分支再次干净。
主分支也受到保护,提交只能通过拉取请求推送。所以 git push -f
对我不起作用。
我已阅读其他问题,但它们与特定事件有关。我不知道如何才能做到这一点。
答案 0 :(得分:0)
如果您在错误合并后没有添加任何其他提交,我建议您依赖命令行,如下所示:
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!!!
答案 1 :(得分:0)
我以前也遇到过同样的问题。转到您想要还原的提交并点击 Gogs 中的还原按钮是您应该做的。
如果这不起作用:使用 Git 进行的每次提交都有一个与之相连的提交哈希。这应该列在 Gogs 页面上的提交历史记录中。应该有一个按钮可以轻松复制任何散列,因此您不必输入它。如果您可以使用命令行控制台,则可以使用“git revert [code]”,其中代码是链接到较早提交的提交哈希。之后,“git push”。