美文网首页
git合并冲突

git合并冲突

作者: 12313凯皇 | 来源:发表于2019-04-07 10:39 被阅读0次

     本文通过一个小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
    

    相关文章

      网友评论

          本文标题:git合并冲突

          本文链接:https://www.haomeiwen.com/subject/ftqplqtx.html