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
版權宣告:本文為博主原創文章,轉載請附上博文連結!