SVN學習之-版本衝突解決
阿新 • • 發佈:2019-02-13
版本衝突原因:舉個例子,如果張三和李四合作做同一個專案A,當前SVN伺服器中最新版本是A.1,張三和李四都在A.1的基礎上再進行開發。張三將當天做好的版本提交後,此時伺服器中最新版本是A.2,這時李四又提交自己的版本上去,這時李四的版本是基於A.1改的,而伺服器中此時的最新版本是A.2因此不能順利提交,會產生版本衝突,系統不知道哪個版本才是最佳的。
解決衝突:
原理:提交產生衝突的使用者手動修改,協商兩個版本,產生一個最終版本。
過程:
1.張三和李四都把專案A匯出到本地,其中有個名為test的檔案。當前張三李四和伺服器上都是版本V.1
2.張三修改了test檔案如下,並且提交了該檔案。此時伺服器中該檔案版本為
3.李四修改test檔案如下
4.李四提交遇到版本衝突問題如下
5.點選OK,再選擇Update、OK
6.這時會看到李四的資原始檔夾下多了幾個檔案
7.右鍵帶黃色歎號的檔案,點選TortoiseSVN中的Eidit Conflicts,顯示如下
說明:左上Theirs中是當前伺服器中的版本,右上Mine是自己的版本,下面Merged是最終版本,如果要在最終版本中使用Theirs中的一行,就在Theirs中那行選中後右鍵選擇use this text block,如果要選整個檔案就選擇use this whole file.修改完成後儲存。
8.
9.儲存後關閉該視窗,右鍵帶黃色歎號的檔案,點選TortoiseSVN中的Resolved,再選中要Resolve的檔案,點選ok
再點選OK
10.再Commit提交李四的檔案,就成功了,
至此李四成功的提交了自己修改的檔案,解決了版本衝突問題。