zoukankan      html  css  js  c++  java
  • Git使用系列07-->分支合并时的冲突解决

    前言

            再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达。
            要开始学习,就要趁早行动啦~
    

    一、分支合并冲突的场景

    • 该篇博客是 https://www.cnblogs.com/dream66/p/12792950.html 的后续,有需要的读者可以看前一篇
    • 当分支切换到dev分支,修改一个文件并提交,然后切换到master分支,再对同一个文件进行修改并提交,此时合并时会产生冲突

    二、分支合并冲突现象实例

    为了方便读者理解,新建立一个仓库,然后按如下操作:

    1. 手动新增一个 test01.py 文件,内容为print('test01')
    2. 使用 git add * 、git commit -m “第一次提交” 进行提交
    3. 使用命令 git checkout -b dev 创建并切换到分支dev
    4. 对 test01.py 文件进行修改,添加一行内容为print('dev')并提交到版本库
    5. 使用命令 git checkout master
    6. 对 test01.py 文件进行修改,添加一行内容为print('master')并提交到版本库
    7. 使用git merge dev,把dev分支合并到master主干分支上


    如上图所示,上面操作git无法执行"快速合并",只能试图把各自的修改合并起来,但这种合并就可能会有冲突。
    冲突原因:master分支和dev分支各自都分别有新的提交,并且编辑了同一个文件。
    此时提交后的 test01.py 文件内容如下:

    上图说明:<<<<<<< HEAD 下面表示主分支做的修改,======= 表示分割线,>>>>>>> dev 上面表示dev分支做的修改。

    三、分支合并冲突解决

    1. 对test01.py文件进行编辑,把<<<<<<< HEAD、=======、>>>>>>> dev去掉,并由自己选择需要保存的内容;
    2. 使用git add * 、git commit -m “冲突解决” 提交到版本库。

  • 相关阅读:
    POJ 2352 &amp;&amp; HDU 1541 Stars (树状数组)
    SSH三大框架的工作原理及流程
    稀疏表示
    Linux程序设计学习笔记----多线程编程线程同步机制之相互排斥量(锁)与读写锁
    [面经] 南京SAP面试(上)
    JAVA数组的定义及用法
    花指令
    计算机认证考试种类
    《C语言编写 学生成绩管理系统》
    spice for openstack
  • 原文地址:https://www.cnblogs.com/dream66/p/12940846.html
Copyright © 2011-2022 走看看