1.svn的基本概念在這里就不詳述了,下一代的CVS。
2.基本命令
(1)查找幫助 svn help
查看的幫助svn help import,在這里有詳細的import命令的用法。
(2)svn import
將一個工程加入到svn中,eg
svn import testproject [url | file path]
注:testproject為工程目錄路徑
(3)svn co [url | path] : 從svn中checkout代碼
(4)svn add foo
將foo添加入工程,若foo為目錄,所有文件都將加入,若只想加入目錄本身,svn add foo --non-recursive
svn delete foo
同add相反
svn move foo foo1 改名(類似linux的mv)
svn mkdir blort:創建一個目錄
(5) 檢查修改
svn status:檢察你的修改了那些文件
svn diff:列出每個文件的修改明細
生成patchfile
svn diff > pathfile
同具體的版本的進行diff
svn diff -r 3
比較具體兩個版本號的diff
svn diff -r 2:3
(6)更新代碼及解決沖突
svn up 或者svn update
(7)提交修改
svn commit
(8) 檢查歷史
svn log
(9)瀏覽版本庫
svn list
svn cat
3 版本管理
(1):svn的版本號是一類數字,也可以用特定的關鍵字表示版本
HEAD :版本最新的版本號
BASE:工作拷貝中一個條目的修訂版本號
COMMITTED:項目最近修改的修訂版本,與BASE相同或更早
PREV:commit之前的一個版本
比如你想看最新版本的修改
svn log -r HEAD,此時HEAD就會被解釋為最新的版本號
(2)用時間查找版本號
svn log -r {2011-04-01}:{2011-04-22}
4 分支與合并
在一個工程目錄里都有一個主干trunk目錄和一個分支branches目錄。
當一個項目很大,有多個人協作開發時,如果大家都在主干目錄開發時容易造成混亂。當你一個人開發一個功能模塊時,而開發周期可能比較長才能完成該功能,此時你不能將未完成的代碼提交到主干,容易造成混亂。此時你可開一個分支,然后在你這個分支目錄下工作。
(1)創建分支
svn copy [url] [url]
eg:svn copy http://svn.example.com/repos/calc/trunk
http:://svn.example.com/repos/cal/branches/my-calc-branch
此時并不真得弄一個復本,只是一個鏈接,稱為廉價復價。
這個時候你就可以從你的分支目錄check out代碼,并進行工作了
svn co http:://svn.example.com/repos/cal/branches/my-calc-branch.
(2)在分支上工作,
可以svn commit,此時并不影響主干。
(3)合并分支:
當你開發周期較長時,而此時主干代碼已經發生更交,若時間過長,很可能你的支支與主干脫節,此時要將主干更新的代碼合并到你的分支上。
svn merge url
例如:svn merge http://svn.example.com/repos/calc/trunk
將主干部分更新代碼合并到你的分支上。
posted on 2011-04-26 13:45
kuramawzw 閱讀(4018)
評論(2) 編輯 收藏 引用 所屬分類:
Linux