SourceTree使用教程(四)---冲突解决

 虽然在团队协作开发中强调尽量避免操作同一文件,以避免冲突,但是在实际开发中还是会遇到冲突,所以掌握解决冲突的方法必不可少。

方法/步骤

 
  1. 1

    解决冲突就要先制造冲突,冲突一般是由于两个人同时修改同一文件而造成的。在GitHub上修改远程仓库文件模拟一个人操作,sourceTree本地修改同一文件模拟另一个人操作。

    SourceTree使用教程(四)---冲突解决
  2. 2

    登录GitHub ,打开GitTest,编辑test1.txt文件

    SourceTree使用教程(四)---冲突解决
  3. 3

    在文件末尾增加 内容 code conclick1,点击提交。如下图所示。

    SourceTree使用教程(四)---冲突解决
    SourceTree使用教程(四)---冲突解决
  4. 4

    打开本地工作副本的test1.txt文件,新增内容code conclick2,如下图:

    SourceTree使用教程(四)---冲突解决
  5.  

    打开sourceTree,可以看到本地工作副本有个待提交记录。

    SourceTree使用教程(四)---冲突解决
  6.  

    推送代码。这个时候你修改完了本地的功能,并不知道远程仓库上也有人提交了该文件的修改。直接推送本地修改,推送本地工作副本到远程仓库,运行完成后会报错,大概是提示本地仓库和远程仓库版本不一致,无法提交,但是本地工作副本的修改却是已经提交到了本地仓库。如下图。

    SourceTree使用教程(四)---冲突解决
    SourceTree使用教程(四)---冲突解决
  7.  

    既然提示 和远程仓库版本不一致,无法推送,那只能先拉成一致了。点击拉取图标,等执行完,就会出现下图所示。有一个待拉取的图标和一个待推送的图标,并且test1.txt文件的图标变成了黄色的感叹号。这个时候文件的冲突就造成了。

    SourceTree使用教程(四)---冲突解决
  8.  

    冲突文件会把两者的修改以冲突的方式合在一个文件里,等待使用者去处理。那么基本的处理思想是:要么使用其中某一个人的,要么使用两者的组合。

    冲突的解决需要一个外部代码对比工具,我这里使用的是Beyond Compare 4,大家可以自己百度下载安装,然后集成到sourceTree软件中。如下图。在外部对比工具中找到Beyond Compare 4的可执行程序,点击确定。

    SourceTree使用教程(四)---冲突解决
  9.  

    下面开始使用代码对比工具解决冲突,选中待解决冲突的代码,右键 解决冲突,打开外部合并工具。

    SourceTree使用教程(四)---冲突解决
  10.  

    等待一会,Beyond Compare 4就会被打开。第一块是本地修改的版本,第二块是冲突两者(本地仓库和远程仓库)相同的版本基准,第三块是 远程仓库的修改。第四块是冲突处理后的代码。

    SourceTree使用教程(四)---冲突解决
  11.  

    本次解决冲突是为了合并两者的修改,所以我会把第一块和第三块所做的修改按照正确的逻辑顺序,合到第四块。如下图,点击保存。关闭该对比软件。

    SourceTree使用教程(四)---冲突解决
  12.  

    切到sourceTree界面,可以看到多了一个解决冲突的中间文件,由于冲突已解决,直接右键移除,

    SourceTree使用教程(四)---冲突解决
  13.  

    可以看到冲突已解决,代码已正确合并。推送该合并。

    SourceTree使用教程(四)---冲突解决
  14.  

    这样冲突就被解决了,可以看到本地工作副本和远程仓库的代码都是一致的了。

    SourceTree使用教程(四)---冲突解决
     
posted @   dreamw  阅读(1242)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示