解決SVN代碼沖突的一般方法

版本沖突原因:

假設(shè)a,b兩個用戶都在版本號為100的時候,更新了test.txt這個文件,a用戶在修改完之后提交到服務(wù)器,這個時候test.txt的版本號已經(jīng)變成了101了。同時b用戶在版本號為100的test.txt上做修改,然后提交到服務(wù)器,由于不是在當(dāng)前最新的101版本上做的修改,所以導(dǎo)致提交失敗。

版本沖突現(xiàn)象:

沖突發(fā)生時,subversion會在當(dāng)前工作目錄保存所有的目標(biāo)文件版本【上次更新版本,當(dāng)前獲取的版本(即別人提交的本本),自己更新的版本,目標(biāo)文件】。

假設(shè)文件名是test.txt

對應(yīng)的文件名分別是:

test.txt.r100

test.txt.r101

test.txt.mine

test.txt

使用Cornerstone會在目標(biāo)文件標(biāo)記來自不同用戶的更改:

<<<<<<< .mine

你更改的代碼=======

別人更改并已經(jīng)提交到服務(wù)器的代碼>>>>>>> .r101

其中<<<<<<< .mine與=======之間表示A修改后的內(nèi)容,=======與>>>>>>>

.r101之間是版本服務(wù)器上的版本

解決沖突的方法:

和同事溝通后,如果采用自己更改的代碼則手動刪除他人的代碼和多余的符號,然后提交。

如果采用他人的代碼則刪除自己的代碼和多余的符號,然后提交。

使用終端svn不會在目標(biāo)文件標(biāo)記沖突內(nèi)容,而是會在輸入 svn up 更新命令后輸出提示信息:

Select: (p) postpone, (df) diff-full, (e) edit,

(mc) mine-conflict, (tc) theirs-conflict,

(s) show all options:

輸入df命令可以查看沖突的內(nèi)容。

輸入mc命令是采用自己的更改。

輸入tc命令是采用他人的更改。

至此,更新完成。接下來就是提交的過程。

另外一種方法就是revert回滾:

恢復(fù)到上一次更新的代碼,相當(dāng)于放棄了本次自己更改的內(nèi)容。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容