linuxsvn命令 linux svn命令使用详解( 四 )


12、SVN 帮助
svn help
svn help ci
——————————————————————————
以上是常用命令 , 下面写几个不经常用的
——————————————————————————
13、版本库下的文件和目录列表
svn list path
显示path目录下的所有属于版本库的文件和目录
简写:svn ls
14、创建纳入版本控制下的新目录
svn mkdir: 创建纳入版本控制下的新目录 。
用法: 1、mkdir PATH…
2、mkdir URL…
创建版本控制的目录 。
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
调度,以待下一次的提交 。
2、每个以URL指定的目录 , 都会透过立即提交于仓库中创建 。
在这两个情况下,所有的中间目录都必须事先存在 。
15、恢复本地修改
svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改) 。revert:
用法: revert PATH…
注意: 本子命令不会存取网络 , 并且会解除冲突的状况 。但是它不会恢复
被删除的目录
16、代码库URL变更
svn switch (sw): 更新工作副本至不同的URL 。
用法: 1、switch URL [PATH]
2、switch –relocate FROM TO [PATH...]
1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并 。这是将工作副本对应到同一仓库中某个分支或者标记的
方法 。
2、改写工作副本的URL元数据,以反映单纯的URL上的改变 。当仓库的根URL变动
(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
这个命令更新工作副本与仓库的对应关系 。
17、解决冲突
svn resolved: 移除工作副本的目录或文件的“冲突”状态 。
用法: resolved PATH…
注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
相关文件,然后让 PATH 可以再次提交 。
18、输出指定文件或URL的内容 。
svn cat 目标[@版本]…如果指定了版本,将从指定的版本开始查找 。
svn cat -r PREV filenamefilename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)
19、查找工作拷贝中的所有遗留的日志文件,删除进程中的锁 。
当Subversion改变你的工作拷贝(或是.svn中的任何信息),它会尽可能的小心 , 在修改任何事情之前 , 它把意图写到日志文件中去,然后执行log文件中的命令,然后删掉日志文件 , 这与分类帐的文件系统架构类似 。如果Subversion的操作中断了(举个例子:进程被杀死了,机器死掉了) , 日志文件会保存在硬盘上,通过重新执行日志文件,Subversion可以完成上一次开始的操作,你的工作拷贝可以回到一致的状态 。
这就是svn cleanup所作的:它查找工作拷贝中的所有遗留的日志文件 , 删除进程中的锁 。如果Subversion告诉你工作拷贝中的一部分已经“锁定”了 , 你就需要运行这个命令了 。同样 , svn status将会使用L 显示锁定的项目:
$ svn statusLsomedirMsomedir/foo.c $ svn cleanup$ svn statusMsomedir/foo.c20、拷贝用户的一个未被版本化的目录树到版本库 。svn import命令是拷贝用户的一个未被版本化的目录树到版本库最快的方法,如果需要,它也要建立一些中介文件 。
$ svnadmin create /usr/local/svn/newrepos $ svn import mytreeAdding mytree/foo.c Adding mytree/bar.c Adding mytree/subdir Adding mytree/subdir/quux.h Committed revision 1.

推荐阅读