Cornerstone是專門為Mac用戶設計的Subversion的控制,無論你是哪個版本,或者一個Subversion的測試版,Cornerstone將有助于簡化工作流程,使版本控制更加透明.cornerstone根Xcode相比,能夠更好的忽略文件,所以除了項目經理第一次初始化項目的時候需要用到cornerstone,其他時候用Xcode的source control的命令就可以進行源碼的update和commit。
Cornerstone Mac 安裝
破解版下載地址
軟件版本:Cornerstone 3.0.3
安裝環境:macOS Sierra 10.12.4
軟件安裝過程比較簡單,不說明。
問題:
安裝后打開出現“Cornerstone.app 已損壞,打不開。您應該將它移到廢紙簍。”
解決:
在安全性與隱私中打開任何來源就解決了。但是,在安全性與隱私中并沒有打開任何來源這一選項。原來是10.12 后需要手動開啟任何來源。開啟方式如下:
打開終端 ( 終端在 應用程序 - 實用工具內 )
sudo spctl –master-disable
會出現 Password: 這個提示, 你這個時候要輸入你的賬戶的密碼, 如果沒有密碼需要到系統偏好設置 - 賬戶 - 設置密碼. 不可以是空的密碼.
然后你輸入密碼的的時候會發現光標不動 , 這是正常的, 實際上已經輸入進入了, 輸入完成后回車即可生效. 然后你重啟電腦就會出現任何來源的選項了. (也不用重啟電腦,重啟設置即可)
SVN基本操作:
下載服務器代碼、修改本地代碼、提交本地代碼
常見操作:
svn checkout:將服務器代碼完整的下載到本地
svn commit:將本地修改的內容提交到服務器
svn update:將服務器最新代碼下載到本地
注意:
1.Checkout只需要做一次!
提醒:
每天下班前:commit“可運行版本”
每天上班前:update前一天所有代碼
在Mac上,可以利用SVN圖形界面工具來管理源代碼,可以大大減小使用命令行的痛苦(有些操作使用命令行會比較繁瑣,比如解決沖突)
Cornerstone / Versions / Xcode
安裝完cornerstone后,雙擊進入cornerstone圖形化界面:
上圖中“遠程svn服務器倉庫”其實是和svn服務器建立連接后的一個映射。
接下來,項目經理需要先把服務器完整的目錄下載到本地,然后初始化項目。
1.連接倉庫:
2.連接成功:
3.點擊“Checkout”,下載倉庫所有的內容(本例中是指下載遠程倉庫的目錄結構):
4.此時,“本地svn目錄”下已經有了遠程svn服務器test倉庫的所有內容(code文件夾和doc文件夾):
---------------------------------------------------項目經理初始化項目 --------------------------------------------------
1.用Xcode創建一個項目,把項目添加到code文件夾下:
2.默認項目創建好后,所有相關文件的狀態都變為了A(Add),代表已經在svn管理之下,但是未提交到svn服務器。
cornerstone上的本地目錄(working copies)已經有了項目文件:
然而,此時遠程代碼倉庫仍然沒有代碼,下一步需要commit本地代碼到遠程代碼倉庫。
cocornerstone界面刷新服務器代碼倉庫快捷鍵:command + r
3.提交本地代碼到遠程倉庫:
方法一:用Xcode commit:
方法二:用cornerstone commit:
一般,初始化項目的時候,第一次commit項目,不在Xcode中提交項目,因為,
除了默認的需要忽略的文件,還需要手動的忽略一些不需要上傳到svn服務器代碼倉庫共享的文件,Xcode做不到這一點。cornerstone能夠幫助項目經理手動忽略一些文件,所以,此處我們用cornerstone演示怎么手動忽略不需要上傳的文件。
cornerstone會自動幫我們識別,哪些文件不需要提交,哪些需要提交。
4.添加注釋,提交初始化項目到服務器(不需要改變勾選項,cornerstone默認會忽略不需要上傳的文件)
5.查看遠程倉庫是否已經有了被commit的項目:
當然,被commit成功的文件,其在Xcode中的A(Add)標記也會消失:
6.此時,初始化項目工作還沒有完成,還需要手動忽略一些cornerstone么有幫助我們忽略的文件
需要忽略的文件如下:
7.先delete需要忽略的文件夾:
delete之后:
8.再commit一次該項目(因為在delete之前,我們已經commit過一次項目,所以需要再次commit刪除了文件夾后的項目,更新遠程倉庫,使之保持同步)。PS:一般commit不成功,會報錯,這時,需要先update,然后再commit。
9.然后再右鍵需要忽略的文件(夾),點擊ignore
10.最后再來一次commit(前后一共3次commit)
怎么驗證所有需要忽略的文件都已經全部忽略掉?
只修改了一個文件,如果commit的時候系統也只是commit被修改的那一個文件,說明忽略成功(所有需要忽略的文件都已經被忽略),如果修改了一個文件,commit的時候系統卻需要commit多個文件,說明還有一些文件沒有被忽略。
總結:
需要忽略的文件:
1.Xcode默認會記住我們當前正在編輯的文件,也就是上次退出項目時停留的文件,下次打開項目會停留在該文件。我們不需要把這些信息共享給同事,所以需要忽略。
2.Xcode會記錄目錄的打開情況。同事不需要共享。
3.斷點信息。同事不需要共享。
以上三個需要忽略的信息,都在xcuserdata 文件夾下,所以只需要忽略xcuserdata文件夾。
至此,項目經理用cornerstone初始化項目,忽略文件等操作已經完成。