版本控制系統 SVN 核心概念
Subversion (SVN) 是開源版本控制系統,採用中央倉庫模式,專為團隊協作開發設計。相較於 CVS,SVN 提供原子提交、目錄版本控制、元數據屬性等進階功能,已成為企業級專案標準選擇。
適用場景
- 多人並行開發同一專案
- 程式碼歷史追蹤與回滾
- 分支管理與發布流程控制
- 程式碼審查與審計合規
伺服器端安裝:VisualSVN Server
下載與安裝步驟
- 訪問 Apache Subversion 官網 下載 Windows 二進制包
- 推薦下載 VisualSVN Server 整合包(含 Apache + Subversion + 管理介面)
- 執行安裝程式,採用預設 Standard Edition
- 自訂安裝路徑與倉庫儲存位置(建議非系統碟)
- 確認預設通訊埠 8080 (HTTP) / 8443 (HTTPS) 無衝突
- 完成安裝後啟動 VisualSVN Server Manager 管理主控台











客戶端安裝:TortoiseSVN
圖形化介面操作優勢
TortoiseSVN 整合於 Windows 檔案總管,提供右鍵選單操作,無需記憶指令語法,適合各層級開發人員。
安裝要點
- 下載對應系統架構版本(32/64 位元)官網下載
- 勾選 command line client tools 以支援 CI/CD 整合
- 可選安裝語言包(繁體中文)
- 安裝完成需重啟電腦生效殼層擴充









倉庫建立與權限配置
建立專案倉庫
- 開啟 VisualSVN Server Manager
- 右鍵 Repositories → Create New Repository
- 輸入專案名稱(如 MyProject)
- 選擇 Single Repository 或 Multi-Project 結構
- 設定初始目錄結構:trunk / branches / tags
用戶權限管理
# authz 檔案範例
[groups]
developers = alice, bob, charlie
managers = david, eve
[MyProject:/]
@developers = rw
@managers = rw
* = r
[MyProject:/tags]
@developers = r
@managers = rw
常見問題排查
| 問題 | 解決方案 |
| 無法連線伺服器 | 檢查防火牆 8080/8443 埠、確認服務運行狀態 |
| 認證失敗 | 驗證 Windows 整合驗證或基本驗證設定、重置密碼 |
| 提交衝突 | 先 update 取得最新版、手動合併衝突檔案、再 commit |
| 效能瓶頸 | 啟用壓縮傳輸、調整 Apache 執行緒池、定期執行 svnadmin pack |
進階應用技巧
- 預提交鉤子:強制提交訊息格式、程式碼風格檢查
- 外部定義:svn:externals 共用公共程式庫
- 稀疏目錄:僅检出需要的子目錄節省空間
- 備份策略:熱備份 + 定期完整匯出(svnadmin dump)