git - 从 master 分支恢复 merge 的 pull 请求

标签 git github gitlab gogs

我不小心将请求从我的功能分支 merge master分支,这是我不应该的。我正在使用 gogs 。我无法使用恢复按钮,因为没有任何可用功能。我怎样才能将主分支恢复到 pull 请求之前的位置,以便主分支再次干净。

主分支也受到保护,提交只能通过 pull 请求推送。所以 git push -f 不适合我。

我读过其他问题,但它们是关于特定事件的。我不知道如何才能实现这一目标。

最佳答案

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

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!!!

关于git - 从 master 分支恢复 merge 的 pull 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67987019/

相关文章:

git - 为什么 git fetch 不起作用

dns - GitLab Pages 自定义域允许 www

docker - Gitlab-runner docker 执行器

jenkins - Gitlab 和 HTML 文档

混帐 'fatal: No such ref: HEAD'

Git worktree prune - 它有什么作用?

git - 为什么 git stash 创建两个提交

git - Visual Studio 不会撤消我的 git 更改

github - 如何从GitHub删除分支?

ruby-on-rails - 杰基尔 3.7.3 |错误 : No source of timezone data could be found