莫问 发表于 2018-1-12 23:07:09

Git冲突和解决冲突

  1.产生冲突原因
  产生:多个开发者同时使用或者操作git中的同一个文件,最后在依次提交和push的时候,第一个操作的是可以正常提交的,而之后的开发者想要执行pull(拉)和pull(push)操作的时候,就会报冲突异常conflict。
  解决:保留自己修改的数据,同时保留别人的数据信息。
  2.冲突的演示
  先拉后推
  1)在d:\磁盘下创建三个目录
  将”git_rhttps://images2015.cnblogs.com/blog/1128526/201705/1128526-20170509003710551-684142627.pngepository”文件夹设置成git版本控制系统
  将uer1、user2文件夹作为两个不同的客户端,并在该目录创建相同的文件名称test.txt但内容不同。
https://images2015.cnblogs.com/blog/1128526/201705/1128526-20170509003726301-99487828.png
  2)User1文件夹下的操作
  第一步,在test.txt文件同级空白处鼠标右击选择 tortoisGit --> pull
  第二步,在test.txt文件同级空白处鼠标右击选择 Git-commit --提交 -- 发布
  以上操作,可以操作成功。
  3)user2文件加下的操作
  在test.txt文件同级空白处鼠标右击选择 tortoisGit --> pull,此时会产生异常,具体信息如下:
https://images2015.cnblogs.com/blog/1128526/201705/1128526-20170509003733457-1999258209.png
  异常描述:对以下文件的本地更改将被合并覆盖
  3.冲突的解决
  1)直接修改文件
  第一步,选择test.txt文件鼠标右击选择 Git-commit --提交到user2的本地仓库
  第二部,在test.txt文件同级空白处鼠标右击选择 tortoisGit --> pull,文件发生该边。
  直接修改文件中数据,将特殊符号删除,如图所示:
https://images2015.cnblogs.com/blog/1128526/201705/1128526-20170509003808394-3279555.png
  保存文件
  第三步,选择test.txt文件鼠标右击选择 Git Commit --> 提交 -- >push 发布。
  2)通过edit conflicts修改
  选中test.txt文件,右击菜单选项 tortoiseGit --> Edit conflict
https://images2015.cnblogs.com/blog/1128526/201705/1128526-20170509003824113-1872132501.png
  修改编辑区:将Theirs- 或者 Local-中需要的数据添加到Meged中。
https://images2015.cnblogs.com/blog/1128526/201705/1128526-20170509003839113-889285740.png
  保存时 标记冲突解决
https://images2015.cnblogs.com/blog/1128526/201705/1128526-20170509003846519-1639704885.png
  通过以上操作,可以实现简单的git的冲突和冲突的解决方式。
页: [1]
查看完整版本: Git冲突和解决冲突