我做了一个 merge request
到我的分行 develop
在 gitlab 上。
然后我意识到我犯了一个巨大的错误。
我赶紧推了revert
按钮,我认为一切正常,但不是。
Gitlab 只做 revert
犯罪。在日志中仍然有来自源分支的提交。它会导致许多版本问题。有什么办法可以在 gitlab 平台上恢复单个 merge 请求并从许多不需要的提交中清除分支日志。我希望我的分支就像这个 merge 请求从来没有地方一样。
最佳答案
首先新建一个分支keepsafe
将所有这些更改保留在某处,以防万一您搞砸了。这将在本地“复制”当前状态并将其保存在 Remote 上。
git checkout -b keepsafe
git push
现在回去开发。
X
是您要删除的提交数。git checkout develop
git reset --hard HEAD~X
git push -f
将硬重置本地开发到原始提交。
git push -f
将覆盖远程分支。所有提交都将消失。请注意,GitLab 允许管理员禁用强制推送 (git push -f),因此如果这不起作用,您需要与管理员交谈。但是无论如何你应该这样做。
关于git - 如何撤消 merge 请求及其提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53739019/