git合并冲突

2019-04-07  本文已影响0人  12313凯皇

 本文通过一个小demo来讲解怎么合并冲突。假设现在A和B两个准备共同制作一个网页,A写header和footer部分,B写主要的body部分,那么他们各自完成后自己的制作后就需要合并代码了。下面开始步入正题。 直入主题传送门

一、前期准备

 在开始干活之前首先得把环境准备好,首先如果是Windows用户得先安装git,百度一下教程一大堆,这里就略过了。其次得其中一个人先创建好一个仓库并搭好主题,在本实例中就是只创建一个空的html即可。如图,代码仓库:

代码仓库
index.html:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
    </body>
</html>

至此,主题搭建完毕,两个开发者只用clone下仓库然后各自完成自己的任务即可。

二、合并代码,解决冲突 <b id="code"></b>

 假设A先完成了任务了:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <div class="header">...</div>  <!--A所做任务-->

        <div class="footer">...</div>  <!--A所做任务-->
    </body>
</html>

 然后上传到了代码仓库中,
 然后B完成的他的代码,但是他的代码是这样的:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <div class="main">...</div>  <!--B所做任务-->
    </body>
</html>

这时B使用push命令上传时就会报错:


意思就是有文件冲突了,需要git pull origin master 拉取最新的代码,然后git status查看冲突的文件

可以看到,是index.html冲突了,那么打开该文件:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <<<<<<< HEAD
        <div class="main">...</div>  <!--B所做任务-->
=======

        <div class="header">...</div>  <!--A所做任务-->
>>>>>>> 3817f42f40396727d50225eef2349a14ca568d9b

            <div class="footer">...</div>  <!--A所做任务-->
    </body>
</html>

其中看到通过====号将代码分成了两个部分,其中第一部分是B做的修改,第二部分是A做的修改,所以这时只需将他们的代码何在一起即可:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        

        <div class="header">...</div>  <!--A所做任务-->
        
        <div class="main">...</div>  <!--B所做任务-->
        
        <div class="footer">...</div>  <!--A所做任务-->
    </body>
</html>

此时重新上传一遍即可

总结

#拉取最新版本
git pull origin debug
#合并冲突
#重新提交
git add .
git commit -m ""
git push origin debug

#合并分支
git merge origin debug
上一篇 下一篇

猜你喜欢

热点阅读