作者:曹桂漪 / 臺灣大學計算機及資訊網路中心程式設計組幹事
Subversion(SVN)是一個開放原始碼的版本控制系統,使用SVN能提供多人共有資料的一致性,以及版本控管,適用於文件檔案或是程式碼檔案。
前言
Subversion(以下簡稱SVN)是一個版本控制系統,使用SVN能同時提供組織多人共有資料的一致性,以及最新最正確的版本控管,適用於文件檔案或是程式碼檔案的管理。由於使用上複雜度不高,只要花點時間學習,就能輕易的上手,故目前已經較為廣泛被認同與使用。
SVN發展至今已經有許多的圖形化軟體可以使用,更貼近一般使用者的使用習慣,舉例說明:如TortoiseSVN這套軟體的新增、更新、上傳、下載等用法,都很接近一般的檔案管理操作模式。
SVN是一個檔案伺服器,使用上很類似FTP檔案傳輸軟體,一樣可以劃分不同的權限,如單設定一人可以上傳更新與下載使用觀看,其他人只有下載,而無上傳權限;亦或是大家都可以同時有上傳跟下載的權限,就看如何比較設定比較合用。
工具介紹
大約可分為以下9種工具,可依不同的作業系統或使用習慣需求,選擇合用的工具使用:
1.TortoiseSVN:在windows非常受到歡迎的一套Client軟體,與檔案總管整合得很好,可透過檔案 總管在檔案或目錄上用滑鼠右鍵的選單完成SVN的操作。
2.Ankhsvn:將subversion的操作整合到Visual Studio的SVN Client軟體。
3.Subclipse:將Subversion的操作整合到Eclipse的SVN Client軟體。
4.Subversive:和Subclipse相同。
5.SCPlugin:在Mac OS下使用,類似Tortoise SVN的軟體。
6.SVNx:在Mac OS X下的一款Client軟體。
7.eSVN:Unix下類似Tortoise SVN的軟體。
8.kdesvn:在Linux下使用KDE桌面管理下類似TortoiseSVN的軟體。
9.RabbitVCS:在Linux下使用Gnome桌面管理下類似TortoiseSVN的軟體。
SVN Client圖形化軟體眾多,本次電子報將介紹較多人使用的TortoiseSVN軟體
一、 SVN用戶端TortoiseSVN的安裝和操作
二、 使用者帳號的建立
三、使用端的安裝
2. 若是Windows7,請記得點選64bit進行下載,安裝步驟不難,就是按照說明點選下一步, 進行安裝
四、使用端的用法
2. 開始使用,對任一個資料夾點選右鍵,點選TortoiseSVN / Repo-browser/

3. 輸入主機端網址,按OK

4. 在右側的空白處,按右鍵新增一個資料夾create folder,並命名。


5.也可以直接從client的電腦上,新增資料夾檔案到主機上,一樣在右側區塊按右鍵,點選add folder

6. 刪除檔案或資料夾時,直接對該檔案點選右鍵,選擇刪除(delete),比較特別的是,執行完刪除後,該資料夾還是會出現在左側區塊,需重新登入SVN後,才會看到被刪除後的狀況。
7. Import
02. 對資料夾按右鍵,選擇import


03. 上傳完成的訊息(import finished)

8. Checkout
02. 對資料夾按右鍵,選擇SVN Checkout

03. 會出現主機的URL跟用戶端的資料夾路徑,供確認是否無誤,版本區可以選擇預設值第一版,或是手動輸入版次數字。

9. Update
02. 對資料夾點選右鍵,選擇SVN Update進行更新。

03. 更新完成的畫面。

10. Commit
02. 對資料夾點選右鍵,選擇SVN Commit。

03. 當用戶端與主機端資料不一致時,若是執行commit的指令,會出現訊息,這邊範例是讓用戶端多了一個檔案,這時只要勾選該檔案進行上傳即可,否則commit的OK按鈕會一直呈現反白狀態。

11. Commit完成後,對該資料夾右鍵選擇TortoiseSVN,才會出現更多的功能畫面可以使用。

12. 文件定版
02. Branch/tag首先對要定版的資料夾點選右鍵,選擇TortoiseSVN項下的Branch/tag

03. 在路徑上,To path裡輸入定版的名稱,範例是/SVNtest-v1,再點選OK

04. 會出現COPY Finished! 以及版次訊息,直接點選OK即可。

13. Switch 切換版本
02.對著定版的文件或資料夾,按右鍵選擇TortoiseSVN / Switch

03. 一樣在路徑.To path:輸入已定版的資料夾名稱/SVNtest-v1 ,再按OK

04. 會出現Switch Finished!的訊息,點選OK(這個功能可以讓使用者游走於各個定版的資料夾內,隨時可以作切換的動作)

14. 比對定版資料

02. 可看出定版前後的資料夾,內容是一致的,定版後的資料夾通常不會繼續更新,而是繼續更新原來的版本,不同的階段進度會有不同內容的定版,命名是建議要以容易辨識及版次明確為原則。

15. 差異性比較,可檢視與前版的資料差異

02. 再按右鍵進行SVN Commit

03. 勾選要更新上傳的檔案,並按OK

04. 上傳完成 Commit Finished~,點選OK。

05. 對變更的檔案,按右鍵選擇TortoiseSVN / Diff with previous version(與前版比較)

06. 比較結果可分為四大區塊:包含原始文件的內容區、修訂的文件內容區、綜合比對區、文字描述差異性區。

16. Update to revision
17. 版本更新,直接對檔案按右鍵,選擇TortoiseSVN / Update to revision

18. Export:將檔案從主機匯出到本機使用者端。
19. Repo-browser:會自動記錄上一次連線的主機URL,不用重新輸入。

20. Setting: 設定
21. 版本訊息

22. 回到上一個資料夾

23. 當用戶端的檔案有所變更,尚未把最新版本上傳到主機時,會出現紅色的驚嘆號,提示使用者要記得更新檔案。
