• 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 “冲突解决” 提交到版本库。

  • 相关阅读:
    098实战 Job的调度
    maven在windows下的安装
    Map的知识点梳理(不包含collections工具类)
    001 LRU-缓存淘汰算法
    Android渲染机制和丢帧分析
    Android性能优化典范
    正确使用Android性能分析工具——TraceView
    android View 绘制完成监听
    那些年我们用过的显示性能指标
    view, surfaceView, invalidate, postInvalidate, 刷新屏幕
  • 原文地址:https://www.cnblogs.com/dream66/p/12940846.html
Copyright © 2020-2023  润新知