全局选项:
--username ARG
指定用户名称 ARG
--password ARG
指定密码 ARG
--no-auth-cache
不要缓存用户认证令牌
--non-interactive
不要交互提示
--trust-server-cert
不提示的接受未知的证书颁发机构发行的 SSL 服务器证书(只用于选项“--non-interactive”)
--config-dir ARG
从目录 ARG 读取用户配置文件
--config-option ARG
以下属格式设置用户配置选项:
FILE:SECTION:OPTION=[VALUE]
例如:
servers:global:http-library=serf
svn add
把文件以及目录的名称添加到版本控制系统。他们会在下次提交时被添加到项目仓库中去。
svn add path...
选项:
--auto-props
再添加它们的时候自动设置文件的属性。
--no-auto-props
禁用自动设置属性。
svn blame (ann, annotate, praise)
显示文件每行的版本以及作者信息。
svn blame target...
选项:
--revision, -r rev
如果指定的rev是单个版本,显示该版本的作者信息。如果指定的版本范围rev1:rev2,显示rev2版本的作者信息,但是只检查版本到rev1(要使得这命令有意义,rev1必须小于rev2)。
svn cat
输出指定文件或者URL的内容。
svn cat target...
选项:
--revision, -r rev
输出版本rev的target的内容。
svn checkout (co)
从项目仓库签出一个工作拷贝。
svn checkout url... path
签出给定URL。如果没有指定path参数,签出的本地目录名使用URL的基础名称(base name)。如果指定了path,而且URL参数只有一个,签出到该目录。如果指定了path,但是有多个,签出到path目录之下的子目录中,目录名使用对应URL的基础名称。
选项:
--revision, -r rev
指定要签出的版本
svn cleanup
清理工作拷贝,移除锁,完成未完成的操作,等等。
svn cleanup path...
svn commit (ci)
把改动从你的工作拷贝发送到项目仓库。
svn commit path...
选项:
--message, -m msg
使用msg作为提交日志消息。
--file, -F file
使用file的内容作为提交日志的消息。
--no-unlock
不要在提交的时候释放锁。
svn copy (cp)
在工作拷贝或者项目仓库中制造包括历史在内的复本。
svn copy src... dest
当复制多个源时,它们作为dest的子节点增加, dest必须是目录。src和dest可以是工作副本路径(WC)或版本库地址(URL):
src | dest | 效果 |
WC | WC | 拷贝并添加(包括历史) |
WC | URL | 立即提交WC的拷贝到URL |
URL | WC | 签出URL到WC,添加 |
URL | URL | 完全服务器端拷贝,用于制作分支和标签等 |
选项:
--revision, -r rev
指定要拷贝的src的版本。只在src是版本库地址URL时才有意义。
svn delete (del, remove, rm)
从版本控制系统中移除文件或者目录。
svn delete target...
从项目仓库删除文件或者目录。如果target是工作拷贝中的文件或者目录,它被工作拷贝中移除并且在下次提交时删除掉。如果target是项目仓库URL,则会通过一次立即的提交从项目仓库中删除。
选项:
--message, -m msg
使用msg作为提交日志信息。
--file, -F file
使用file的内容作为提交日志信息。
svn diff (di)
显示两个路径之间的差异。
1. svn diff -r rev1:rev2 target...
2. svn diff oldurl newurl
在第一种格式中,显示target在两个版本rev1和rev2之间的改动。target可以是工作拷贝路径或者URL。
在第二种格式中,显示最新版本的oldurl和newurl之间的差异。
选项:
--old arg
使用arg作为老一些的目标
--new arg
使用arg作为新一些的目标
svn export
创建目录树的一个无版本记录的拷贝。
svn export URL path
从项目仓库的指定URL到处一个干净的目录树到path中,如果指定了rev参数,到处rev版本,否则到处最新版本。如果path被省略了,URL的基本名称将被作为本地目录的名称。
选项:
--revision, -r rev
指定到处项目仓库的版本。
--native-eol style
对于有本地svn:eol-style属性的文件,使用不同的行结尾标识符而不是系统标准的文件行结尾标识符。style必须是LF,CR或者CRLF之中的一个。
svn import
提交一个无版本的文件或者目录到项目仓库中。
svn import path URL
递归提交path的一个拷贝到URL。如果path被省略了,将默认提交当前目录。父目录会根据需要在项目仓库中创建。
选项:
--auto-props
在导入过程中自动设置属性给文件。
--no-auto-props
对于导入的文件禁用自动设置属性。
svn info
显示文件或者目录的信息。
svn info path...
打印每个path的信息。
选项:
--recursive, -r
递归显示目录的信息
svn list (ls)
列出项目仓库中的目录条目。
svn list target...
如果是在项目仓库中,列出每个target文件以及每个target目录的内容。如果target是在工作拷贝中,会使用对应的项目仓库URL。
选项:
--verbose, -v
显示额外信息。
svn lock
锁住文件让其他用户不能提交改动。
svn lock target
与项目仓库服务器联系,获得对一个或者多个工作拷贝文件的锁。一旦锁住了,其他用户就不能提交改动该文件,除非锁被释放或者被破坏。
选项:
--message, -m msg
使用msg作为锁消息信息。
--force
强制从其他用户或者工作拷贝获得锁。
svn log
显示一些版本或者文件的日志信息。
svn log target
打印本地路径或者项目仓库URL的日志信息。对于每个本地路径,默认的版本范围是BASE:1,对于URL默认的版本范围是HEAD:1。
选项:
--revision, -r rev
如果rev是单个版本,只显示该版本的日志条目。如果rev是版本范围,显示这些版本的日志条目,
--verbose, -v
打印每条日志消息所影响的路径。
--stop-on-copy
在遍历历史的时候不要穿越拷贝(对于查找分支的起点很有用)。
svn merge
把两个来源的差异应用给工作拷贝路径。
1. svn merge [email protected] [email protected] WCPath
2. svn merge [email protected] [email protected] WCPath
3. svn merge -r rev1:rev2 SOURCE WCPath
第一个格式中,源URL被指定了版本rev1和rev2.这是两个要被比较的源。如果没有指明版本,默认使用最新版本。
在第二个格式中,对应工作拷贝的URL被指定作为要比较源。版本号必须指定。
在第三种格式中,SOURCE可以是URL或者工作拷贝中条目,使用工作拷贝的话会使用对应的URL代替。这个URL会被比较它的rev1和rev2版本。
WCPath是接受这些改动的工作拷贝路径。如果WCPath被省略,假定就是当前目录,除非来源尤一个唯一的base name匹配了当前目录的文件,如果是这样的话改动就会应用于那个文件。
选项:
--diff3-cmd cmd
使用cmd作为合并命令。
--ignore-ancestry
在计算合并时忽略过去历史。
svn mkdir
创建版本控制下的新目录。
1. svn mkdir PATH...
2. svn mkdir URL...
在第一种情况下,每个以工作副本PATH指定的目录,都会在本地创建,并且加入增加调度,直到下次提交。
在第二种情况中,每个以URL指定的目录,都会通过立即提交在版本库中创建。
在这两种情况下,所有的中间目录都必须事先存在,除非使用--parents选项。
svn move (mv, rename, ren)
移动或者重命名工作拷贝或者项目仓库中的文件或者目录。
svn move src... dest
当移动多个源时,它们作为dest的子节点添加,dest必须是目录。本命令等同于先“copy”,然后“delete”。src和dest可以是工作拷贝路径或者项目仓库URL。在工作拷贝中,移动被执行并且新的位置于下次提交时添加。对于项目仓库URL,一个完全服务器端的重名名操作被立即执行。
选项:
--revision, -r rev
使用版本rev作为源来执行这次移动。
svn propdel (pdel, pd)
删除文件或者目录的属性。
svn propdel propname path...
在本地工作拷贝中删除path的propname属性
svn propedit (pedit, pe)
编辑文件或者目录的属性。
svn propedit propname path..
打开一个外部的编辑器在本地工作拷贝中编辑path的propname属性。
svn propget (pget, pg)
打印文件或者目录的属性。
svn propget propname path...
打印每个path的propname的内容。本子命令默认会在属性内容加上额外的换行符,得到美观的输出。另外,当同时处理多个路径时,每一个属性内容会在开头增加上它所对应的路径。
选项:
--strict
禁用额外的换行和其他的美化措施。
svn proplist (plist, pl)
列出文件或者路径的所有属性。
svn proplist path...
列出path的所有属性。
选项:
--verbose, -v
打印额外的信息。
--recursive, -R
递归下降。
--revision, -r rev
列出path在版本rev定义的属性。
svn propset (pset, ps)
设置文件或者路径的属性。
svn propset propname propval path...
对于path,设置值propval给propname属性。如果propval没有指定,你必须使用-F选项来指定一个文件,其内容会作为属性的值设置给属性。
选项:
--file, -F file
读取file的内容,使用它作为属性值。
--recursive, -R
递归下降。
--encoding enc
把值作为使用enc编码的字符集。
svn resolve
解决工作副本中目录或文件的冲突。
resolve --accept=ARG [path...]
注意:当前需要选项—accept
选项:
--targets ARG
传递文件ARG内容为附件参数
--recursive, -R
递归下降
--accept ARG
指定自动解决冲突动作的源(base, working, mine-conflict, theirs-conflict, mine-full, theirs-full)
svn resolved
移除工作拷贝文件或者目录的冲突状态。
svn resolved path...
标记之前包含冲突的文件为“已解决”。注意这个命令不会从语意上解决冲突或者移除冲突标记;它只是移除冲突相关的文件并且允许path被再次提交。它已经过时,被 “svn resolve --accept working”取代。
选项:
--recursive, -R
递归下降。
svn revert
恢复工作拷贝中的文件(撤销最新的本地修改)。
svn revert path...
这个命令不许要网络连接并且撤销你对path所做的一切改动。它不恢复被删除的目录。它会它解除任何冲突的状态。
选项:
--recursive, -R
递归下降
svn status (stat, st)
打印工作拷贝中文件和目录的状态。
svn status path...
没有任何参数,只是打印本地修改过得条目(无须访问网络)。
加-u参数,添加工作版本和服务器过期信息。
加-v参数,打印每个条目完整的版本信息。
输出中的前七列的宽度均为一个字符。
第一列:指出条目是被添加、删除还是修改过了
“ ” 无修改
A 增加
C 冲突
D 删除
I 忽略
M 改变
R 替换
X 未纳入版本控制的目录,被外部引用的目录所创建
? 未纳入版本控制
! 该项目已遗失(被非 svn 命令删除)或不完整
~ 版本控制下的项目与其它类型的项目重名
第二列: 显示目录或文件的属性状态
“ ” 无修改
C 冲突
M 改变
第三列:工作拷贝目录是否被锁定
“ ” 未锁定
L 锁定
第四列:已调度的提交是否包含副本历史
“ ” 没有历史
+ 包含历史
第五列:该条目相对其父目录是否已切换,或者是外部引用的文件
“ ” 正常
S 已切换
X 被外部引用创建的文件
第六列:版本库锁定标记
(没有-u)
“ “ 没有锁定标记
K 存在锁定标记
(使用-u)
“ ” 没有在版本库中锁定,没有锁定标记
K 在版本库中被锁定,存在锁定标记
O 在版本库中被锁定,锁定标记在一些其他工作副本中
T 在版本库中被锁定,存在锁定标记但已被窃取
B 没有在版本库中被锁定,存在锁定标记但已被破坏
第七列:项目冲突标记
“ ” 正常
C 树冲突
如果项目包含于树冲突之中,在项目状态行后会附加行,说明冲突的种类。
是否过期的信息出现的位置是第九栏(与 -u 并用时):
“ “ 工作拷贝是最新版的
* 服务器上有更新版本
剩余的栏位皆为变动宽度,并以空白隔开:
工作版本号(使用 -u 或 -v 时;被复制时显示“-”);
最后提交的版本与最后提交的作者(使用 -v 时);
工作副本路径总是最后一栏,所以它可以包含空白字符。
选项:
--show-update, -u
联系服务器显示更新信息。
--verbose, -v
打印额外的信息
--non-recursive, -N
只操作单个目录
--no-ignore
忽视默认设置和svn:ignore属性设置的忽略项
svn switch (sw)
把工作拷贝转向其他URL。
svn switch URL path
更新工作拷贝让其使用项目仓库的新URL。这个行为类似svn update,而且是一种把工作拷贝转向到同一项目仓库中的分支或者标签的办法。
选项:
--revision, -r rev
转向到版本rev
--non-recursive, -N
只操作单个目录
--diff3-cmd cmd
使用cmd作为合并命令
svn unlock
解开工作拷贝文件或者项目仓库URL的锁。
svn unlock target...
释放当前对target的锁,以让其他用户可以提交改动。
选项:
--force
破坏现有对targe的锁,甚至它不是被当前工作拷贝所拥有的。
svn update (up)
把改动从项目版本库带到工作拷贝来。
svn update path...
如果没有指定版本,把工作拷贝更新为新最新版本。否则把宫组拷贝同步为-r选项指定的版本。
对于每个更新过的条目会有单独一行,开头有一个字符表示做过的动作。这些字符有一下含义:
A 添加
D 删除
U 更新
C 冲突
M 合并
第一列的字符表示了对实际文件的更新,对于文件属性的更新被列到第二列。
选项:
--revision, -r rev
更新到版本rev
--non-recrusive, -N
只操作单个目录
--diff3-cmd cmd
使用cmd作为合并命令