Subversion 從入門到精通

Subversion 入門

我第一個使用的版本控制工具,也是我比較熟悉的版本控制工具是 Subversion。剛開始的時候是在 Linux 命令列模式下使用管理程式,後來把工作性質的轉換,現在都是在 Windows 架設 Apache Web Server + SVN 版本控制伺服器,Client 端則是使用 TortoiseSVN 圖形化介面方便操作管理。在實際多人開發的環境,則會安裝 CommitMonitor 隨時監控專案的狀態。 Visual Studio 2008 整合開發環境,則會另外安裝 VisualSVN 或是 來掌握自己修改的情況。
 

  • 在時間允許的情況下,我會儘量讓剛入門的新手先在本機安裝一套版本控制的環境,熟悉基本的版本控制操作:

蔡煥麟所主筆的【Subversion for Windows 安裝指南】雖然久未更新,卻還是相當有用的參考文章。

TortoiseSVN 使用簡介】也是不可多得的 TortoiseSVN 完整安裝介紹說明。
 

  • 由淺而深循序漸進培養觀念,融入版本控制的環境,首先瞭解版本控制的意義,以及一些基本名詞:

一般來說,建立基本觀念首推就是官方文件,即使是英文版本文件也寫得淺顯易懂。

Subversion 官方文件:Version Control with Subversion (英)、使用Subversion進行版本控制 (中)

TortoiseSVN 官方文件
 

  • 對於官方文件或是英文有所排斥的新手,則用圖形化的方式引導入門:

Subversion visually explained in 30 sec :有趣的 Flash 動畫來呈現版本控制觀念。

A Visual Guide to Version Control:視覺化圖形介紹版本控制相關動作

淺談版本控制系統 (觀念介紹與版本控制系統軟體介紹):由  Jim Huang (黃敬群) 所製作的投影片,目標在於講解:理解版本控制系統的重要性與優點,並如何導入開發流程、版本控制系統軟體、Subversion 觀念與快速入門
 

  • 有基礎觀念後,則讓新手讓版本控制觀念與實際開發環境能夠做整合:

簡睿隨筆TortoiseSVN: 解決TSVNCache佔用CPU過高的設定】:最佳化 TortoiseSVN 使用環境

CommitMonitor 隨時監控專案的狀態。

VisualSVN 整合版本控制環境至 Visual Studio 2008。

Shell Command - Remove SVN Folders】:替 WIndows 環境下滑鼠加入快捷鍵,快速刪除 .SVN 隱藏目錄。
 

  • 培養進階的版本控制觀念,並瞭解 Subversion 實務好習慣

Best practise when handling tags and branches (using subversion)】Posted by jeyben:操作 tags 與 branches
 

Subversion 實務建議】 by 蔡煥麟 ,應及早讓入門新手養成良好觀念與習慣,尤其是以下幾點:

  1. 【備份檔案庫】:別以為有 Subversion 就萬無一失,定期備份 Subversion 伺服器資料庫也是重要工作項目之一,以免機器損壞到時欲哭無淚。
  2. 【只 check in 完成的檔案】:別以為版本控制是一個人的檔案系統,在多人開發環境下,最最最基本上傳的程式起碼是可以編譯成功,可以被執行的,以避免其他開發者或是讓開發過程停擺,直到所有人等待你解決 Bug。
  3. 【每次 check in 時,輸入摘要事項】:當多人開發環境修改檔案,如果不寫一些 Summary,到時候版本一多就會忘記做了哪些重大的改變。
  4. 【指定忽略的檔案】:第三方文件、範例、原始碼,或是編譯檔案 bin、obj 目錄,或是系統檔案 thumbs.db、個人開發環境設定檔 suo....等等跟專案無關的不要上傳至 Subversion 上面。再次強調、版本控制不是個人的檔案系統。