CornerStone是Mac OS X系统下非常好用的一款svn工具,使用简单方便,那么就说一下CornerStone的简单使用吧。
一、下载地址和破解方法这里我就不描述了,直接讲述使用方法。
1.添加repository
点击左侧栏中repository中的“+”号如图:
2.HTTP配置
找到地址中的项目。这里提示一下:如果公司给的repository地址是svn://开头的话就要选择svn server,如果是http或者https开头的话就要选择http server,如下图:
- Protocol选择,如果是地址中是http开头的话这一项要选择HTTP,如果是HTTPS开头的话需要选择HTTPS,否则会失败。然后填写主机地址。
- 地址中如果有端口的话填写端口,没有的话则不必填写。
- 填写地址后面的路径。
- 自动生成,如果你填写完之后不是这种svn://用户名@主机地址:端口号/路径的格式,则说明填写有误。
- Nickname可以不填。
- 用户名和密码必须填写,否则没有权限。
3.SVN配置
与http配置相同,配置相关信息即可,如下图:
二、使用简介
1.上传项目到repository
根据上面的配置成功后,Cornerstone中能看到相关的项目,此时你可以选择checkout代码,也可以上传新的项目,在右边的任何一个位置,选择右键——>import导入本地的相关项目到SVN服务器上即可,如下图:
2.下载项目
下载分为两种:Export和Check Out,区别在于,Export后的项目不会与repository中的源文件相关联,是一个独立的版本,而Check Out下来的文件会创建一个working copy,此文件与库中源文件相关联,当有新版本(他人修改)或是本地修改(自己修改)时,working copy会显示修改数量,白色数量为他人修改数量,灰色数量为本人修改数量。
所以如果你是项目中的开发人员,可以选择check out,如果只是下载查看,不希望自己的修改影响到整个项目,最好是选择Export 。
3.版本管理
每一次提交会创建一个新版本,在repository中会保存所有历史版本,如下图(可通过修改人及提交信息进行检索版本),所以用svn开发可以很好的控制项目出现不可解决及未知bug时代码的修复问题 。点击主页面中右下角的log即可看到版本更新的日志。
4.可见,SVN对于开发者来说版本管理是十分方便的,但是SVN也存在一些注意事项。
每次提交前要先更新后提交。
在看到有新版本(即同伴已经提交代码时),先更新代码,直至working copy不再显示白色圈,然后运行代码确定可运行且功能无误之后再commit自己的代码,否则,会造成项目中出现多处冲突或bug,且很难排查原因。完成独立功能后再提交,且务必填写提交信息 。
每完成一个独立的功能,或解决一个bug之后再提交代码,不要连续多次重复提交,造成版本过多过杂,且提交时务必填写提交信息,交代本次完成了什么功能,方便上图中可以进行message的搜索来查看历史版本**冲突文件 **
原则上同一组开发人员最好不要在同一文件中进行操作,但有时候必须去其他文件中进行操作,或者是误操作,如果同时多人在同一文件的同一位置修改代码,后提交的人会出现版本冲突文件,一般会有三个同样名称不同后缀的文件.mine文件:本人所做修改两个.r0XX文件:XX为数字,数字较小的为更改前的文件,较大的为更改后的文件,在文件中会有<<<< mine .r0XX >>>>>等字样包含起来的代码,即冲突的地方,此时请和组内同事讨论或自己删除某部分修改文件后进行调试,修复文件。针对ios项目:出现某个工程或文件打不开的情况,如果为.project文件无法打开,则选择显示包内容->用文稿打开project.pbxproj文件->搜索.mine,将.mine部分前后<<<< >>>>包含起来的代码删除,工程就可以打开了,如果build时出现某个xib文件打不开的错误,则选中,用文稿打开,跟上文同样操作即可解决无法build的问题。新添加文件
提交时新增加的文件显示为问号状态的,请选中右击后 选择Add to Working Copy之后再commit 。
其实使用SVN好久了,但是一直没有记录下来使用的技巧,最近想写博客记录自己的成长过程,以后还会继续更新其他新的iOS内容,希望对大家有所帮助。有疑问欢迎大家提出来一起成长,谢谢!