Subversion
是一款非常好的開源版本控制系統,目前最新版本 1.4.4,新增版本庫鏡像工具 svnsync 和對 working copy
效能的改進,另外新版也開始支援 BerkeleyDB 4.4。在介紹前必須先搞清楚兩個概念,一個是 repository (版本庫,以下簡稱
repo), 一個是 working copy (工作拷貝,以下簡稱
wc),前者是項目所在的地方,後者是你做修改的地方。如果你對版本控制這個概念不太瞭解的話,Michael 簡單解釋了一下。
比如我有一個項目,有幾百個檔案,包括項目的相關文檔,圖表,和一些視頻音頻檔案,它們都被放在電腦的一個檔案夾內。隨著
項目的發展,檔案夾內的會增加新的文檔圖表等檔案,而老的檔案也會被修改,同時也許會有一些檔案會被刪除。在版本控制系統下,每一次對該專案檔夾下的改
動,都會被記錄,如果哪個檔案被刪錯了,或是想把文檔恢複到以前的版本,可以輕而易舉達到。更了不起的是,如果該項目被一個團隊來執行,該團隊的每一個
成員都可以對項目內的檔案進行管理和同步,這樣就可以保持大家永遠 on the same page。
舉例說明,只需 4 步在 Ubuntu 上搭建 Subversion 伺服器。
一、搭建 Subversion 伺服器
1、首先需要安裝 subversion 這個軟體:
sudo apt-get install subversion
2、在 /home/nicky 下建立一個 repo,名稱為 testproject:
svnadmin create /home/nicky/testproject
3、然後把 /fun/theme 目錄下的內容匯入到這個 repo 中:
svn import -m "" /fun/theme file:///home/nicky/testproject
4、最後給這個 repo 建立一個 svn 內建的 svnserve:
svnserve -d -r /home/nicky/testprojec
另外:如果需要設定使用者的驗證和相應的許可權,請看這裡
。
二、使用 Subversion
1、你可以使用下面的命令來獲得一個 wc,如把它取名為 projecout。
svn checkout svn://127.0.0.1/ projecout
或者簡寫為:
svn co svn://127.0.0.1/ projecout
2、如果需要將修改從 wc 中發送到 repo。
先到 wc 所在目錄,然後使用下面的命令將修改發送到 repo:
svn commit -m "note"
三、常用命令:
取出指定版本,如取出版本 2:
svn checkout --revision 2 svn://....
顯示提交日誌資訊:
svn log
顯示庫中的最新資訊:
svn log --revision HEAD