命令 功能
使用格式
checkout 檢出
svn co url up
更新到當前
url的末端
svn up
add 增加
svn add
檔名/
目錄名 rm
刪除檔案
svn rm
檔名
刪除目錄
svn rm
目錄名
diff 與
base
版本(最後檢出或者更新到的版本)對比
svn diff
與版本庫中最新版本對比
svn diff -r head
當前工作副本,兩個版本之間對比
svn diff -r reversion1:reversion2
版本庫中任意兩個
tag做對比
svn diff (tag1)url (tag2)url ci
提交svn ci -m "commit log"
log檢視當前工作副本
log
svn log
只檢視指定版本的
log
svn log -r 列印
log所有附加資訊
svn log -v
檢視當前
tag/branch
版本詳情
svn log --stop-on-copy -v
info
檢視當前工作副本所在
url
svn info
status
檢視工作副本的狀態
svn st
檢視檔案的
taglist
svn命令不支援,可執行
cs taglist
解決衝突的例子:
工程師a
修改了a.txt
的第一行,提交了。
工程師b也修改了
a.txt
的第一行,然後執行
svn up
,這時svn
提示了:(以下,你開始扮演工程師
b的角色了)
$ svn up 在
「a.txt
」中發現衝突。 選擇
: (p)
推遲,(df)
顯示全部差異,
(e) 編輯,
(mc)
我的版本
, (tc)
他人的版本,
(s)
顯示全部選項:
我一般選擇
p(推遲),即引入衝突到本地,不過不會影響到
svn伺服器端,可以放心。 ok
,開始解決衝突了。
這時,會生成幾個檔案:
a.txt
a.txt.mine a.txt.r6328 a.txt.r6336
其中a.txt
中包含了工程師a、
b的所有修改,以
<<<<<<<
、*****==
、>>>>>>>
分隔。
a.txt.mine
是工程師
b的修改,也就是未
update
前的a.txt。
a.txt.r6328
是工程師
a提交前的版本,即未導致衝突的版本。
a.txt.r6336
是工程師
a提交後的版本,即導致衝突的版本。
一般,檢視
a.txt
就可以看到衝突的詳情了:
[yicheng@chengyisvntest]$ cat a.txt
<<<<<<<.mine
ialso modify ,agndagnagasdg;
*****==
imodify this line;
>>>>>>>.r6336
以上,<<<<<<<.mine
和*****==
之間是工程師
b(當前的「你」)修改的內容,
*****==
與》 .r6336
之間是工程師
a修改的內容。這時,最好的辦法是,叫上工程師
a,你們一起確定這些修改是否都需要,是否相互相容,然後留下需要的部分,刪
除<<<<<<< .mine
、*****==
和》.r6336。
然後,測試,測試!確定沒問題之後,就可以告訴
svn,你解決衝突了:
svn resolve
–accept working a.txt (
該命令會刪除
a.txt.mine a.txt.r6328 a.txt.r6336)
svn ci -m
』some comment
』a.txt
Linux下svn的使用
1 基本命令 1 查詢幫助 svn help 檢視的幫助svn help import,在這裡有詳細的import命令的用法。2 svn import 將乙個工程加入到svn中,eg svn import testproject url file path 注 testproject為工程目錄路徑 ...
linux下svn的使用
1.windows下svn的安裝 這和普通軟體安裝一樣 2.linux下svn的安裝 對於fedora的linux可以在 media 目錄下掛接 iso光碟映象檔案,然後進入那個目錄進行軟體安裝 rpm ivh rpm。檢視是安裝好了svn rpm qa grep sub sub是svn在linux...
Linux下SVN使用技巧
檔案衝突的處理 svn update conflict discovered in readme.txt select p postpone,df diff full,e edit,mc mine conflict,tc theris conflict,s show all options post...