Subversion的官方網站是:http://subversion.tigris.org/
SVN簡介
SVN(Subversion)是一個自由、開源的項目源代碼版本控制工具。目前,絕大多數開源軟件和企業代碼管理,都使用SVN作為代碼版本管理軟件。
1.安裝命令:sudo apt-get installsubversion
SVN服務器端
2. 創建項目目錄:
mkdir /home/svn
mkdir /home/svn/project
cd /home/svn/
sudo chmod -R 777 project/
3. 創建svn倉庫 命令行輸入svnadmin create /home/svn/project, 會在project目錄生成相關文件
4. 設置訪問權限,打開/home/svn/project/conf/svnserve.conf:
把“# anon-access = read”改為“anon-access = none”, 即禁止無帳號訪問
把“# auth-access = write”改為“auth-access = write”,即設置驗證用戶可以寫
把“# password-db = passwd”改為“password-db = passwd”,即設置密碼配置文件為passwd
打開/home/svn/project/conf/passwd,添加llx = 123456,即用戶名:llx,密碼為:123456
打開/home/svn/project/conf/authz,在[groups]后添加admin = llx,即用戶llx屬於admin組
繼續添加以下三行(表示admin組的用戶對svn倉庫的根目錄【/】有讀寫權限):
[/]
@admin = rw
* =
5. 啟動服務,每次重新開機執行svnserve -d -r /home/svn
-d 表示svnserver以“守護”進程模式運行
-r 指定文件系統的根位置,這樣客戶端不用輸入全路徑,就可以訪問版本庫; 如:svn://192.168.1.3/project
SVN客戶端
檢出 :sudo svn co http://47.105.157.158/svn/citc/iot-mqtt/trunk /destination(文件夾名)
提交 :進入需要更新的目錄,輸入命令:svn commit -m path-to-commit,其中path-to-commit可以為空,成功后會提示更新后的版本號。
更新 :svn update,在要更新的目錄運行這個命令就可以了。
查看日志:svn log path
查看文件或者目錄狀態 :
svn status path
(目錄下的文件和子目錄的狀態,正常狀態不顯示) svn status -v path
(顯示文件和子目錄狀態)
簡寫: svn st
往版本庫中添加新的文件 :
svn add file (
file :要添加的文件名)
版本庫中刪除的文件(慎用) svn delete path -m file
或使用 svn delete path file --force
可以刪除剛剛添加但是沒有commit的文件。
簡寫: svn (del, remove, rm)
將改動的文件提交到版本庫 :svn commit -m “LogMessage” [-N] [--no-unlock] path
(如果選擇了保持鎖,就使用–no-unlock開關)
簡寫: svn ci
更新到某個版本 :
svn update -r m path
查看日志 :svn log path
svn log -l 20 //輸出最近20條信息
svn log -q //只輸出版本號、時間、作者 而不輸出日志
svn log --xml //讓日志以xml形式輸出,可二次利用
查看文件詳細信息 :
svn info path
比較差異 :svn diff path
(將修改的文件與基礎版本比較) svn diff -r m:n path
(對版本m和版本n比較差異)
簡寫: svn di
將兩個版本之間的差異合並到當前文件 :svn merge -r m:n path
SVN獲取url信息 :svn info | grep URL
svn info
SVN 幫助 :svn help
svn help ci