Subversion (SVN) 集中式版本控制系統,所有歷史儲存於中央版本庫,支援檔案/目錄版本追蹤、分支標籤、鎖定機制。以下為常用與進階指令分類匯總。
| 操作 | 指令 | 縮寫 |
|---|---|---|
| 检出專案 | svn checkout url/path | svn co |
| 新增檔案 | svn add file | |
| 提交變更 | svn commit -m "log" | svn ci |
| 更新到指定版本 | svn update -r REV | svn up |
| 查看狀態 | svn status / svn status -v | svn st |
| 刪除檔案 | svn delete path -m "msg" | svn del/rm |
| 查看日誌 | svn log path | |
| 查看檔案詳細資訊 | svn info path | |
| 比較差異 | svn diff path / svn diff -r M:N path | svn di |
| 合併版本差異 | svn merge -r M:N path | |
| 加鎖/解鎖 | svn lock -m "msg" path / svn unlock path | |
| 求助 | svn help / svn help ci |
| 操作 | 指令 | 說明 |
|---|---|---|
| 列出版本庫目錄 | svn list path | svn ls,顯示版本庫內容而非工作副本 |
| 建立版控目錄 | svn mkdir path | 直接在版本庫建立目錄並提交 |
| 屬性操作 | svn propget/set/del/proplist | 處理 svn:keywords、svn:ignore、svn:externals 等屬性 |
| 解決衝突 | svn resolve --accept=working path | 衝突編輯完成後標記已解決 |
| 匯出乾淨副本 | svn export url path | 不含 .svn 目錄,適合部署發布 |
| 切換分支/標籤 | svn switch url | 將工作副本切換到不同分支/標籤 URL |
| 建立標籤/分支 | svn copy src_url dest_url -m "tag" | 廉價複製,慣例放在 tags/、branches/ |

最佳實踐: 採用trunk/、branches/、tags/標準佈局;提交前先svn up解決衝突;使用svn:ignore忽略建構產物;重要釋出務必打標籤;大型二進制檔考慮 Git LFS 或 Artifactory 替代。