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