1. 程式人生 > >svn merge操作

svn merge操作

一、目的
簡單記錄svn的merge操作,特別是merge時的from,to很容易根據字面意思弄錯。 

 

二、操作
1.  本地建立Testing目錄,裡面自動包含三個資料夾branches,tags, trunk.


2.  trunk目錄下建立examples1目錄,裡面新增檔案hello.c,之後commit到server.


3.  建立分支到branches/examples1。
1.      在trunk的examples1目錄,選擇Branck/tag,建立分支。

2.      路徑選擇branches/examples,並添加註釋,之後點選OK。點確定後,svn伺服器上已經將trunk的examples1copy到branches/examples1了,但是沒有自動同步到本地。需要本地update目錄才能下載分支。

.

3.      update本地Testing目錄後,程式碼下載到本地。

4.  修改branch/examples1下的內容(修改hello.c,新增hello.h),並commit到伺服器。

5.  將branch下的exmples1合併到trunk的examples1.
a.      在trunk下的examples1目錄選擇merge功能。

b.      選擇differenttree

c.      在From中選擇trunk的路徑,在to中選擇branches路徑。在merge時,前後版本會先比較內容,再將差異部分copy到本地。From是左邊,類似於原始版本,to是右邊,類似於修改後的程式。

d.      merge之後,branches的內容已經更新到trunk目錄,之後通過commit,將內容放到伺服器。

6.  修改trunk/examples1的內容,並commit到伺服器


7.  Trunk Merge到Branches
a.      在Branches/examples1目錄,右鍵選擇Merge功能。之後仍然選擇differenttree。

b.      之後選擇路徑,from選擇branches,to選擇trunk。

c.      點OK後,trunk的內容就合併到了branches。之後commit到伺服器就Ok。

三、總結
1.      如果merge時出現衝突,需要小心處理。

2.      在使用merge功能時,一定要在合併目的地選擇merge功能,而不是在資料來源處選擇merge。

3.      裡面的from和to很容易被字面意思搞混,容易理解成“從。。到。。”。其實可以理解為,from為左邊,起始狀態,to為右邊,最終狀態。他們之間會做diff比較,之後將to的內容更新到from。

4.      svn操作記錄從版本25-29.


--------------------- 
作者:vancounver 
來源:CSDN 
原文:https://blog.csdn.net/wenwen111111/article/details/54924498 
版權宣告:本文為博主原創文章,轉載請附上博文連結!