GitLab 解决冲突

这几天老大生病休假了,代码合到测试分支,没有冲突还好能够本身在gitlab上merge掉,有冲突的时候老是要找大佬帮忙解决冲突,然而大佬们也老是很忙的,思量下仍是本身亲自动手(闲话:原则上测试分支的合并权限各位开发同事们都是有的,但考虑到部分同事合代码出现过岔子,因此如今通常不支持在有冲突的时候本身私自解决冲突)
但我这种激情满满的小年轻怎么会甘愿如此呢,总要多踩过几回坑才会走平路的嘛!
如今解决冲突都是本身动手了,作个笔记记录一下吧。git

  1. 戳进本身的合并请求里,若是合并存在冲突都会有“检出分支”的按钮,点开能够看到是一些解决冲突的步骤,先看一眼web

  2. 在咱们的本地新建一个文件夹专门用来放主干分支的代码,具体看你要把代码合到哪一个分支上,此处个人主干分支为测试分支。
    这样测试分支的代码就被咱们整个拿下来了。编辑器

  3. 进到项目里层,像往常那样GitBash打开终端,这个时候就能够挪用gitlab检出分支提供的操做了。
    在这里插入图片描述前三步直接执行,重点就在执行完这三步后咱们须要在本地解决代码冲突。解决冲突自己我想你们都会的吧,我平时用的开发软件是vscode,冲突代码一目了然,选择须要留下的部分保存便可。这个时候咱们add、commit都没问题,惟独是push不上去了,会提示请签出一个分支进行推送。以前我就卡在这里。。奈何百度也么有解决方案,最后仍是请教了老大才明白其中原因。
    在这里插入图片描述这里没有例子,我就随便截图示范一下。上图终端上红框圈出的是项目当前的分支名,而在本地解决完冲突也就是走完那三步之后,红框中显示的并非分支名,而是一串数字字符串,目测应该是commitid吧,显然这样是推不上去的。svg

  4. 其实这个时候咱们checkout到测试分支(主干分支)就能够了 ,而后再走一遍第三步的最后一行命令,编辑器中会再次出现刚才的冲突,这个时候再解决一次冲突(跟第一次同样)就能够上送代码了!gitlab

    只要操做过几回解决冲突其实就会驾轻就熟,重要的是在解决冲突的时候要了解项目的总体状况,不要一味保留本身的代码而干掉别人的代码,形成项目错乱就很差了。测试分支都是如此,生产分支更要当心谨慎。辛苦有权限的大大们啦~