SVN-客户端-Cornerstone
2016-04-14 本文已影响4174人
帅哥_刷哥
1.Cornerstone远程仓库配置
2.Cornerstone工作界面
3.下载项目
选中远程仓库,点击下载checkout,下载到本地即可.
4.更新项目
选中本地仓库,点击更新update即可.
5.创建tag
1.选中远程仓库中的trunk目录
2.点击tag创建tag即可
6.创建分支branch
分支可以通过tag去开,也可以直接从trunk中去开.
7.合并
使用merge,用于分支版本合并到主版本,解决完冲突之后,提交即可。
8.项目提交commit
注意:
1.在提交项目时,文件必须要提交完整
2.提交的代码必须是可编译运行的代码,不能报错。
8.1什么是提交完整了。
8.2提交out of date
本地代码版本号与服务器当前最新版本号不一致导致
8.3文件冲突没有修改完不允许提交
只要项目中有冲突文件,那么再提交项目的时候是不允许提交的,必须修改完成,才能提交.
9.新文件加入SVN管理 add
项目中新增的文件或者文件夹都必须要add加入到SVN管理,才能提交.
1.新建的文件
2.新添加的图片
3.新导入的资源等
10.文件与文件夹状态
10.1位置
10.2未添加
10.3新添加并且未提交到服务器
10.4文件被修改
10.5文件被删除
只有提交到过服务器的文件删除才会显示这样的标识,新添加的文件删除就会被直接删除.
10.6文件冲突
10.7文件被替换
10.8文件夹下有被改动的文件
11.忽略文件
1.Xcode缓存文件忽略
注意:不要删除xcuserdata文件夹.只需要删除内部文件即可.
忽略文件设置一次即可.其它的小组成员只需要更新就可以了.也就是一次忽略,处处忽略.
11.1设置.a库不被忽略
12.冲突
在Cornerstone中冲突会用红色的C表示。
当文件冲突后,文件中会默认增加三个文件。
.mine 表示自己当前的代码
.r14 表示14版本的代码
.r16 表示16版本的代码,一般高版本的就是服务器上的最新代码.
12.1文件冲突解决
1.打开冲突文件 .m文件或者.n文件
2.搜索 === 会找到这么一组数据
<<<<<<< .mine
Person *p = [[Person alloc] init];
p.name = @"张三";
NSLog(@"%@",p);
=======
Person *person = [Person new];
NSLog(@"%d",person);
>>>>>>> .r16
3.解析
<<<<<<< .mine 到 ======= 是自己的代码
======= 到 >>>>>>> .r16 是服务器最新代码
4.解决,需要和r16版本的人一起解决冲突问题.
4.1如果两份代码都要保留,就删除 <<<<<<< .mine , ======= , >>>>>>> .r16 即可
4.2如果只需要保留一份,那么需要删除 <<<<<<< .mine , ======= , >>>>>>> .r16
和 两个人配合整理逻辑即可.
5.冲突解决完之后,需要对冲突文件resolve即可.
12.2project.pbxproj配置文件冲突
1.project.pbxproj 是Xcode记录文件位置和引用的文件,这个文件不可以忽略.
2.project.pbxproj 也是我们冲突特别高的文件.
3.引发冲突的原因:
当A往项目中添加一个文件.那么Xcode会默认修改这个project.pbxproj文件.
当B往项目中添加一个文件..那么Xcode也会默认修改这个project.pbxproj文件.
由于两个人的Xcode都修改了这个文件那么当两个人提交就会发生冲突.
4.解决方式:
打开project.pbxproj文件,删除里面所有的 <<<<<<< .mine , ======= , >>>>>>> .r16 即可.
注意:其它的不要动,就删这些即可.
特别注意:
当project.pbxproj文件冲突的时候,应用就打不开.所以当应用打不开的时候,就第一时间来查看这个文件是否已经冲突了.
解决方式:
12.3无法checkout
checkout的目录下已经有了一个同名的文件夹,所以修改下载时的文件夹名称或者修改下载路径即可.
12.3.1bug显示
12.4无法更新
因为SVN服务器的地址已经发生了变化,所以无法连接
解决方式:更换连接的服务器SVN地址
12.4.1bug显示
12.4.2.修改远程服务器路径:
12.4.3.本地服务器重新链接远程服务器