GIT代码冲突解决方案,两种方案详细教程

方法一:先pull 再进行commit

       此种方法当工作区文件和远程仓库文件有冲突时不能完成pull的,需要先备份工作区文件,恢复文件与远程服务器一致,才能完成pull,然后将本地修改添加进去,commit–push.这种操作修改文件较多时非常麻烦. 
1.1  远程仓库文件与工作区文件冲突无法完成pull ,远程仓库文件: 

è¿éåå¾çæè¿°

工作区文件: 

è¿éåå¾çæè¿°

1.2 此时工作区文件未进行commit操作 ,pull结果如图: 

è¿éåå¾çæè¿°

1.3  此时需要恢复工作区文件至未修改前版本 
 è¿éåå¾çæè¿°
1.4  然后进行pull 结果如图 

 è¿éåå¾çæè¿°

1.5  将修改部分重新加入 commit push 即可; 


方法二:commit—pull 


      此方法是将工作区文件先进行commit,再执行pull,此时当远程仓库文件与本地仓库文件冲突会进行自动合并,自己的修改也会保留,使用mergetool 进行操作处理,重新commit文件即可.这种方法不用在本地修改,重新恢复添加比较省时省力. 

2.1  保存(save)本地工作区修改的代码,根据业务需求来修改,然后保存相关代码
2.2 提交(commit)到本地服务器仓库,进行commit动作,切记是提交到本地服务器仓库
2.3  拉取(pull)远程服务器仓库的代码, 如图:pull成功,但是自动合并,文件显示冲突 

è¿éåå¾çæè¿°

2.4 合并(MerageTool)本地服务器仓库和远程服务器仓库代码Merge Toll工具处理 

2.4.1 选择冲突文件,右键"team",选择“merge tool”,打开的视图中可以查看到修改的对比。

è¿éåå¾çæè¿°
 

2.5 添加到暂存区(Add to Index),  将每个冲突文件修改为正确的,然后每个文件右键"team",选择“Add to Index”,可以看到该文件变成黑色的*号图标

2.6 提交(commit)到本地服务器仓库,千万不能提交到远程服务器仓库

2.7 删除(remove)不需要更新的文件,在同步窗口 (Synchronize),主要是调试的相关文档

2.8 推送(push)到远程服务器仓库 


解决冲突流程

1、工程->Team->同步:

 2、从远程pull至本地,就会出现如下内容:

 3、使用Merge Tool,执行第二项,使用HEAD合并后的效果,再手动修改

 4、修改后的文件需要添加到git index中去:

 5、冲突文件变为修改图标样式,再提交至本地,此时的提交便是merge合并:

 6、此时需要pull的向下箭头和数量没了,注意图标的变化:

 7、现在可以直接push到远程了:

 8   此时configure->save and push一步步执行冲突就搞定了。
 


解决冲突参考方法-网址