GitLab在IDEA中回滚主分支问题
作者:小楊同学的笔记本
GitLab IDEA中回滚主分支
首先切换到主分支,这里以图中ejob项目为例。
切换到主分支后,打开ejob项目的git历史记录。
例如
图中,从当前位置准备回滚到指定位置,右键选择Reset Current Branch to Here...
。(注意:操作前要确认代码有没有备份,其他分支或者本地有没有,别到时候回滚后,代码没了,没备份就难搞了)
点击后会出现一个弹窗,选择Hard
。只有选择hard才会删掉之前所有的记录。
点击Reset
后,就会发现git的历史记录,回滚位置之前的记录都不见了。
因为GitLab会保护主分支,如果我们直接push,是会出问题的,所以我们应该先关掉GitLab中,对ejob项目主分支的保护。
打开GitLab的ejob项目页面,选择Setting
。
然后选择Protected branches
,点击Unprotect
,就会把主分支的保护删除掉。(可以恢复,放心操作)
点击后,那条保护没了,说明操作成功。
因为当我们使用git的push操作时,git会默认pull把远程的内容拉取下来,所以我们需要通过命令git push -f
推到主分支,加上-f就push的时候就不会进行pull操作。但是由于IDEA的push是没有-f的操作,所以我们是需要通过命令来执行的。
然后回到IDEA中,打开底部Terminal窗口(直接打开项目的文件夹,右键点击Git Bash Here也是可以的),然后进入ejob项目的文件夹。
输入git push -f
提交。
然后我们就可以到GitLab的ejob项目主分支看历史记录,如果提交记录最新到我们现在的回滚位置,那么说明回滚成功。
然后我们再把主分支的保护开启。
选中master
后,点击Protect
恢复对主分支的保护。
到此为止,就完成对主分支的回滚。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。