TortoiseSVN 使用簡介(3)

 

接着在Log message輸入您此次branch的目的爲何。按下OK就可以了。 如果成功,將可以看到下面的畫面: 按下OK就可以關閉這個窗口了。如果您此時立刻去working copy的branch子目錄下面,您將會失望的發現在該目錄下面
-

接着在Log message輸入您此次branch的目的爲何。按下OK就可以了。

如果成功,將可以看到下面的畫面:

 

按下OK就可以關閉這個窗口了。如果您此時立刻去working copy的branch子目錄下面,您將會失望的發現在該目錄下面並沒有剛剛指定的目錄存在。這是因爲您working copy的部份還是舊的,您只需要在branch子目錄下面進行SVN update就可以看到這個新增的目錄了。新增的目錄就與原來的目錄無關了。您可以任意對他進行編輯,一直到您確認好所有在branch下面該做的工作都完成後,您可以選擇將這個branch merge回原來的trunk目錄,或者是保留它在branch中。

要merge回trunk目錄中,方法很簡單。以上面的例子來說,我們在D:\working\my_prj\trunk目錄空白處,按下鼠標右鍵,選擇Merge:

 

接着可以看到如下的畫面:

 

這個畫面主要分爲三個部份,前面的From: 與 To: 是要問您打算從Branch中的哪個版本到哪個版本,merge回原來的trunk目錄中。因此,From跟To的URL字段應當都是指定原來branch的目錄下。剩下的就是指定要merge的revision範圍。以上面的例子而言,我們從Branch的Revision 7開始merge到Branch下面的最新版本。您可以透過,Dry run按鈕,試作一次Merge。這個merge只會顯示一些訊息,不會真正的更新到trunk的目錄去。只有按下Merge按鈕後,纔會真正的將branch的檔案與trunk的檔案合併起來。

 

上面的訊息告訴我們在trunk目錄下面的yyyy.cpp及xxx1.cpp已經被更改過了。如果您在現在到trunk目錄下,會看到這兩個檔案處於被修改的狀態。

 

如果您確認這次的merge沒有問題,您可以直接使用commit來將這兩個被修改的檔案commit回SVN repository上。如果有問題,您可以直接修改這兩個檔案,直到確認ok了,再行commit。

 

一切順利的話,您就成功的將branch的檔案merge回trunk了。

製作Tag或是Release
所謂的Tag或是Release就是一個特別的版本,因爲這個版本可能有特別的意義。例如:這個版本是特別的Milestone或是release給客戶的版本。其實,Tag與Release的作法與Branch完全相同。只是Branch可能會需要merge回原來的trunk中,而tag及release大部分都不需要merge回trunk中。舉例來說,今天我們的trunk做了一版,這個版本被認定是軟件的1.0版。1.0版對於開發來說是一個非常重要的里程碑。所以我們要特別爲他做一個標記,亦即Tag。假設,這個 1.0版是要正式release給客戶或是相關vendor,我們要可以爲他做一個Release的標記。基本上,SVN只有目錄的概念,並沒有什麼Tag的用法。所以您會看到再SVN的選單上面,Branch與Tag是同一個項目。以這個1.0的例子來說,我們就是在Trunk上面,按下鼠標右鍵,選擇Branch/Tag的項目:
 
 

成功的話,您就在Tag目錄下面建立了一個1.0的目錄。當然,如果您這時到Tag的目錄下面去,會看不到這個目錄,您需要在Tag目錄下面update一下,才能看到它。 製作Release的作法與Tag完全相同。只是把Tag的目錄換成Rel
-

成功的話,您就在Tag目錄下面建立了一個1.0的目錄。當然,如果您這時到Tag的目錄下面去,會看不到這個目錄,您需要在Tag目錄下面update一下,才能看到它。

 

製作Release的作法與Tag完全相同。只是把Tag的目錄換成Release而已。

看到這裏,相信大家都已經領悟到無論是Branch,Tag或是Release都只是將指定的Trunk版本複製一份到另外一個目錄去。至於這個目錄要叫Branch還是叫Release,SVN根本就不管。所以,您也可取其它的目錄名稱。不過,Branch,Tag及Release已經是SVN上面約定成俗的名稱。所以,除非您知道自己爲何這樣做,否則,最好還是follow這個命名原則,以免後面新加入的人看不懂。

NOTE:同樣的道理Trunk也只是一個約定成俗的名稱。不一定要叫Trunk。只是大家看到Trunk目錄就會知道這裏面放的是主要的開發主幹。

快速參考
前面寫了不少廢話,主要是給完全沒有版本控制觀念的人看的。如果你想直接知道某個功能如何使用,請看下面的章節。

在後面的說明,皆以d:\working當作工作目錄。您可以將他換成其它任何您想要的目錄。

取得(Checkout)Repository
開啓檔案管理員,進入d:
在檔案管理員空白處按下鼠標右鍵,選擇SVN Checkout
在Checkout對話框中,
URL of repository:repository的位置。
Checkout directory:要存放working copy的地方。
若d:\working目錄不存在,SVN會問您要不要建立這個目錄,請選擇Yes。
接着按下OK,即可checkout該目錄。

更新(Update)檔案或目錄
在您要由repository更新至working copy的檔案或是目錄的icon上面按下鼠標右鍵。選擇SVN Update即可。
如果是要更新至特定的版本,則選擇TortoiseSVN->Update to revision。並且在Update對話框中的Revision字段輸入您要的版本。也可以透過Show Log按鈕來查看版本的信息。
新增(Add)檔案或目錄
在尚不屬於repository的檔案或目錄的icon上按下鼠標右鍵。選擇TortoiseSVN->Add。
選取要新增的檔案。
按下OK。

 

NOTE:新增的檔案要經過提交(Commit)的動作纔回真正的放入Repository中。

提交(Commit)修改過的檔案或目錄
在修改過的檔案,或是在整個目錄的空白處按下鼠標右鍵。
勾選真正要提交至Repository的檔案或目錄。
輸入本次提交的紀錄訊息(Message)。這個訊息應該要清楚明瞭,但不應過份簡單。以利日後版本追蹤。
按下OK。


Copy/Tag/Branch/Release檔案或目錄
確認您要處理的檔案或是目錄已經是Repository中最新的版本。
在要處理的目錄或是檔案上面按下鼠標右鍵,選擇TortoiseSVN->Branch/Tag。
在To URL處輸入您要的目的地。
branch:要產生一個分支。以區別與trunk不同的開發。
tag:要形成一個標記,表示重要的milestone。
release:表示一個已經正式的release的紀錄。
其它:進行一個複製(copy)。


 

本文來自聯城技術網(http://tech.16c.cn/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章