美文网首页iOS Developer编程学习
iOS开发使用SVN_解决冲突

iOS开发使用SVN_解决冲突

作者: 天海相接 | 来源:发表于2016-11-06 17:27 被阅读2646次

    推荐:

    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   被删除了。以修改过的冲突文件最为最新版本的文件。

    相关文章

      网友评论

        本文标题:iOS开发使用SVN_解决冲突

        本文链接:https://www.haomeiwen.com/subject/vthnuttx.html