1、?先打開(kāi)Cornerstone
2、然后如下圖所示:(這里使用的是SVN Server)
1:填寫(xiě)主機(jī)地址
2:假設(shè)你公司svn地址為:svn://192.168.1.111/svn/ios,用戶(hù)名:svnserver,密碼:123456
需要注意的是Repository path輸入框下面有提示,可以對(duì)照下面的提示驗(yàn)證你輸入的地址是否是有效的。
--------->
1:填寫(xiě)主機(jī)地址
2:如果你的主機(jī)地址中有端口號(hào),如為192.168.1.111:8080,則2中填寫(xiě)8080
3:填寫(xiě)主機(jī)后面的路徑
4:自動(dòng)生成,如果你填寫(xiě)完之后不是這種svn://用戶(hù)名@主機(jī)地址:端口號(hào)/路徑的格式,則說(shuō)明填寫(xiě)有誤
5:也會(huì)自動(dòng)生成,將會(huì)在側(cè)邊欄顯示為5中的名稱(chēng),可以自定義名稱(chēng)
6:用戶(hù)名
7:密碼
以上信息填寫(xiě)無(wú)誤之后選擇添加即可,如遇添加失敗,信息填寫(xiě)無(wú)誤,則聯(lián)系管理員,查看地址,用戶(hù)名,密碼是否正確
2.1 下面使用的是HTTP Server,輸入地址,賬戶(hù)信息即可;
將指定文件夾添加到working copy
3、選擇對(duì)應(yīng)的倉(cāng)庫(kù),如下圖所示:(在倉(cāng)庫(kù)里上傳自己的代碼)
4、然后Import完成之后,就把本地的文件提交到SVN服務(wù)器上了,如下圖所?,另外如果你想要使用SVN進(jìn)行版本控制的話,那么需要把服務(wù)器上的文件Check Out到本地,這樣的話本地Check Out下來(lái)的文件就和服務(wù)器上對(duì)應(yīng)的文件建立了關(guān)聯(lián),這樣本地文件再更改的時(shí)候就能作用于SVN服務(wù)器上了,達(dá)到了版本控制的一個(gè)目的,如下圖:
--->PS:如果你在打開(kāi)工程的時(shí)候讓你升級(jí)SVN版本的話,不要升級(jí),如果升級(jí)的話你的Working Copy可能就會(huì)打不開(kāi)了。
5、找到Check Out到本地的工作副本文件夾,這個(gè)時(shí)候該文件夾下面會(huì)多一個(gè).svn的隱藏文件,這個(gè)文件記錄了當(dāng)前目錄下的增、刪、改操作,如下圖所示:
--->PS:在終端輸入: defaults write com.apple.finderAppleShowAllFiles -bool true 然后重啟Finder
6、如果在Working Copy的?程中做了更改的話,如下圖:
----->!?。。》浅V匾?
如果你想把這個(gè)更改作用到服務(wù)器上,那么你需要選中整個(gè)Working Copy(當(dāng)你不能確定更改的是哪個(gè)文件的時(shí)候)進(jìn)行提交,剛開(kāi)始使用SVN的時(shí)候,每次提交代碼到服務(wù)器之前必須先再本地備份(當(dāng)你熟練的時(shí)候可以不用備份)!!!!為了防止SVN出錯(cuò),導(dǎo)致代碼丟失。在每次提交之前必須先Update服務(wù)器的代碼到本地,然后在Commit?己的更改!!!
然后出現(xiàn)如下界面:
--->這個(gè)時(shí)候組內(nèi)的其他成員選中整個(gè)Working Copy進(jìn)?Update,那么他的?程中也會(huì)出現(xiàn)你剛添加的那一行代碼。
7、如果新添加了一個(gè)文件,那么會(huì)出現(xiàn)如圖所?:
8、?件的刪除
9、添加一個(gè)文件,但是沒(méi)選擇working copy 直選中了工程文件,那么這個(gè)時(shí)候其他組員在Update之后發(fā)現(xiàn)了有紅?的文件,原因:
1、是只提交了配置文件,沒(méi)提交實(shí)際的文件,
2、只更新了配置?件
10、沖突的產(chǎn)生:
沖突產(chǎn)生的原因?定是更改了同?行或者是同?段代碼
如下圖:同時(shí)更改了AppDelegate?面的22?代碼
此時(shí)需要進(jìn)行溝通,誰(shuí)的代碼是正確的,保留誰(shuí)的代碼,還是兩個(gè)代碼都保留。把需要留的代碼留下,然后刪掉沖突的三條標(biāo)志線,最后在Cornerstone中選中沖突的文件(這里是AppDelegate),然后點(diǎn)擊Resolve解決沖突
11、如果SVN使?的時(shí)候文件/?件夾后?出現(xiàn)“?”的情況,如下圖:
12、文件沖突:A同學(xué)新建一個(gè)AViewController,然后Update、Commit提交,然后B同學(xué)新建一個(gè)BViewController,然后Update,此時(shí)會(huì)發(fā)現(xiàn)工程不能打開(kāi),出現(xiàn)如下提?:
此時(shí)說(shuō)明配置文件沖突了,需要選中?程文件右鍵,選擇顯
?包內(nèi)容,如下圖:
然后看到如下圖所示:
雙擊打開(kāi)配置?件(project.pbxproj),然后如圖所示:
然后在Cornerstone中做如下操作:
13、刪除?件的時(shí)候只是刪除了?件的引用,然后從Finder中刪除對(duì)應(yīng)的文件如下圖:
這個(gè)時(shí)候可以采?下?的?式撤銷(xiāo)之前的刪除操作:
如果想真正的刪除相關(guān)文件,那么在Cornerstone?面:
14、不能上傳.a文件的解決方法
Cornerstone常見(jiàn)圖標(biāo)含義:
A:add,新增
C:conflict,沖突
D:delete,刪除
M:modify,本地已經(jīng)修改
G:modify and merGed,本地文件修改并且和服務(wù)器的進(jìn)行合并
U:update,從服務(wù)器更新
R:replace,從服務(wù)器替換
I:ignored,忽略
1、黃色感嘆號(hào)!(有沖突):
這是有沖突了,沖突就是說(shuō)你對(duì)某個(gè)文件進(jìn)行了修改,別人也對(duì)這個(gè)文件進(jìn)行了修改,別人搶在你提交之前先提交了,這時(shí)你再提交就會(huì)被提示發(fā)生沖突,而不允許你提交,防止你的提交覆蓋了別人的修改。要解決沖突,如果你確認(rèn)你的修改是無(wú)效的,則用TSVN還原你的修改就行了;如果認(rèn)為你的修改是正確的,別人的提交是無(wú)效的,那么用TSVN先標(biāo)記為“解決沖突”,然后就可以提交了;如果你認(rèn)為你的修改和別人的修改都有一部分是有效的,那么你就把別人的修改手動(dòng)合并到你的修改中,然后使用TSVN標(biāo)注為“解決沖突”,然后就可以提交了。進(jìn)入文件夾,尋找有黃色感嘆號(hào)的文件,這些文件就是發(fā)生沖突的地方,根據(jù)實(shí)際情況處理沖突
2、米字號(hào)(有本地修改代碼):
這是說(shuō)明你有未提交的本地代碼。
3、問(wèn)號(hào)?(新加入的資源):
這說(shuō)明該文件是項(xiàng)目中新增文件資源,新增資源可以是文件、圖片、代碼等。
4、紅色感嘆號(hào)(本地代碼與庫(kù)沒(méi)有保持一致):
這說(shuō)明本地代碼跟庫(kù)上沒(méi)有保持一致,如果用戶(hù)想修復(fù),可以將帶紅色感嘆號(hào)圖標(biāo)文件刪除,直接update即可。
5、灰色向右箭頭(本地修改過(guò)):
本地代碼沒(méi)有及時(shí)上庫(kù)。
6、藍(lán)色向左箭頭(SVN上修改過(guò))
記得更新代碼后修改,提交前跟svn對(duì)比習(xí)慣。
7、灰色向右且中間有個(gè)加號(hào)的箭頭(本地比SVN上多出的文件)
修改完記得跟svn保持一致
8、藍(lán)色向左且中間有個(gè)加號(hào)的箭頭(SVN上比本地多出的文件)
刪除該文件后,再次更新,將svn上文件全部更新下來(lái)。
9、灰色向右且中間有個(gè)減號(hào)的箭頭(本地刪除了,而SVN上未刪除的文件)
也就是說(shuō)你刪除確認(rèn)后,一定要記得上庫(kù),跟svn保持一致
10、藍(lán)色向左且中間有個(gè)減號(hào)的箭頭(SVN上刪除了,而本地未刪除的文件)
比對(duì)svn庫(kù)上代碼,確定需要?jiǎng)h除后,更新svn(刪除無(wú)用代碼)
11、紅色雙向箭頭(SVN上修改過(guò),本地也修改過(guò)的文件 )
這個(gè)表示本地和svn上都修改過(guò),最好就是把本地修改合并到svn,修改代碼前最后先更新。