iOS mac下的SVN工具:Cornerstone的使用
一、 Cornerstone下载地址
http://pan.baidu.com/s/1kTEbK6F 提取密码:mmms
二、 添加repository SVN配置
点击左侧栏中repository一栏的 + 选择添加repository。
若刚给的repository地址是SVN://开头,则选择SVNServer;若为Http://或https://开头,则选择HTTP Server。
①:填写主机地址;
②:如果你的主机地址中有端口号,如192.168.1.111:8080,则填8080;
③:填写主机后面的路径
④~⑤:自动生成;
⑥~⑦:用户名、密码。
三、 Cornerstone使用简介
1. 上传项目
可以直接拖动到repository的子文件夹,或是选择软件上方的Import按钮上传,会弹出选项填写所在位置及名称,然后选取Import即可。
2. 下载项目
下载分为两种:Export和Check Out,区别在于,Export后的项目不会与repository中的源文件相关联,是一个独立的版本,而Check Out下来的文件会创建一个working copy,参见步骤三的第一幅图,此文件与库中源文件相关联,当有新版本(他人修改)或是本地修改(自己修改)时,working copy会显示修改数量,白色数量为他人修改数量,灰色数量为本人修改数量。
3. 更新提交添加删除
checkout下来的项目可以update更新、commit提交。
更改文件:Working Copy后,所改文件后面会出现“M”的标记,如想提交更改的代码,需先Update 再Commit。
添加文件:添加文件后面会出现“A”的标记,如想提交,需先讲新常见的文件Add to Working Copy,再Commit。
删除文件:如在本地删除了文件,会出现“D”红色标记,可Revert-DiscardChangees撤销删除,若想真正删除,可在Working Copy 选中文件右键删除。
4. 版本管理
每一次提交会创建一个新版本,在repository中会保存所有历史版本,如下图(可通过修改人及提交信息进行检索版本),所以用svn开发可以很好的控制项目出现不可解决及未知bug时代码的修复问题。
四、 注意
1. 先更新后提交
在看到有新版本(即同伴已经提交代码时),先更新代码,直至working copy不再显示白色圈,然后运行代码确定可运行且功能无误之后再commit自己的代码,否则,会造成项目中出现多处冲突或bug,且很难排查原因。
2. 完成独立功能后再提交,务必填写提交信息
每完成一个独立的功能,或解决一个bug之后再提交代码,不要连续多次重复提交,造成版本过多过杂,且提交时务必填写提交信息,交代本次完成了什么功能,方便上图中可以进行message的搜索来查看历史版本。
3. 冲突文件
①.原则上同一组开发人员最好不要在同一文件中进行操作,但有时候必须去其他文件中进行操作,或者是误操作,如果同时多人在同一文件的同一位置修改代码,后提交的人会出现版本冲突文件,一般会有三个同样名称不同后缀的文件;
②..mine文件为本人所作修改;
③.两个.rOXX文件:XX为数字,数字较小的为更改前的文件,较大的为更改后的文件,在文件中会有<<<< mine .r0XX >>>>>等字样包含起来的代码,即冲突的地方,此时请和组内同事讨论或自己删除某部分修改文件后进行调试,修复文件;
④.出现某个工程或文件打不开的情况,如果为.project文件无法打开,则选择显示包内容->用文稿打开project.pbxproj文件->搜索.mine,将.mine部分前后<<<<>>>>包含起来的代码删除,工程就可以打开了,如果build时出现某个xib文件打不开的错误,则选中,用文稿打开,跟上文同样操作即可解决无法build的问题。
4. 新添加文件
提交时新增加的文件显示为问号状态的,请选中右击后 选择Add to Working Copy之后再commit 。
五、 冲突解决
1、冲突:冲突产生的运饮食更改了同一行或者同一段代码。如下图:同时更改了AppDelegate里面的22行代码
Update后出现“C”标记冲突。
此时需要进行沟通,谁的代码是正确的,保留谁的代码,还是两个代码都保留。
配置文件冲突
2、配置文件冲突
此时说明配置文件冲突了,需要选中工程文件右键,选择显示包内容,如下图:
然后在Cornerstone中做如下操作:
六、 Command line tool
1、defaultswrite com.apple.finder AppleShowAllFiles -bool true 然后重启Finder ---------------mac文件的隐藏。
2、sudo find/Users/mac名称/Documents/workspace/文件夹/ -name ".svn" -exec rm -r {} \; ----------------删除文件夹svn记录信息