手冊

進行測試

本節說明如何在小型測試儲存庫上試用一些最常使用的功能。當然,其中並未說明所有內容,因為這只是快速入門指南。一旦您上手並執行,您應該花點時間閱讀本使用者指南的其餘部分,其中會更詳細地說明各種事項。其中也說明了有關設定適當版本控制伺服器的更多資訊。

建立儲存庫

對於實際專案,您會在某個安全位置設定儲存庫,並使用版本控制伺服器來控制它。為了本教學的目的,我們將使用「版本控制」的「本機儲存庫」功能,它不透過伺服器就能直接存取在您的硬碟機中建立的儲存庫。

首先,請在您的電腦中建立一個新的空資料夾。它可以放在任何位置,但在本教學中,我們將會把它命名為 C:\svn_repos。現在請右鍵按一下新資料夾並在內容功能表中選擇 TortoiseSVN在此建立儲存庫。接著,儲存庫將在資料夾內建立,供您使用。我們也會按一下 建立資料夾結構按鈕,建立預設的內部資料夾結構。

重要事項

本機儲存庫功能非常適合用於測試和評量,但除非您是一個只在單一電腦上工作的開發人員,否則您應該一直使用適當的版本控制伺服器。在小型公司中,為了避免設定伺服器的工程,而只是在網路共用項目中存取您的儲存庫,這樣雖令人覺得有吸引力,但千萬不要這麼做。您將會遺失資料。請閱讀 「在網路共用項目中存取儲存庫」的章節,以瞭解這樣做是個壞點子,以及如何設定伺服器。

匯入專案

現在我們有一個儲存庫,但它目前是完全空的。假設我在 C:\Projects\Widget1 中有一組檔案,我想新增這些檔案。請在檔案總管中前往 Widget1 資料夾,並右鍵按一下它。現在,請選擇 TortoiseSVN匯入,這會開啟一個對話方塊

圖 1.2。匯入對話方塊

The Import dialog


版本控制儲存庫會透過 URL 參照,它讓您可以在網際網路上任何地方指定儲存庫。在本案例中,我們需要指向我們自己的本機儲存庫,其 URL 為 file:///c:/svn_repos/trunk,並且我們將自己的專案名稱 Widget1 新增到其中。請注意,在 file: 之後有 3 個斜線,且全文均使用正斜線。

此對話方塊的另一個重要特點是 匯入訊息 方塊,它可讓您輸入說明您的操作的訊息。當您檢視專案記錄時,這些提交訊息會提供更動內容以及原因的寶貴指引。在這個範例中,我們可以輸入簡單的內容,如 匯入 Widget1 專案。按一下 確定,此資料夾就會新增到您的儲存庫。

簽出工作副本

在我們的儲存庫中建立專案後,我們需要建立工作副本,以供日常使用。請注意,匯入資料夾的動作並不會自動將該資料夾轉換為工作副本。Subversion 中建立新工作副本的術語是 簽出。我們要將儲存庫中的 Widget1 資料夾簽出,簽入電腦上名為 C:\Projects\Widget1-Dev 的開發資料夾。建立該資料夾,然後對它按一下右鍵並選擇 TortoiseSVN簽出...。接著輸入要簽出的 URL,在本例中為 file:///c:/svn_repos/trunk/Widget1,然後按一下 確定。我們的開發資料夾會填入儲存庫中的檔案。

重要事項

預設設定下,簽出功能表項目並沒有位於 TortoiseSVN 子功能表中,而是顯示在檔案總管最上方。TortoiseSVN 指令若不在子功能表中,會加上前置字 SVNSVN 簽出...

您會注意到此資料夾的外觀不同於我們的原始資料夾。每一個檔案在左下角都有綠色的核取標記。這些是 TortoiseSVN 的狀態圖示,只會出現在工作副本中。綠色表示檔案未變更,與儲存庫中的版本相同。

變更專案

開始工作。我們在 Widget1-Dev 資料夾中開始編輯檔案,假設我們對 Widget1.cReadMe.txt 進行變更。請注意,這些檔案上的圖示覆蓋層已變更為紅色,表示已在本地變更過。

但是這些變更是什麼?對其中一個已變更檔案按一下右鍵並選擇 TortoiseSVN比較。TortoiseSVN 的檔案比較工具會啟動,的確切顯示已變更的行數。

圖 1.3。檔案差異檢視器

File Difference Viewer


好,因此我們對變更感到滿意,讓我們來更新儲存庫。此動作稱為變更的〈程式碼類別〉CommitTortoiseSVN → Commit。commit 對話方塊會列出已變更的檔案,每個檔案都有核取方塊。您可能只想選擇這些檔案的子集,但在這個案例中,我們會 commit 兩個檔案的變更。輸入訊息來描述變更為何,然後按一下 確定。進度對話方塊會顯示正在上傳至儲存庫的檔案,然後您就完成了。

新增更多檔案

隨著專案開發,您需要新增檔案 - 假設您在 〈程式碼類別檔案名稱〉Extras.cTortoiseSVN → Add。Add 對話方塊現在會顯示所有未加入版本控制的檔案,您可以選擇想要新增的檔案。另一個新增檔案的方式是在檔案本身上按一下右鍵,然後選擇 TortoiseSVNAdd

現在當您要 commit 這個資料夾時,新檔案會顯示為 已新增,現有檔案會顯示為 已修改。請注意您可以按兩下已修改的檔案,來明確查看已做的變更。

檢視專案記錄

TortoiseSVN 最有用的功能之一為 Log 對話方塊。這個對話方塊會顯示您對檔案或資料夾的所有提交清單,並顯示您輸入的那些詳細的提交訊息(您 確實 輸入了一個提交訊息,如建議嗎?如果不是,現在您知道為什麼這一點很重要了)。

圖形 1.4. Log 對話方塊

The Log Dialog


好,因此我這裡作了一點弊,並使用 TortoiseSVN 儲存庫的螢幕擷取。

上格顯示一個提交的修改記錄清單,同時顯示提交訊息的開頭。如果您選擇這些修改記錄之一,中間格會顯示該修改記錄的完整記錄訊息,而下格會顯示已變更檔案與資料夾清單。

這些格中的每一個都有內容選單,可提供您更多的方法來使用資訊。在下格中,您可以按兩下一個檔案來明確查看該修改記錄做了哪些變更。請閱讀 名為「修改記錄對話方塊」 的區段,以取得完整說明。

復原變更

所有版本控制系統的一項功能,在於它們讓您可以復原之前所做的變更。如您所預期,TortoiseSVN 讓您可以輕易存取這個功能。

如果您想要移除尚未提交的變更,並將檔案重設為編輯前的方式,TortoiseSVN復原 將會是您的好幫手。此操作會放棄變更 (放入回收筒,以防萬一) 和回到您一開始提交的版本。如果您想要移除其中一些變更,您可以使用 TortoiseMerge 來檢視差異,並選擇性地復原變更的行。

如果您想要還原特定修訂版本的變更,請從記錄對話框開始尋找有問題的修訂版本。選取 內容功能表復原此修訂版本的變更,這樣這些變更就會被還原。

TortoiseSVN 首頁