SVN是一個非常好的源碼管理工具,現在Mac 版SVN 常用的有Cornerstone 和 SnailSVN .
這篇文章詳細的介紹Cornerstone的安裝和以及應用(本文的Cornerstone版本是4.1 )。
Cornerstone 是收費軟鍵,這裏提供一個破解版 ,安裝後需要輸入安裝密碼:www.ifunmac.com
鏈接:https://pan.baidu.com/s/1LqY2s8vEJAQ9JJhvcBwu7w
密碼:lfi3
1.下載輸入密碼安裝,和其他程序一樣,一直點擊Next
2.進入Cornerstone後,點擊Add Repository ,創建一個倉庫
3.如果你的SVN服務器經過Apache映射,選擇Http Server,如果沒有,則選擇SVN Server。這裏我選擇http Server。(如果你們是前後端分離,恰好後臺人員不好交流,你可以兩個都嘗試一下,總有一個是成功的)
Protocol:協議:Https或者Http
Server:SVN服務器的地址 (例如:198.168.1.1)
Port: 服務器端口,有則填,沒有不填. (例如:8010)
Path:SVN的路徑。 (例如:svn/iOS/xxx/xxx/)
Title:倉庫名 (隨意取,舊版本的Cornerstone叫Nickname)
Name:用戶名 (後臺給你開的一個賬號,保證有上傳權限)
Password:密碼
都填好後,點擊Add。
4.點擊Add後,即創建倉庫成功。不過有時候系統會提示:證書未被驗證(如下圖所示)
cornerstone can't verify the identity of the server “112.124.106.141”(cornerstone不能驗證“112.124.106.141”的服務器身份)
the certificate for this server was signed by an unknown certifying authority (此服務器的證書由未知的認證機構簽署)
因爲我們用的是破解版,證書當然不被認同。我們點擊“show Certificate”看證書詳情,然後勾選“Always trustxxxx”,始終信任該證書即可,然後直接點擊Continue (Continue成功後,在鑰匙串裏可以看到證書)
5.這樣我們就創建了一個倉庫,到這一步安裝算是完成了,接下來是應用:
簡單介紹幾個常用的命令按鈕:
Import: 上傳一個項目到倉庫
Export : 拉取代碼到本地. (通常項目組長review代碼,只是下載查看,不修改整個項目,選Export)
Check out : 拉取代碼到本地 (程序員每天拉取下來編程)
Update:更新
commit:提交
通常使用順序是:
1. 上傳: import 代碼到倉庫
2.拉取:先update更新代碼,再check out到本地
3.提交:先update更新代碼,然後本地運行代碼,確保沒有錯誤後,再commit 代碼。
6.先講 Import 代碼。
6.1. 上傳代碼之前,得先對Cornerstore進行一些配置:Cornerstone-->Preferences-->Subversion
在Use default global ignores 裏把 .a文件的標籤刪除掉 (假使你的項目使用到第三方,必定有.a文件,Cornerstone默認不會上傳.a文件,刪除掉就會上傳啦),如果你的項目還有別的文件不能被提交,對照Use default global ignores 裏的標籤刪除掉
6.2 選擇你要存放代碼的路徑(通常放在主幹 trunk 文件下),右鍵-->import,選擇要上傳的代碼,導入;靜候進度條走完,即import成功。
import 的成功後,點擊存放代碼的路徑,會看到cornerstone上多一個 .git文件
7.拉取 check up。 選擇cornerstone上的文件,點擊check up,選擇拉取的地址,靜候進度條走完,即check up成功。
Save As :你要拉取的 文件名
Tag:標記,可不標記
Where:存放拉取下來的文件的地址
8.check up 到本地後,就可以編寫代碼。
編寫完代碼,會發現cornerstone 上對應的文件後有 “M”標誌,反之,查看代碼之時,有“M”標誌的文件表示被改過了
編寫完代碼,先update,運行一次,確認代碼無誤後,commit 提交。
錯誤集錦:
1.check up 了別人的代碼到本地-->運行-->出現錯誤:no such file or directory:/users/xx/xx/xxx.a
出現這個問題的原因就是上面第6步講的,上傳(import)代碼的人沒有把.a標籤刪除,導致.a文件import不上來
解決這個問題,需要叫import的人照着第6步的方法,把.a標籤刪除後,重新import一份代碼。