Eclipse_SVN衝突解決方法
參考前文:
1、衝突產生的原因
Tom與Jeery都同時從服務器中檢出了同一個項目X,此時Tom將項目X修改後,上傳到服務器中,但是Jeery也更改了項目X並且更改的地方與Tom更改的地方有重合,即Tom與Jeery同時修改了項目X的相同的地方,則此時只能有一個提交成功,假設Tom先改完先提交則可以提交成功,而Jeery後改完後提交是則會報錯,即我們所說的衝突。
2、如何避免衝突
- 在Jeery再次更改時,應該及時先執行更新操作,看是否自己的項目是服務器中最新的版本;
- 同時負責一個項目的員工應該主動交流,及時溝通反饋項目進展以及自身對項目做出了哪些修改。
3、衝突實例
-
Tom與Jeery都同時檢出了服務器中的javaSVAN項目,如下圖:
-
此時Tom修改了第8行的代碼,並進行了提交,而此時Jeery不知道服務器中的版本已經由Tom上傳了更新的版本,所以未執行更新操作,也修改了第8行代碼,此時提交就壞提交衝突,如下圖:
-
Tom修改並提交改項目至服務器中:
-
Jeery並未做更新操作,也修改與Tom相同位置的代碼後,做提交操作,提示衝突,如下圖:
-
若此時Jeery點擊更新,則會顯示Jeery與Tom鎖更改的相同地方的信息,及衝突所在的位置,其中<<<<< .main 到 === 此處爲Jeery修改的內容, === 到 >>>>>>爲另一個人修改內容(此處爲Tom),如下圖
-
此時也會在Jeery中多出三個文件,如下圖:
-
第一個文件爲自身修改的項目文件(此處爲Jeery)如下圖:
-
第二個文件爲服務器中的項目文件(即Tom與Jeery共同修改的項目文件)如下圖:
-
第三個文件爲自身修改的項目文件(此處爲Jeery)如下圖:
-
在衝突文件中,點擊右鍵——編輯衝突,會將衝突文件以對比的形式呈現出來,如下圖:
-
如果確定要以後來修改者Jeery的項目文件爲最新的文件(若在參考Tom修改的項目文件後還需修改,則再編輯衝突中直接修改即可),完後關閉這個編輯衝突界面,右鍵衝突文件——Team——標記爲解決,完成操作後Jeery就可以正常提交了。
- 標記爲解決衝突後,此時可以看到那三個文件已經消失了,Jeery可以正常提交項目文件了: