程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 使用TortoiseSVN新建及合並分支圖文教程

使用TortoiseSVN新建及合並分支圖文教程

編輯:更多關於編程

       打開trunks目錄,在trunks目錄下新建兩個文本文件A.java,B.java:

    使用TortoiseSVN新建及合並分支圖文教程 三聯

      打開A.java輸入以下內容:

      B.java文件可以隨機輸入些,本例中主要用於觀察後續是否變化。

      兩個文件編輯完成後使用SVN Commit將更改提交到SVN:

      下面開始創建分支:

      1、在trunks上點擊右鍵,在TortoiseSVN菜單中選擇Branch/Tag;

      2、在To path輸入框中輸入新建分支的路徑,一般是:/branches/分支名,也就是相當於分支保存的路徑名;

      3、在下面選擇HEAD revision in the repository,為當前SVN中trunks目錄下最新的代碼建立分支,如果需要為制定的revision建立分支,可以進行選擇;

      4、點擊OK分支建立完成。

      打開branches目錄,發現目錄依然為空,沒有剛才建立的分支,這是因為分支建立的操作是在服務器端完成的,當需要編輯分支時,在branches目錄點擊Update,剛才建立的分支就會下載下來。

      建立分支的過程會非常的快,不會因為主干中的文件多而降低速度,原因後續說明。

      使用TortoiseSVN合並分支

      第二篇中舉過例子,有可能存在主干、分支並行開發的情況,下面我們模擬一下。

      將剛才新建的分支Update下來,打開分支中的A.java,對其進行編輯如下:

      在打開trunks主干中的A.java,對其進行編輯如下:

      對以上兩個文件的改動基本上模擬了分支、主干並行的情況,兩個目錄下的同一個文件被分別修改。

      將以上兩個文件的改動Commit,下面進行合並操作。

      下面開始合並分支到主干:

      1、在trunks上點擊右鍵,在TortoiseSVN菜單中選擇Merge;

      2、在彈出的窗口中選擇第二項,可以理解為合並兩個樹;

      3、在From和To中都選擇要合並的分支目錄;

      4、在From的Revision選擇創建分支時的那個Revision,具體就是點擊Show log,選擇最下面那一條;

      5、在To的Revision選擇HEAD Revision,也就是最新操作;

      6、點擊Next,下一個頁面使用默認項,點擊Merge;

      7、合並完成。

      這時候會發現trunks目錄下的文件已被修改,這時候的合並操作是在本地完成的,並沒有提交到SVN,這與分支建立時有區別,請注意。

      也就是說如果你在本次合並中發現問題,只需要對trunks目錄Revert,放棄本次合並即可。

      可以看一下trunks目錄合並後的A.java文件,大家與前面對照下,已達到我們想要的合並效果:

      創建分支時發生了什麼

      SVN服務器在創建分支時的拷貝是非常有效率的,瞬間就可以完成,並且只需要很少的空間來存儲,所以不需要擔心分支建立過多導致項目倉庫膨脹的問題。

      可以理解為SVN在服務器中存儲的是文件的引用,而非物理上的拷貝。

      不要多次合並同一個分支到主干

      合並分支有一個原則,就是不要對一個分支多次合並到主干,雖然你有可能在合並後又對分支進行了修改,之所以這樣說是有原因的。

      上面提到在合並分支時,在From的Revision選項中需要選擇合並的其實版本,如果是第一次合並只需要選擇最早的那個版本即可,但如果合並過一次,你真的能記得你上次合並時最後的Revision是多少嗎?

      良好的操作是合並後新建分支。

      合並主干到分支

      其實合並是個可逆的過程,合並主干到分支與合並分支到主干正好是相反的操作,大家如果會了一種另一種應該非常簡單。

      這裡我就不演示了,如果真的需要的話可以在博客中評論,大家確實需要的話我會寫出來。

      記錄,為更好的自己!

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved