Git冲突和解决冲突

转自https://www.cnblogs.com/blogslee/p/6828659.htmlhtml


1.产生冲突缘由git

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

解决:保留本身修改的数据,同时保留别人的数据信息。版本控制

2.冲突的演示htm

先拉后推blog

1)d:\磁盘下建立三个目录开发

 

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

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

 

2)User1文件夹下的操做im

第一步,在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,文件发生该边。

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

 

保存文件

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

2)经过edit conflicts修改

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

 

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

 

保存时 标记冲突解决

 

经过以上操做,能够实现简单的git的冲突和冲突的解决方式。