menu

开发进行时...

crazy coder

Avatar

linux下SVN命令

1、svn checkout dir
svn co

2、svn add file
svn add *.php

3、svn commit -m "logmessage" [-N] [--no-unlock] dir
如果选择保持锁,就使用-no-unlock开关
svn commit -m "add some file" test.php
svn ci

4、svn lock -m "lockmessage" [--force] dir
svn lock -m "lock test file" test.php
svn unlock dir

5、svn update -r m dir
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php 将版本库中的文件test.php还原到版本200
svn update test.php
svn up

6、查看文件或者目录状态
svn status dir
?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定
svn status -v dir

svn status svn diff svn revert在没有网络的情况下也可以执行。

7、删除文件
svn delete dir -m "delete test file"
svn del,remove,rm

8、查看日志
svn log dir

9、查看文件详细信息
svn info dir

10、比较差异
svn diff dir
svn diff -r m:n dir 对版本m和版本n比较差异
svn di

11、将两个版本之间的差异合并到当前文件
svn merge -r m:n dir
svn merge -r 200:205 test.php

12、svn help
svn help ci

13、svn list dir
svn ls

14、创建纳入版本控制下的新目录
svn mkdir:

mkdir dir(path)
mkdir url


15、恢复本地修改
svn revert
revert dir


16、代码库URL变更
svn switch(sw):
switch url [path]
switch -relocate FROM TO [PATH]

17、解决冲突
svn resolved移除工作副本的目录或文件的冲突状态

18、输出指定文件或URL的内容
svn cat 目录[@版本]
svn cat -r PREV filename > filename(PREV是上一版本,也可以具体版本号,这样输出的结果是可以提交的)

19、svn ignore
a)创建文件夹,并且把它加入版本控制,但忽略文件夹中的所有内容:
svn mkdir spool
#svn add spool
svn commit -m "Adding 'spool'"
svn propset svn:ignore '*' spool .
svn ci -m 'adding "spool" and ignoring its contents.'

b)创建一个文件夹,但不加入版本控制,即忽略这个文件夹
mkdir spool
svn propset svn:ignore 'spool' .
svn ci -m 'ignore a directory "spool"'

c)想忽略已经加入版本控制的文件夹
svn export spool spool-tmp
svn rm spool
svn ci -m 'Removing inadvertently added directory "spool"'
mv spool-tmp spool
svn propset svn:ignore 'spool' .
svn ci -m 'ignore a directory "spool"'

d)忽略文件夹中的某几个文件
svn mkdir spool
svn add spool
svn commit -m "adding 'spool'"
vim .svnignore
每种要忽略的文件加一行,如:
.svnignore
*.pyc
*.cash
test.php

然后
svn propset svn:ignore -F .svnignore

用 git 或者 hg 吧~

对浏览与修改没有任何限制....