轉自https://blog.csdn.net/diyu122222/article/details/79879376
1.為什么會出現沖突
<1>兩個開發人員,Harry和Sally,分別從服務器端下載了文件A。
<2>Harry修改之后,A變成了A’,Sally修改之后,A變成了A”。
<3>Harry先一步提交,使服務器端文件的版本也變成了A’
<4>Sally本地的文件A”已經過時了,此時她已無法提交文件,服務器會要求她先進行一次更新操作。
<5>此時Sally的更新操作有兩種可能
(1)Sally所做的修改與Harry不是同一個位置,更新操作嘗試合並文件成功。
(2)Sally所做的修改與Harry恰好是同一個位置,更新操作嘗試合並文件失敗,發生沖突。
如下圖 :
2. 沖突的解決
在沖突文件上點右鍵→Team→編輯沖突…→出現如下界面
注 : 下圖是以對比的方式將本地內容與沖突內容顯示出來,其中左側為本地內容,右側為沖突內容。其中本地內容是可以修改的。根據需要和實際情況將本地內容更正 , 這個過程很可能需要牽涉沖突的兩位開發人員進行必要的溝通
沖突解決完之后 , 在沖突文件上點右鍵→Team→標記為解決(此處有四種解決方式,下面介紹)
此時.mine文件和.r版本號文件都會被自動刪除,沖突文件的圖標變為”*”,表示可以提交。
提交文件,文件圖標變為”金色圓柱體”。
四種沖突的解決方式
將兩個版本的文件合成一個,就是 我改的部分需要 , 同事改的也有一部分要保留 (常用)
以我寫的版本為准,將同事在我之前提交的版本,給替換掉(偶爾用)
使用SVN上最新的版本 (就是你寫的不要了, 直接用別人的. 這種情況其實你直接還原一下你改的文件就行了 ~.~ ,沒必要這么麻煩了就)
還原到 你 和 你同事 改之前的版本(這種情況出現比較少,比如我改着改着,后來別人說這個功能不做了,其他同事修改的也要取消,就可以選擇這個)