gitlab从0到1合并代码分支,解决代码冲突问题

689 阅读2分钟
前言:
要求:创建新分支:dev-merge,在分支中合并主分支,并且解决代码冲突问题。
第一部分:创建分支,代码拉取
首先是在代码仓库中需要创建分支,在创建时,选择new branch,gitlab中会有branch name以及你创建的分支是根据哪个分支复刻而来;
创建完成之后,需要从gitlab中拉取代码,在vscode里使用命令:
git clone -b 分支名 地址(可以使用ssh,也可以使用http,建议使用ssh)
第二部分: 合并代码
合并代码,使用命令:
git merge origin/主分支名 (也可以使用git pull origin 主分支名)
如果在这里会出现报错,报错的原因是没有在vscode中初始化,与gitlab未建立链接;
    解决方案是git config --global user.email "you@example.com"
             git config --global user.name "you name"
    当初始化好之后,再次使用 git merge origin/主分支名 (也可以使用git pull origin 主分支名)即可
第三部分: 解决冲突
3.1 冲突产生原因
    多个分支代码合并到一个分支
    多个分支向同一个远端分支推送代码
出现这样问题的原因,主要是多个开发者同时使用或者操作了git中同一个文件
3.2 解决冲突
产生冲突之后,代码会如下情况:
    <<<< HEAD
        A写的代码
    =====
        B写的代码
    >>>>> 分支名
    
在这种情况下,有三种解决的办法:
第一:删除掉A的代码,保留b的代码
第二:删除掉B的代码,保留A的代码
第三:都保留,只需要删除掉<<< === >>> 即可

当修改完成之后,执行:
    git add 冲突文件名
    git commit -m "xxx"
    git push  //直接push就可以了,因为刚刚已经执行过相关merge操作了
    
3.3 撤销合并
如果处理冲突不到位,或者是想撤销了,输入 git reset --hard 命令即可,就会返回开始合并前的状态