Linux学习4:SVN在Linux下的使用
上一篇 / 下一篇 2011-08-06 13:29:21 / 精华(1) / 个人分类:Linux
&最佳实践:commit之前一定要得做三件事情 –svn update; –svn status; –svn diff
!o(w``;T[*Af01、将文件checkout到本地目录:51Testing软件测试网7K8N\/n:]x
svn checkoutpath(path是服务器上的目录)51Testing软件测试网fxNrYpp
简写:svnco51Testing软件测试网V/Q&O(ED{)]S@
4s;b3_"T3K0补充:svn exportpath(path是服务器上的目录),对比co的区别大伙请注意哈
f)I,OPK-p2J0v0–export下载下来的内容是没有svn信息的。(目录下面没有隐藏文件夹.svn;没有纳入SVN版本控制)51Testing软件测试网W^7NyhH$s
–co能够看到svn的信息(目录下面有隐藏文件夹.svn;纳入SVN版本控制)
m+};B(}?8||f ?
p051Testing软件测试网4__(g2eN;X0Eb
2、往版本库中添加新的文件
H5[5d-}*P)KC&u H1Yi?.NE0svn addfile51Testing软件测试网*L ^ a)FA0Ztx[wv
例如:svn add add.php
MI lt&XI0svn add *.php(添加当前目录下所有的php文件)
_|!v3Ux_03、将改动的文件提交到版本库51Testing软件测试网L(ql:V0f
xhj5N
svn commit-m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关)51Testing软件测试网(Qh4}N-X"},nJ
例如:svn ci -m"test add a file by svn in linux" add.php51Testing软件测试网8f wn`$J
简写:svnci
j"n%r2V"e N
\J%qV oB0commit之前一定要得做三件事情 –svn update; –svn status; –svn diff
3KE3s
NWF~GD0
4、删除文件51Testing软件测试网*TXc.D5c.N
u*D8y:k
svn delete add.php51Testing软件测试网:L*lF0[
W0~[g
svn ci -m"test del a file by svn in linux" #推荐使用这种51Testing软件测试网]jtBOW!x
_k
或者51Testing软件测试网O,k(nK:f3C
svn deletepath -m "delete test fle"51Testing软件测试网%m$[;z:D4tHWbc
简写:svn (del, remove, rm)
n0f9NbB"L.a9N05、查看全部日志:svn log51Testing软件测试网k?6` o
^q
查看某个文件的所有修改记录,及其版本号的变化:svn logpath
)S
P_)P{8]U*`HD0例如:svn log testcase/msearch/CaptureScreen.java
j{3q\ f+h06、查看文件详细信息51Testing软件测试网n5} _RE
svn info(path)
t0G4iK{0例如:svn info testcase/msearch/CaptureScreen.java51Testing软件测试网:Lr,{&zv4r
A4U B6dA{07、查看文件或者目录状态
5UR],PW"r01)svn statuspath(目录下的文件和子目录的状态,正常状态不显示)
t*z4^s8|2c;]0\$V0?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定51Testing软件测试网X)dz O1ZL7q1s+t4h6}
2)svn status -vpath(显示文件和子目录状态)
8Kk#Z)eRc$lYW0第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。51Testing软件测试网{"G%M6|$Pg
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
l3OMX(Z7g:Kz1[@0简写:svnst51Testing软件测试网L6|lAW p)s
51Testing软件测试网'nF"~[
b
T
8、比较差异
rHG,xeeQp0svn diffpath(将修改的文件与基础版本比较)----------尚未测试51Testing软件测试网5b0{.m0M,\x
例如:svn diff test.php
'KNX)GG~v0Bp8u-~0svn diff-r m:n path(对版本m和版本n比较差异)
A/Y/}UiNotc0例如:svn diff -r 200:201 test.php
f2Dmr-F(N0简写:svn di51Testing软件测试网3s2c[%[:i
[zhangweikuang.pt@search041124 leapfrog_v0.3_20110307]$ svn diff -r 71835:71836 add3.php51Testing软件测试网R8S0O(S,E
Index: add3.php
FF8z1pJ3Y?0===================================================================51Testing软件测试网0w Jf.^!Z0KPl9{`
X
--- add3.php (版本 71835)
f1p,Ah3o$zu7P9l8DI
i0+++ add3.php (版本 71836)51Testing软件测试网3c7k K"qf5Toz
@@ -1,3 +1,4 @@
#DMrF7F-l0Hi,welcome to c u!51Testing软件测试网u.QJ Dk/~
this is a file added for testing by welcomezhang.
:u*o+]2T]-ePR2H0-51Testing软件测试网HT:ML^
SAj
+Add some content for diff compare.
x3qP+w8o0+Don't worry, it's just for testing svn diff command!51Testing软件测试网
f4O\+gu+|H'x
e
柬之的diff.pl扩展51Testing软件测试网r-q/pb-[
~/diff.pl | more 不作比较,类似于SVN log,列出修改日志51Testing软件测试网RI;kC;sL;c
~/diff.pl 1 | more比较倒数第1个(最后1个)版本和倒数第2个版本
$`6HL3R XqY1Jx0~/diff.pl 2 | more比较倒数第2个版本和倒数第3个版本51Testing软件测试网)x)V|D
_OX6E;g