Linux下svn命令基础讲解

版本管理 0 1034 张长瑞 收藏

svn help

svn help — 求助!

svn import

svn import 递归提交一个路径的拷贝到版本库。

例子:

svn import -m "New import"  myproj http://IP地址/repos/trunk/misc

svn checkout

svn checkout co)— 从版本库取出一个工作拷贝。

例子:

1.取出一个工作拷贝到本地目录:

svn checkout  file:///var/svn/repos/test

2. 检出两个目录到两个单独的工作拷贝:

svn checkout file:///var/svn/repos/test  file:///var/svn/repos/quiz

3. 支持断点续传,Ctrl+c后,执行同样的命令,继续传输数据。

4. 检出某已版本的数据:

svn checkout -r 2  file:///var/svn/repos/test

svn commit

svn commitci 修改从工作拷贝发送到版本库。

例子:

svn ci –m ""  file:///var/svn/repos/test

-m参数为输入的日志记录信息

svn add

svn add 添加文件、目录或符号链。

例子:

svn add [file/dir]

可以只添加一个目录而不包括其内容:

svn add --depth=empty [otherdir]

添加所有的文件内容:

svn add * --force
A         for.c
A         something/test/flash.v
A         otherdir/docs/baz.doc

svn delete

svn deletedel, remove, rm 从工作拷贝或版本库删除一个项目。

例子:

1.删除一个文件

svn  delete  myfile
#D         myfile
svn  commit  -m  "Deleted file 'myfile'."

2.直接删除一个URL,你需要提供一个日志信息:

svn delete -m "Deleting file 'yourfile'"  file:///var/svn/repos/test/yourfile

3. 强制删除本地已修改文件的例子:

svn delete --force over-there

svn merge

svn merge —工作拷贝回退到指定版本。

例子:

svn merge -r rHEAD:109 file:///var/svn/repos/test/yourfile

**rHEAD:109  从当前最新版本回退到109版。操作完成后本地的工作拷贝会更新到109版。

svn copy

svn copycp 拷贝工作拷贝的一个文件或目录到版本库。

**你只可以在单个版本库中拷贝文件,Subversion还不支持跨版本库的拷贝。**

+commit

 svn move

svn movemv, rename, ren 移动一个文件或目录。

+commit

svn update

svn updateup 更新到某个版本。

例子:

svn update后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本 

svn update -r 200 test.php

(将版本库中的文件test.php还原到版本200)

 svn diff

svn diff(di) 比较两条路径的区别。

例子:

1.     比较BASE和你的工作拷贝(svn diff最经常的用法)

svn diff COMMITTERS

2.     查看文件COMMITTERS在修订版本9115修改的内容:

svn diff -c 9115 COMMITTERS

3.     察看你的工作拷贝对旧的修订版本的修改:

Svn diff -r 3900 COMMITTERS

4.     修订版本300035000比较:

svn diff -r 3000:3500 http://svn.collab.net/repos/svn/trunk/COMMITTERS

svn export

svn export 导出一个干净的目录树。

例子:

svn export file:///var/svn/repos my-export

svn list

svn  list(ls) 列出版本库目录的条目。列出库的相应目录中有哪些文件。

+上(-v)后显示详细内容内容:

最后一次提交的修订版本号

最后一次提交的作者

如果锁定,字符为“O(更多细节见svn info)

大小(单位字节)

最后提交的日期时间

 svn log

svn log 显示提交日志信息。

例子:

1.可以在顶级目录运行svn log看到工作拷贝中所有修改的路径的日志信息:

svn log

2. 检验一个特定文件所有的日志信息:

svn log foo.c

3. 如果你手边没有工作拷贝,你可以查看一个URL的日志

svn log http://svn.xxx.com/repos/test/foo.c

svn status

svn  statusstat, st 打印工作拷贝文件和目录的状态。

' '   没有修改。

'A'   项目预定添加

'D'   项目预定删除

'M'   项目已经修改了。

'R'   项目在工作拷贝中已经被替换了。这意味着文件预定要删除,然后有一个同样名称的文件要在同一个位置替换它。

'C'   项目的内容(相对于属性)与更新得到的数据冲突了。

'?'    项目不在版本控制之下。

例子:

1.查看项目所有文件的更新信息(包括mv掉的项目)

svn status --show-updates (-u) wc

   #没有-u 则简单的查看当前文件状态

 #-v)更详细的显示信息,包括版本库的修订版本号与修改人名

 svn info

svn info 显示本地或远程条目的信息。

显示:名称、路径、Repository root、版本库的UUID、版本号、类型(文件或目录)、上次修改人,上次修订版本,上次修改日期等

可以直接查库(链接)

svn cat

svn cat 输出特定文件或URL的内容。

svn cat [file]
登录访问
本站用户 免费查看
登录账号
您未登录,请登录注册后查看


相关推荐:

网友留言:

您需要 登录账户 后才能发表评论

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码