SVN教程(三)基本命令

到了最枯燥的内容了。

如果你看了第二节的内容,在检出的文件夹中试图添加或删除文件,然后再通过svn commit去提交这种变化,你会发现没有任何内容会提交给SVN。也就是说,SVN能够感知文件内容的变化,但却不能感知文件夹结构的变化。文件夹结构的变化必须要以svn命令的形式,显示地通知版本库。比如,增加、删除文件,更改文件路径等等操作,你不能使用操作系统提供的命令,而必须要使用svn提供的命令。

[b]1、增加文件 -- svn add[/b]
[i]格式:svn add PATH...
[/i]需要注意的是,这个命令只是在客户端标识了添加的文件或文件夹,它会在下一次commit的时候提交到版本库。也就是说,如果你用svn add一个文件后,再用svn list去查看版本库时是看不到这个文件的。另外,你还必须先把这个文件或文件夹创建出来准备好,svn add不会在本地给你创建文件的。
还有,如果添加的是一个文件夹,那么这个文件夹下的所有内容都会被添加。当然如果你是在add完之后才向文件夹中添加文件的,那么这个文件必须要再次add才会被提交。

[b]2、删除文件 -- svn delete[/b]
[i]格式:svn delete PATH...
svn delete URL...
[/i]前者在删除工作副本的路径的同时,会在下一次提交时同步版本库;后者则会立即删除URL标识的版本库,但本地的工作副本会得以保留,下一次提交时这个文件不会被提交。你可以使用--keep-local,要求保留本地工作副本。

[b]3、复制文件 -- svn copy[/b]
[i]格式:copy SRC[@REV]... DST[/i]
注意@REV代表的是版本号,因为源文件可能有多个版本
复制可以是在本地的工作副本中完成,也可以是直接在版本库中完成。同样的,如果是在本地工作副本中完成,将会在本地复制,但要等到下一次提交时才能同步到版本库;而如果针对版本库则会直接在库中复制。

[b]4、移动文件 -- svn move[/b]
[i]格式:move SRC... DST[/i]
与复制很像,不同的只是将文件换了个地方,即要删除原来的文件。

[b]5、创建路径 -- svn mkdir[/b]
[i]格式:mkdir PATH...
mkdir URL...
[/i]同样的,前者是针对本地工作副本,后者是针对版本库。

[b]6、查看变化 -- svn status & svn diff[/b]
这两个命令用于查看工作副本相对于版本库的变化
svn status的基本格式是:svn status [PATH]
status命令提供了一个对工作副本的总体概览,哪些文件是新增加的,哪些文件修改了,哪些文件还没有同步到版本库,都会在这个命令后列出来。status使用了一些单字符代表状态信息,比如“?”代表没有同步到版本库、“!”代表丢失、“A”代表添加等等。比如,我执行该命令后的输出如下:

[img]http://dl2.iteye.com/upload/attachment/0101/8846/a166945c-0ba7-3a84-82ba-ac4a1d56f034.png[/img]

这就说明有三个文件不在版本控制之下,需要使用svn add添加,一个文件被修改,需要提交。
svn diff的格式有很多种,我不一一列举了,它的主要作用就是查看修改文件的具体变化内容。比如,我想查看上述目录中的变化情况,可以使用命令:
svn diff d:/ztest/out/
这样SVN会将这个目录下修改的文件内容都列举出来,就可以看到哪些地方更改了。

[b]7、补丁 -- svn patch[/b]
patch,即补丁,是一个独立的文件,记录了两个版本之间的差异数据,可以使用以下命令生成补丁文件:
svn diff > [补丁文件名称]
然后,在工作副本中应用补丁:
svn patch [补丁文件名称] [工作副本路径]

[b]8、更新 -- svn update[/b]
svn update用于同步本地工作副本与版本库,可以使用-r选项,告诉更新到哪一个版本,例如
svn update -r354,它的意思就是要更新到354这个版本


以上介绍一些典型的命令,当然这不是全部。就算我有兴趣将这些命令都在这节里写出来,我估计你也没有兴趣把它们看完。所以就介绍8个吧,还比较吉利的数字。你可以使用svn help查看这些命令,当你需要用的时候。

这些碎碎念念的东西,就是构成SVN命令行客户端的基本命令。虽然我们后面会介绍TortoiseSVN这种可视化的客户端工具,但这些命令对于我们深入理解SVN还是十分有帮助的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值