NetBeans 6.0/6.1 內建支援四種版本控制系統:分散式 Mercurial、集中式 Subversion/CVS、以及零配置的本地歷史記錄。本文透過實際操作範例,詳細比較四種系統在單人/多人開發場景下的完整工作流程。
版本控制系統分類
- 分散式模型:Mercurial。P2P 架構,各節點擁有完整儲存庫副本,透過交換 Patch 同步。自由度高但需自覺更新
- 集中式模型:Subversion、CVS。Client-Server 架構,歷史集中存放於伺服器,客戶端透過網路操作。高度依賴網路可用性
- 本地歷史記錄:IDE 內建,無需配置,預設保留 7 天變更歷史,僅適合個人使用,不支援團隊協作
Mercurial 實戰操作
環境準備
NetBeans 6.1 內建 Mercurial 外掛;6.0 需透過 Tools > Plugins 安裝。OS 需預裝 Mercurial 執行檔。
單人開發流程
- 初始化儲存庫:專案右鍵 > Versioning > Mercurial > Initialize
- 首次提交:專案右鍵 > Commit,輸入訊息提交
- 後續開發:修改程式碼 → 專案右鍵 > Diff 比較差異 → Commit 提交
- 查看歷史:開啟檔案 → Versioning > Show Annotations 顯示行級版本號 → Versioning > Search History 搜尋歷史版本並比較










多人開發流程
- Clone 共享儲存庫:Versioning > Mercurial > Clone Other,指定來源 URL、路徑、目標目錄,勾選「Clone 後掃描 NetBeans 專案」
- 開發與提交:同單人流程
- Pull 整合他人變更:Versioning > Show Incoming Changes 檢視 → Versioning > Pull 取得更新,解決衝突
- Push 分享自己的變更:Versioning > Show Outgoing Changes 確認 → Versioning > Push > Push to Default








Subversion 實戰操作
環境準備
OS 需預裝 Subversion。NetBeans 內建 SVN 外掛。伺服器端預先建立儲存庫:svnadmin create /path/to/repository
單人開發
- Import 專案至儲存庫:Versioning > Subversion > Import into Repository
- 開發與提交:Diff 比較 → Commit 提交
- 查看歷史:Show Annotations → Search History 比較版本







多人開發
- Checkout:Versioning > Subversion > Checkout 取得工作副本
- Update 整合他人變更:Show Changes 點擊 Remote/All Diff → Update 更新,解決衝突
- Commit 分享變更:同單人流程


CVS 實戰操作
NetBeans 內建 CVS Client。多人開發流程與 SVS 類似:Checkout → Update 整合 → Diff 比較 → Commit 提交 → Annotations/Search History 查看歷史。介面操作邏輯一致,僅底層協定不同。








本地歷史記錄
零配置、即開即用。Tools > Options > Miscellaneous > Versioning > Local History 可調整保留天數(預設 7 天)。Versioning > Local History > Show Local History 開啟視覺化時間軸,點擊任意時間點比較差異或還原。

選擇建議
- 小團隊、離線工作多、偏好分散式:Mercurial
- 企業環境、成熟流程、集中管控、網路穩定:Subversion
- 維護舊專案、現有 CVS 基礎設施:CVS
- 個人專案、快速回溯、無團隊協作需求:本地歷史記錄
NetBeans 統一的 Versioning 介面讓切換不同 VCS 幾乎零學習成本,開發者可專注於版本控制最佳實踐而非工具操作。