1. SVN 是什么
SVN 是 Apache Subversion 的縮寫,是一個開放源代碼的版本控制系。這些數據放置在一個中央資料檔案庫(repository) 中。 這個檔案庫很像一個普通的文件服務器,不過它會記住每一次文件的變動。 這樣你就可以把檔案恢復到舊的版本,或是瀏覽文件的變動歷史。
2.SVN一些概念
基本概念
- repository(版本庫):文件統一存放的地方。
- checkout(檢出):當你手上沒有源文件的時候,你需要從repository 提取一份。
- commit(提交):當你已經修改了文件,你就需要Commit到repository。
- update (更新):當你已經Checkout了一份文件,Update一下,你的文件就會與服務器同步。
文件狀態
- 綠色勾——文件正常。
- 紅色嘆號——文件被修改。
- 黃色嘆號——修改文件之前,並沒有先更新最新版本,而是直接在舊版本上修改,同時修改的內容,剛好跟他人修改的內容有沖突。
- 藍色問號——新增文件資源,新增資源可以是文件、圖片、代碼等。
版本結構
- trunk——主開發目錄
- branches——分支開發目錄
- tags——存檔目錄(不允許修改)
3.SVN源代碼管理
3.1版本:
3.2常用操作
建立版本庫
1)新建Repositories文件夾用作版本庫根目錄,存放所有版本庫
2)新建Repo-Project1文件夾用作Project1項目的版本庫文件夾
3)右擊Repo-Project1,建立版本庫
(創建默認結構)
(直接打開Repo-Project1文件夾瀏覽,此時在這里是看不到trunk等細分結構的)
瀏覽版本庫
(輸入要瀏覽的版本庫的目錄)
(此時就能看到trunk\branches\tags等結構了)
Check Out
- Fully recursive——全遞歸:檢出完整的目錄樹,包含所有的文件或子目錄。
- Immediate children,including folders——直接子節點,包含文件夾:檢出目錄,包含其中的文件或子目錄,但是不遞歸展開子目錄。
- Only file chlidren——僅文件子節點:檢出指定目錄,包含所有文件,但是不檢出任何子目錄。
- Only this item——僅此項:只檢出目錄。不包含其中的文件或子目錄。