背景
上周五用gitlab合代码,出现了冲突,因为之前没遇到,所以这次也是第一次在gitlab上处理冲突,我以为只是正常的选我要剩下的代码就好了,点完确认之后,我人傻了,它先反向合到了我的源分支,然后又合向目标分支,导致我的源分支多了一次由目标分支合向源分支的commit记录!
旁边的同事告我是不可以把目标分支合到源分支的,因为目标分支有做适配容器化部署的改造,而源分支是不需要的!!!然后我就开始慌了!!
目标
因为发现的较早,赶紧叫大家先别提交代码,我需要先回退到正常状态,否则代码会越弄越乱的,虽然很平静的告诉大家我马上回退,但其实内心慌得一批,之前咱也没回退过啊,好慌,又赶上周五晚上,很是焦虑,那也没招,看博客慢慢搞呗
探索
看到网上大多有两种方法:reset和revert
由于reset的强制性可能会丢失记录,大多推荐用revert,我寻思那就revert呗,结果疯狂报错,各种拒绝,更慌了
楼下做了个核酸,回来后决定用reset
实现
实在没招了,决定用reset,下面说一下我的步骤:
- 由于怕代码提交记录丢失,稳妥起见,我先拉了个新分支,用来把现在出问题的源分支先备份一下,这样及时搞乱了,还能回到现在这个"错误状态"
- 然后就是用idea开始按照下图操作了,先把本地回退至之前版本
- 点完之后,发现本地代码已经回退到之前的提交上了