Eclips GIT冲突解决

多人协作开发的情况下,往服务器推送更新时难免出现冲突,所以推送之前需要解决服务器端的最新版本和本地仓库的冲突。Pull操作就是把服务器端的更新拉拢到本地仓库进行合并,解决好合并冲突后,就可以顺利push到服务器分支了。
假设现在Mairo兄弟在用GIT协作开发NewSuperMairoBro游戏,目前服务器端的mushroom.java文件的内容如下:
[img]http://hi.csdn.net/attachment/201202/4/0_1328346684zy27.gif[/img]
MairoBro克隆出代码后,Mairo哥哥做了如下修改
[img]http://hi.csdn.net/attachment/201202/4/0_1328346687u0mm.gif[/img]
Mairo弟弟做了如下修改
[img]http://hi.csdn.net/attachment/201202/4/0_1328346689MxZZ.gif[/img]
然后Mairo弟弟先push代码,Mairo哥哥使用pull来合并本地仓库和远程仓库,将发行文件出现冲突,此时GIT会自动合并冲突的文件,如下图所示:
[img]http://hi.csdn.net/attachment/201202/4/0_1328346692XCnN.gif[/img]
[img]http://hi.csdn.net/attachment/201202/4/0_1328346695vKlr.gif[/img]
[img]http://hi.csdn.net/attachment/201202/4/0_1328346699BBna.gif[/img]
很明显自动合并的冲突文件不能直接使用,我们可以手动调整,右键发生冲突的文件,选择Team -> Merge Tool
[img]http://hi.csdn.net/attachment/201202/4/0_1328346702761R.gif[/img]
第一项是将GIT自动合并过的文件和服务器端文件进行对比
第二项是用本地最新版本的文件和服务器端文件进行对比,建议用此项
接下来就是熟悉的对比界面
[img]http://hi.csdn.net/attachment/201202/4/0_1328346705MmV1.gif[/img]
Mairo哥哥将冲突文件修改如下
[img]http://hi.csdn.net/attachment/201202/4/0_1328346708rY2R.gif[/img]
然后右键点击此冲突文件,选择Team -> Add to index再次将文件加入索引控制,此时文件已经不是冲突状态,并且可以进行提交并push到服务器端
[img]http://hi.csdn.net/attachment/201202/4/0_1328346711cX96.gif[/img]
解决合并冲突后,Mairo弟弟只需要将服务器中合并后的版本pull到本地,就完成了一次协作开发的代码合并。从历史记录中可以看到,从mushroom开始历史进入分支,先是mushroomA的记录,然后是mushroomB的记录,最后历史分支合并。
[img]http://hi.csdn.net/attachment/201202/4/0_1328346871dn4e.gif[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值