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.本地服務器重新鏈接遠程服務器