Cornerstone使用备忘

Mac上最好用的SVN客户端,源码管理工具

破解版下载地址


SVN(Subversion)上的专业名词:

repository:仓库,贮藏室,SVN上的源码存储地址

working copy:工作副本,本地的源码备份地址

下图为连接SVN的参数:

Cornerstone使用备忘_第1张图片

下图为从repository下载到workingCopy:

Cornerstone使用备忘_第2张图片

下图为cornerstone操作页面:

Cornerstone使用备忘_第3张图片

revert:恢复到上一个版本 

update:获取SVN上最近的源码

commit:提交workingCopy上的代码(commit之前必须update)

merge:不同版本源码合并(下文会深入说明)

log:每个版本的change及提交时的文本说明

TimeLine:版本上传的时间轴(不常用)


注意事项1:增删资源文件时需要注意,先要在workingCopy进行增删 (删除文件夹必须在working copy上删除,不能在本地直接删除)

1:未增删状态

Cornerstone使用备忘_第4张图片

2:增删后的状态

Cornerstone使用备忘_第5张图片

注意事项2:额外增加了不需要的资源文件时,可直接remove不需要的资源文件

Cornerstone使用备忘_第6张图片

注意事项3:项目文件冲突,项目无法运行时,在下图project.pbxproj文件中改正冲突项

搜索关键字为:>>>> 或 mine

Cornerstone使用备忘_第7张图片
Cornerstone使用备忘_第8张图片
 

Tag  Branch  Trunk:

Trunk:主分支,用于新模块开发,当模块开发完成需要修改,就用Branch

Branch:分支,并行开发(针对于Trunk)主要用于修改Bug

Tag:作为milestone(里程碑),标记为发布版本,或可用版本,通常为只读(不可修改),一旦发现有Bug,建立branch分支

本质上:tag,branch都是copy 实际应用也没有什么不同,不过branch多是动态的,而tag是静态的(只读)


merge(合并)

Branch分支结束bugFix之后需要并入tag,或者trunk,这时候就需要使用merge

首先选择需要合并的分支:

Cornerstone使用备忘_第9张图片

选择BugFix后的分支:

Cornerstone使用备忘_第10张图片

merge change:

Cornerstone使用备忘_第11张图片

最后commit workingCopy, 完成整个合并流程

SVN中revert与update的区别

假设当前最新的版本是6,但是,最新的一次提交不是你想要的,也就是想把版本为6的修改干掉

下面来看看如何分辨用revert和update来实现。

1、使用revert

保证本地copy为最新版本,即版本6.

将本地copyrevert到版本5.

将本地copy commit。

2、使用update

将本地copy update到版本5.

这个时候是没办法直接提交的,因为你的修改不是在最新的版本(6)上进行的。

需要把版本5做个备份,然后check out版本6.

通过文件比较工具将版本6的本地copy修改为与版本5的本地copy一致。

然后将版本6的本地copy提交。

可见,revert与update的本质区别是,

revert是在本地copy原来版本的基础上进行的修改,若原来本地copy的版本为最新,可以直接commit;

update只是将本地copy更新到一个指定的版本,若更新到的不是最新版本,不能进行commit。

使用时遇到的坑

1:项目回滚指定版本:workingCopy项目  按shift - 右键文件夹 - 可以将项目回滚到指定版本

2:SVN缓存  命令:删除路径下.svn文件

sudo find /Users/justfly/Documents/workspace/justSVN/ -name ".svn" -exec rm -r {} \;

3:Relocate

如果服务器上改了原始的某个目录的路径,

3.1:首先新建REPOSITORIES,然后在WORKING COPIES上右键Relocate To,新建的目录,重新定位。,

3.2:当然也可以直接修改REPOSITORIES的URL,然后change WORKING COPIES上的定位

你可能感兴趣的:(Cornerstone使用备忘)