這里只介紹使用CornerStone來使用SVN。
CornerStone是Mac OS X系統下非常好用的一款svn工具,當然還有Versions也是可以用的,但是使用起來不如CornerStone好用。
聲明:CornerStone是收費,如果是公司需要使用到,建議讓公司購買軟件使用版權,支持正版。本人所用的是公司購買了使用權的版本。當然網上也是有破解版本的。
對於想要破解版本的,大家可以百度一下,有很多下載的。
軟件界面

添加倉庫
點擊左側欄中REPOSITORY那一欄的+加號選擇添加repository:

如果你公司的給你的repository地址為svn://開頭,則選擇SVN Server。如果為Http://或https://開頭,則選擇HTTP Server
SVN Server配置
假設公司給你的svn地址為:svn://192.168.1.2/svn/ios,用戶名:huangyibiao,密碼:123456:
- 填寫
Server這一欄,即主機地址:192.168.1.2 - 填寫
Port端口號,當然有時候是不需要填寫的,使用默認的就可以了 - 填寫
Repository path:這是遠端倉庫的訪問路徑,對於這里就是/svn/ios - 填寫好之后,會自動生成。如果你填寫完之后不是這種
svn://username@host:port/RepositoryPath格式,則說明填寫有誤 - 輸入用戶名
- 輸入密碼
HTTP Server配置
與svn server一樣,只有一個地方需要注意,如果地址是https://,則需修改Protocol選項為HTTPS,否則也會添加失敗。
基本使用
- 上傳項目到遠端倉庫
repository
可以直接將文件或者文件夾拖到repository的子文件夾中,或是選擇軟件上方的Import按鈕上傳,會彈出選項填寫所在位置及名稱,然后選擇Import即可。
- 導出
Export
點擊Export導出項目,導出的項目是與當前的svn中的源文件沒有關聯,外部修改導出的項目,不會影響到原來的項目。
- 切分支
Checkout
Check Out下來的文件會創建一個working copy,此文件與庫中源文件相關聯,當有新版本(他人修改)或是本地修改(自己修改)時,working copy會顯示修改數量,白色數量為他人修改數量,灰色數量為本人修改數量。所以如果你是項目中的開發人員,可以選擇check out,如果只是下載查看,不希望自己的修改影響到整個項目,最好是選擇Export
- 版本管理
每一次提交會創建一個新版本,在repository中會保存所有歷史版本,可通過修改人及提交信息進行檢索版本,所以用svn開發可以很好的控制項目出現不可解決及未知bug時代碼的修復問題:
注意事項
svn方便了多人開發同一項目的代碼合並問題,但是也有一些事項需要注意:
- 先更新后提交
在看到有新版本(即同伴已經提交代碼時),先更新代碼,直至working copy不再顯示白色圈,然后運行代碼確定可運行且功能無誤之后再commit自己的代碼,否則,會造成項目中出現多處沖突或bug,且很難排查原因
- 完成獨立功能后再提交,且認真填寫提交信息
每完成一個獨立的功能,或解決一個bug之后再提交代碼,不要連續多次重復提交,造成版本過多過雜,且提交時務必填寫提交信息,交代本次完成了什么功能,方便通過message的搜索來查看歷史版本
- 沖突文件
原則上同一組開發人員最好不要在同一文件中進行操作,但有時候必須去其他文件中進行操作,或者是誤操作,如果同時多人在同一文件的同一位置修改代碼,后提交的人會出現版本沖突文件,一般會有三個同樣名稱不同后綴的文件
.mine文件:本人所做修改
兩個.r0XX文件:XX為數字,數字較小的為更改前的文件,較大的為更改后的文件,在文件中會有<<<< mine .r0XX和>>>>>等字樣包含起來的代碼,即沖突的地方,此時請和組內同事討論或自己刪除某部分修改文件后進行調試,修復文件
- 對於新添加文件
提交時新增加的文件顯示為問號(?)狀態的,請選中右擊后 選擇Add to Working Copy之后再commit
ios使用SVN
針對ios項目:出現某個工程或文件打不開的情況,如果為.project文件無法打開,則選擇:
|
1
2
3
|
顯示包內容->用文稿打開`project.pbxproj`文件->搜索`.mine`,將`.mine`部分前后`<<<
|
