1. 程式人生 > >SVN學習之-版本衝突解決

SVN學習之-版本衝突解決

版本衝突原因:舉個例子,如果張三和李四合作做同一個專案A,當前SVN伺服器中最新版本是A.1,張三和李四都在A.1的基礎上再進行開發。張三將當天做好的版本提交後,此時伺服器中最新版本是A.2,這時李四又提交自己的版本上去,這時李四的版本是基於A.1改的,而伺服器中此時的最新版本是A.2因此不能順利提交,會產生版本衝突,系統不知道哪個版本才是最佳的。

解決衝突:

原理:提交產生衝突的使用者手動修改,協商兩個版本,產生一個最終版本。

過程:

1.張三和李四都把專案A匯出到本地,其中有個名為test的檔案。當前張三李四和伺服器上都是版本V.1

2.張三修改了test檔案如下,並且提交了該檔案。此時伺服器中該檔案版本為

V.2,張三手裡的也是V.2

3.李四修改test檔案如下

4.李四提交遇到版本衝突問題如下

5.點選OK,再選擇UpdateOK

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提交李四的檔案,就成功了,

至此李四成功的提交了自己修改的檔案,解決了版本衝突問題。