• Git冲突和解决冲突


    1.产生冲突原因

    产生:多个开发者同时使用或者操作git中的同一个文件,最后在依次提交commit和推送push的时候,第一个操作的是可以正常提交的,而之后的开发者想要执行pull(拉)和pull(推)操作的时候,就会报冲突异常conflict

    解决:保留自己修改的数据,同时保留别人的数据信息;同时pull代码之前,需要手动解决冲突之后再作提交。

    2.冲突的演示

    1)d:磁盘下创建三个目录

    将”git_repository”文件夹设置成git版本控制系统

    uer1user2文件夹作为两个不同的客户端,并在该目录创建相同的文件名称test.txt但内容不同。

     

    2)User1文件夹下的操作

    第一步,在test.txt文件同级空白处鼠标右击选择 tortoisGit --> pull

    第二步,在test.txt文件同级空白处鼠标右击选择 Git-commit --提交 -- 发布

    以上操作,可以操作成功。

    3)user2文件加下的操作

    test.txt文件同级空白处鼠标右击选择 tortoisGit --> pull,此时会产生异常,具体信息如下:

     

    异常描述:对以下文件的本地更改将被合并覆盖

    3.冲突的解决

    1)直接修改文件

    第一步,选择test.txt文件鼠标右击选择 Git-commit --提交到user2的本地仓库

    第二部,在test.txt文件同级空白处鼠标右击选择 tortoisGit --> pull,文件发生该边。

    直接修改文件中数据,将特殊符号删除,如图所示:

     

    保存文件:

    <<<<<<< HEAD
    是指你本地的分支的
    ============
    本地待提交的commit代码
    >>>>>>>> 39645e0443a07957dae

    第三步,选择test.txt文件鼠标右击选择 Git Commit --> 提交 -- >push 发布。

    2)通过edit conflicts修改

    选中test.txt文件,右击菜单选项 tortoiseGit --> Edit conflict

     

    修改编辑区:将Theirs- 或者 Local-中需要的数据添加到Meged中。

     

    保存时 标记冲突解决

     

    通过以上操作,可以实现简单的git的冲突和冲突的解决方式。

  • 相关阅读:
    Fedora13下真正能用的源(2015-5-16亲测)
    Shellcoding教程:介绍ASM(译)
    Shellcoding教程:介绍ASM
    ubuntu解决pppoeconf和network-manager冲突时,可能问题的解决方法
    vue_router-link传参
    js_window.postMessage往不同窗口里面发送数据
    iframe_iframe引入其它页面
    css_去掉默认样式
    vue_常用组件install
    js_正则表达式
  • 原文地址:https://www.cnblogs.com/blogslee/p/6828659.html
Copyright © 2020-2023  润新知