转自: https://www.cnblogs.com/yyyyyyyyqs/p/7552528.html
前言
这里只介绍使用CornerStone来使用SVN。
CornerStone是Mac OS X系统下非常好用的一款svn工具,当然还有Versions也是可以用的,但是使用起来不如CornerStone好用。
声明:CornerStone是收费,如果是公司需要使用到,建议让公司购买软件使用版权,支持正版。本人所用的是公司购买了使用权的版本。当然网上也是有破解版本的。
对于想要破解版本的,大家可以百度一下,有很多下载的。
1、安装之前将本机日期改为未来的某个日期,然后双击安装,按照指定流程操作即可
2、如果安装前忘记改日期,则只能通过修改plist的方式进行破解
a.显示系统隐藏文件,打开终端,输入,回车
defaults write ~/Library/Preferences/com.apple.finder AppleShowAllFiles -booltrue
b.重启Finder 按住Command+Option+esc打开对话框,选中Finder,点击重新开启
c.在Finder中前往~/Library/Preferences/ByHost,找到其中的GlobalPreferences.…….plist文件,删掉包含有”com.zennaware.Cornerstone”字样的这一行,即清除了安装记录
d.清除安装记录之后,如果这时电脑中没有CornerStone,则按照1步骤进行安装,如果已经安装,则卸载后按照1过程再次安装,即得到永久破解版
点击左侧栏中REPOSITORY那一栏的+加号选择添加repository:
如果你公司的给你的repository地址为svn://开头,则选择SVN Server。如果为Http://或https://开头,则选择HTTP Server
假设公司给你的svn地址为:svn://192.168.1.2/svn/ios,用户名:huangyibiao,密码:123456:
1.填写Server这一栏,即主机地址:192.168.1.2
2.填写Port端口号,当然有时候是不需要填写的,使用默认的就可以了
3.填写Repository path:这是远端仓库的访问路径,对于这里就是/svn/ios
4.填写好之后,会自动生成。如果你填写完之后不是这种svn://username@host:port/RepositoryPath格式,则说明填写有误
5.输入用户名
6.输入密码
与svn server一样,只有一个地方需要注意,如果地址是https://,则需修改Protocol选项为HTTPS,否则也会添加失败。
1.上传项目到远端仓库repository
可以直接将文件或者文件夹拖到repository的子文件夹中,或是选择软件上方的Import按钮上传,会弹出选项填写所在位置及名称,然后选择Import即可。
2.导出Export
点击Export导出项目,导出的项目是与当前的svn中的源文件没有关联,外部修改导出的项目,不会影响到原来的项目。
3.切分支Checkout
Check Out下来的文件会创建一个working copy,此文件与库中源文件相关联,当有新版本(他人修改)或是本地修改(自己修改)时,working copy会显示修改数量,白色数量为他人修改数量,灰色数量为本人修改数量。所以如果你是项目中的开发人员,可以选择check out,如果只是下载查看,不希望自己的修改影响到整个项目,最好是选择Export
4.版本管理
每一次提交会创建一个新版本,在repository中会保存所有历史版本,可通过修改人及提交信息进行检索版本,所以用svn开发可以很好的控制项目出现不可解决及未知bug时代码的修复问题:
svn方便了多人开发同一项目的代码合并问题,但是也有一些事项需要注意:
1.先更新后提交
在看到有新版本(即同伴已经提交代码时),先更新代码,直至working copy不再显示白色圈,然后运行代码确定可运行且功能无误之后再commit自己的代码,否则,会造成项目中出现多处冲突或bug,且很难排查原因
2.完成独立功能后再提交,且认真填写提交信息
每完成一个独立的功能,或解决一个bug之后再提交代码,不要连续多次重复提交,造成版本过多过杂,且提交时务必填写提交信息,交代本次完成了什么功能,方便通过message的搜索来查看历史版本
3.冲突文件
原则上同一组开发人员最好不要在同一文件中进行操作,但有时候必须去其他文件中进行操作,或者是误操作,如果同时多人在同一文件的同一位置修改代码,后提交的人会出现版本冲突文件,一般会有三个同样名称不同后缀的文件
4..mine文件:本人所做修改
两个.r0XX文件:XX为数字,数字较小的为更改前的文件,较大的为更改后的文件,在文件中会有<<<< mine .r0XX和>>>>>等字样包含起来的代码,即冲突的地方,此时请和组内同事讨论或自己删除某部分修改文件后进行调试,修复文件
5.对于新添加文件
提交时新增加的文件显示为问号(?)状态的,请选中右击后 选择Add to Working Copy之后再commit
6.svn中简写含义。
A:add,新增
C:conflict,冲突
D:delete,删除
M:modify,本地已经修改
G:modify and merGed,本地文件修改并且和服务器的进行合并
U:update,从服务器更新
R:replace,从服务器替换
I:ignored,忽略
针对ios项目:出现某个工程或文件打不开的情况,如果为.project文件无法打开,则选择:
显示包内容->用文稿打开project.pbxproj文件->搜索.mine,将.mine部分前后<<<< >>>>包含起来的代码删除,工程就可以打开了,如果build时出现某个xib文件打不开的错误,则选中,用文稿打开,跟上文同样操作即可解决无法build的问题
IOS开发中,SVN如何恢复到某一个版本(以Cornerstone为例)
http://blog.csdn.net/yuedong56/article/details/21524557
Cornerstone是mac操作系统上一款比较流行的SVN版本管理工具。
如何恢复到某一版本呢?
1。选中你要恢复的工程
2.点击“Working Copy”--->>"Revert..."。
3. 选择你要恢复的版本号,然后点击“Revert”。
4. 提示你当前工程有一些修改,但是还没提交,"Discard XXX"-点击后当前修改的内容会被取消,“Copy XXX”-点击会会先复制一份代码到废纸篓。
5. 点击 “Discard XXX”后,本地工程已更新至选择的版本,如果想将服务器上的也更新到选择的版本,可以再commit。