之前一直用的是git,現(xiàn)在新公司自己搭建了服務(wù)器,使用SVN作為版本控制平臺。下面列出一些使用CornerStone中出現(xiàn)的小問題,具體設(shè)置服務(wù)器地址就不說了.
常用命令
雖然這些SVN客戶端已經(jīng)幫我們做了可視化,但是本身Xcode已經(jīng)集成了SVN,又或者你喜歡在終端中使用SVN命令。
SVN中常用命令詳解
1、將文件checkout到本地目錄svn checkout path(path是服務(wù)器上的目錄)
svn checkout svn://192.168.1.1/pro/domain
2、往版本庫中添加新的文件svn add file
svn add test.php(添加test.php)
3、刪除文件svn delete path -m “delete testfile“
svn delete svn://192.168.1.1/pro/domain/test.php -m “delete testfile”
4、查看日志
svn log path
5、比較差異
svn diff path(將修改的文件與基礎(chǔ)版本比較)
6、將兩個版本之間的差異合并到當(dāng)前文件
svn merge -r m:n pathSVN1
使用方法更新(update),經(jīng)常地update沒有壞處,特別是多人項目中。如果每次提交(commit)前不進(jìn)行更新(update)的到最新的版本的話,svn會提示當(dāng)前的拷貝過期,需要更新。提交(commit),一定要寫上這次提交的內(nèi)容的摘要,便于以后查閱。
將文件checkout到本地目錄svn checkout path(path是服務(wù)器上的目錄)svn update命令自動用服務(wù)器上的版本替換本地版本控制的文件
網(wǎng)上總結(jié)的一些注意事項
1.先更新后提交
在看到有新版本(即同伴已經(jīng)提交代碼時),先更新代碼,直至working copy不再顯示白色圈,然后運(yùn)行代碼確定可運(yùn)行且功能無誤之后再commit自己的代碼,否則,會造成項目中出現(xiàn)多處沖突或bug,且很難排查原因
2.完成獨(dú)立功能后再提交,且認(rèn)真填寫提交信息
每完成一個獨(dú)立的功能,或解決一個bug之后再提交代碼,不要連續(xù)多次重復(fù)提交,造成版本過多過雜,且提交時務(wù)必填寫提交信息,交代本次完成了什么功能,方便通過message的搜索來查看歷史版本
3.沖突文件
原則上同一組開發(fā)人員最好不要在同一文件中進(jìn)行操作,但有時候必須去其他文件中進(jìn)行操作,或者是誤操作,如果同時多人在同一文件的同一位置修改代碼,后提交的人會出現(xiàn)版本沖突文件,一般會有三個同樣名稱不同后綴的文件.
.mine文件:本人所做修改
兩個.r0XX文件:XX為數(shù)字,數(shù)字較小的為更改前的文件,較大的為更改后的文件,在文件中會有<<<< mine .r0XX和>>>>>等字樣包含起來的代碼,即沖突的地方,此時請和組內(nèi)同事討論或自己刪除某部分修改文件后進(jìn)行調(diào)試,修復(fù)文件
4.對于新添加文件
提交時新增加的文件顯示為問號(?)狀態(tài)的,請選中右擊后 選擇Add to Working Copy之后再commit
6.SVN 更新 提交 合并 區(qū)別
當(dāng)本地文件沒有改動,服務(wù)器文件改動的時候,更新會從服務(wù)器取文件覆蓋當(dāng)前文件
當(dāng)本地文件有改動,服務(wù)器文件沒改動的話,不會更新此文件
當(dāng)本地文件有改動,服務(wù)器文件有改動的話,如果改動的部分不沖突,就會合并文件到本地,如果有沖突的話,會提示文件沖突,需要自己手動修改以后上傳到服務(wù)器。
最后一個講解合并:服務(wù)器和本地的同一個文件(所謂同一個文件應(yīng)該就是SVN相對路徑相同,文件名相同的文件,這個由SVN留在本地的信息決定)已經(jīng)修改,且修改的部分不重合,不重疊當(dāng)滿足上面的條件的時候再更新,SVN就會自動合并SVN的奧妙之處就在于別人提交了修改后的文件,你再提交你的話,他是不允許你提交滴。
里面標(biāo)記的是沖突的區(qū)域,把沖突區(qū)域刪除掉為什么還不能提交
解決辦法1:刪掉的話還是沒有解決沖突,文件后面還會有幾個文件名相同,但是后綴不同的文件如果你不知道用SVN解決沖突的話,最簡單的辦法是這樣的把這個文件改名字,然后在文件所在目錄更新,這樣就會把服務(wù)器文件下下來,然后把自己修改的部分添加到更新的文件里面,這樣就可以提交了
解決辦法2:在文件上面點(diǎn)擊右鍵,到SVN的菜單,應(yīng)該有編輯沖突的按鈕,選擇就會出現(xiàn)一個窗口,一邊是服務(wù)器版本,一邊是自己修改的版本 。
問題解決
1.針對ios項目:出現(xiàn)某個工程或文件打不開的情況,如果為.project文件無法打開,
顯示包內(nèi)容->用文稿打開project.pbxproj文件->搜索.mine,將.mine部分前后<<<< >>>>包含起來的代碼刪除,工程就可以打開了,如果build時出現(xiàn)某個xib文件打不開的錯誤,則選中,用文稿打開,跟上文同樣操作即可解決無法build的問題
會不斷總結(jié),謝謝大家!