09.SVN入門筆記——在 Eclipse 中使用 SVN 客戶端外掛解決衝突
什麼情況下會發生衝突
-
兩個開發人員,Harry 和 Sally,分別從伺服器端下載了檔案 A。
-
Harry 修改之後,A 變成了 A’,Sally 修改之後,A 變成了 A’’。
-
Harry 先一步提交,使伺服器端檔案的版本也變成了 A’
-
Sally 本地的檔案 A’’已經過時了,此時她已無法提交檔案,伺服器會要求她先進行一次更新操作。
-
此時 Sally 的更新操作有兩種可能:
- Sally 所做的修改與 Harry 不是同一個位置,更新操作嘗試合併檔案成功。
- Sally 所做的修改與 Harry 恰好是同一個位置,更新操作嘗試合併檔案失敗,發生衝突。
-
發生衝突後,本地工作副本會發生如下變化:
-
檔案 A 中的內容發生如下改變:
public static void main(String[] args) { System.out.println("Edit By Command!"); System.out.println("Edit By Command!"); <<<<<<< .mine System.out.println("Edit By Eclipse!"); ======= System.out.println("Edit By Command!New Edit"); >>>>>>> .r14 System.out.println("Edit By Command!"); System.out.println("Edit By Command!"); }
其中,從<<<<<<< .mine 到=之間是發生衝突時本地副本的內容。從=到>>>>>>> .r14 是發生衝突時伺服器端的最新內容。注意這裡 r 後面的數字是發生衝突時伺服器端的版本號,有可能是任何整數值,r14 只是一個例子。
同時檔案圖示變成一個“黃色的!”。
-
與衝突檔案同目錄下新增檔案,副檔名為.mine,其內容是發生衝突時本地副本的檔案內容。
-
與衝突檔案同目錄下新增檔案,副檔名為.r 小版本號,例如 MyCRM.java.r13,其內容是衝突發生之前,伺服器端的檔案內容,可以作為解決衝突的參照。
-
與衝突檔案同目錄下新增檔案,副檔名為.r 大版本號,例如 MyCRM.java.r14,其內容是衝突發生時,伺服器端的檔案內容。
-
解決衝突
發生衝突的提示:
-
在衝突檔案上點右鍵→Team→Edit Conflicts…→出現如下介面
以對比的方式將本地內容與衝突內容顯示出來,其中左側為本地內容,右側為衝突內容。其中本地內容是可以修改的。
-
根據需要和實際情況將本地內容更正,這個過程很可能需要牽涉衝突的兩位開發人員進行必要的溝通。
-
在衝突檔案上點右鍵→Team→Mark as Merged
此時.mine 檔案和.r 版本號檔案都會被自動刪除,衝突檔案的圖示變為“*”(新版本為在檔名前新增 > 符號),表示可以提交。
-
提交檔案,檔案圖示變為“金色圓柱體”。
相關文章
- SVN解決衝突 記錄
- SVN 版本衝突解決
- Eclipse中Egit衝突解決EclipseGit
- nuxt反向代理,解決客戶端服務端兩者之間衝突UX客戶端服務端
- 解決eclipse中svn外掛總是提示輸入密碼的問題Eclipse密碼
- Eclipse 中 安裝 SVN 外掛Eclipse
- 解決專案版本衝突——maven-shade外掛使用Maven
- NEO 客戶端外掛客戶端
- SVN衝突解決和注意事項
- svn檔案衝突,樹衝突詳解
- ubuntu 下svn客戶端使用Ubuntu客戶端
- SVN客戶端下載和SVN visual studio 外掛客戶端
- linux下SVN衝突的解決方法Linux
- oracle客戶端同sap衝突的問題Oracle客戶端
- eclipse 安裝svn外掛Eclipse
- 客戶端筆記客戶端筆記
- 【筆記】Git 中的分支建立和衝突解決(命令列)筆記Git命令列
- 關於Eclipse 中 svn外掛 和 egit 外掛的安裝EclipseGit
- 使用maven-shade-plugin外掛解決spark依賴衝突問題MavenPluginSpark
- SmartSVN for Mac(SVN客戶端)Mac客戶端
- Eclipse-安裝SVN外掛Eclipse
- webpack4入門筆記——外掛Web筆記
- jQuery入門筆記之(七)外掛jQuery筆記
- Mac下SVN客戶端CornerStone使用問題Mac客戶端
- Git 解決本地遠端版本衝突Git
- 關於SVN update之後,引起衝突的解決方法
- SmartSVN 14 Mac(SVN客戶端)Mac客戶端
- 客戶端儲存筆記客戶端筆記
- Git 解決衝突Git
- git 解決衝突Git
- SVN安裝與在eclipse中的使用Eclipse
- 程式衝突及其解決
- git pull 衝突解決Git
- windows解決埠衝突Windows
- IP衝突解決方案
- hash衝突解決方法
- Git衝突解決技巧Git
- ubuntu 下面 svn 伺服器端和客戶端的配置和使用Ubuntu伺服器客戶端