giz*_*zyk 5 git git-merge git-revert gitlab
我在 gitlab 上merge request对我的分支做了一个develop。然后我意识到我犯了一个巨大的错误。我迅速按下revert按钮,我觉得一切都好,其实不是。Gitlab 只revert进行了提交。在日志中仍然有来自源分支的提交。它会导致许多版本问题。是否有任何解决方案可以在 gitlab 平台上恢复单个合并请求并从许多不需要的提交中清除分支日志。我希望我的分支就像这个合并请求从来没有地方一样。
首先创建一个新分支,keepsafe将所有这些更改保留在某处,以防万一您搞砸了。这将在本地“复制”当前状态并将其保存在远程上。
git checkout -b keepsafe
git push
Run Code Online (Sandbox Code Playgroud)
现在回去开发。X是您想要删除的提交数。
git checkout develop
git reset --hard HEAD~X
git push -f
Run Code Online (Sandbox Code Playgroud)
会将本地开发硬重置为原始提交。git push -f将覆盖远程分支。所有提交都将消失。
请注意,GitLab 允许管理员禁用强制推送 (git push -f),因此如果这不起作用,您需要与管理员联系。