天天看點

eclipse svn版本合并沖突解決沖突情況的解決辦法

沖突情況的解決辦法

沖突情況1:伺服器代碼和自己代碼改動的地方相同

這種情況比較複雜,一般隻能将自己的代碼儲存一份到本地,然後直接将伺服器代碼更新下來,然後在新的代碼上修改自己的邏輯。就比如說你和上一個上傳代碼的人修改了同一個地方但是在他上傳的時候你沒有更新,導緻你送出的時候發現你和他改動的地方為一樣。

 ok不廢話截圖打個比方:

eclipse svn版本合并沖突解決沖突情況的解決辦法

上面的例子應該能看懂左側代碼為自己的代碼觀察發現被自己注釋掉了是以可以對比代碼是否是最新,如果本地代碼不是最新可以将右側代碼複制到右側儲存,最後右擊沖突檔案點選标記為合并即可。

注:以上隻是打個比方還有其他沖突情況沒有列舉可以根據代碼邏輯自行合并。

沖突情況2:伺服器代碼和自己代碼改動的地方不同

這種情況比較常見,就是你跟别的開發者都在更改同一個檔案,但是由于開發任務是分開的,是以更改的地方是不同的,解決辦法如下。

1、輕按兩下沖突檔案進入比較視圖

2、找到伺服器上新增的但本地沒有的代碼塊,選中此代碼塊,點選右上角的按鈕(如下圖箭頭指向的按鈕)将伺服器代碼複制到本地(其他地方也同此操作),如果點選按鈕沒用,則關閉比較視圖重新打開

eclipse svn版本合并沖突解決沖突情況的解決辦法

複制成功後本地左側代碼為最新代碼

eclipse svn版本合并沖突解決沖突情況的解決辦法

儲存後發現右側新增代碼消失。

3.如果顯示有沖突(你沒有改動過該代碼哦)将所有伺服器上新增的代碼複制到本地檔案後,右鍵沖突檔案選擇标記為合并即可,此時該檔案就會消失在Synchronize視圖下,并且該檔案的代碼已經成功将本地代碼和遠端代碼合并到一起.

eclipse svn版本合并沖突解決沖突情況的解決辦法

沖突情況3: svn送出上次cleanup 中斷後導緻的死循環

錯誤如下:

eclipse svn版本合并沖突解決沖突情況的解決辦法

解決方法:清空svn的隊列

1.下載下傳sqlite3.exe   

2.找到你項目的.svn檔案,檢視是否存在wc.db

3.将sqlite3.exe放到.svn的同級目錄

4.啟動cmd執行sqlite3 .svn/wc.db "select * from work_queue"

eclipse svn版本合并沖突解決沖突情況的解決辦法

5.看到很多記錄,下一步執行delete from work_queue

eclipse svn版本合并沖突解決沖突情況的解決辦法

6.ok了,現在在到項目裡面,執行cleanup,完全沒問題了,圖示狀态也已經恢複了。