iOS开发使用SVN_解决冲突

2017-01-14 10:02:22来源:http://www.jianshu.com/p/21a27de05194作者:天海相接人点击

第七城市

推荐:

Mac安装SVN:http://www.jianshu.com/p/a27849bde1d3  作者:HonglingHe

推荐完成。

进入文章主题

在多人共同开发APP时,如果两个人同时修改某行代码,没有执行更新(svn update)就上传代码(svn commit),会出现冲突。

举例说明冲突产生情况,假设有两名开发者

开发者A  账号:cgg    密码:cgg123

开发者B  账号:sxm    密码:sxm123


开发者A修改了"viewcontroller.m"文件第一行://添加ABC;  然后上传代码(svn commit)

开发者B修改了"viewcontroller.m"文件第一行://上传了其他字符串;然后上传代码(svn commit);

这时开发者B的终端就会显示:




第一行上传命令,最后一行错误信息
模拟开发者B解决冲突

在终端,cd 到目标文件下,更新代码:




svn update

然后就会显示:




在此界面可以选择解决问题的方案

输入p:稍后解决,容开发者和开发者B商量,商量完怎么解决后面讲;

输入df:显示不同之处;

输入e:编辑文件;

输入mc,选择开发者B的代码作为最新版本;

输入tc:选择开发者A的代码作为最新版本;

输入s:显示所有选项


如果一时无法决定选择开发者A或者开发者B的代码作为最新版本而输入p之后,接下来怎么办呢?

解决冲突第二阶段

输入p之后。打开本地代码文件夹,会发现多了三个文件:ViewController.m.mine、ViewController.m.r6、ViewController.m.r7。如下图:




多了三个文件

.m.mine 是仿开发者A编辑的冲突文件

.m.r6 是仿开发者A、开发者B为编辑之前的冲突文件

.m.r7 是仿开发者B编辑的冲突文件

通过以上三个文件可以了解三者之间的区别。

然后,打开冲突文件“ViewController.m”。发现代码变成这样:




都能看出来这是什么意思吧

然后修改正这样:




这就是最终要上传的代码

修改完后,保存关闭。

在终端




svn resolved working 冲突文件路径

冲突到此解决

原来出现的三个文件.m.mine  、 .m.r6  、 .m.r7   被删除了。以修改过的冲突文件最为最新版本的文件。




第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台