(一)基本操作
svn add 文件/目录
:新增文件/目录svn up (文件/目录) (-r 版本)
:从服务器更新(文件/目录)至某版本(默认是最新版本)svn commit -m 日志描述
:提交至服务器svn st
:查看工作区所做的改变svn info (文件/目录)
:查看文件/目录的信息svn -log (-l 日志数)
:查看日志(可限制数目)svn diff (文件/目录) -r (版本1 :) 版本2
:比较两个版本(默认是当前版本)(文件/目录)的差异svn export . 导出目录
:将不含.svn的整个项目导出到指定目录(该目录不能事先创建)
(二)回滚版本
e.g. 从版本5回退至版本3
PS C:\Users\SVN> svn merge -r 5:3 .
--- Reverse-merging r5 through r4 into '.':
U test\test.txt
--- Recording mergeinfo for reverse merge of r5 through r4 into '.':
U .
--- Eliding mergeinfo from '.':
U .
PS C:\Users\SVN> svn commit -m 'revert to r 3'
Sending test\test.txt
Transmitting file data .done
Committing transaction...
Committed revision 6.
(三)新建分支
PS C:\Users\SVN\branch> svn cp -m 'create branch0' file:///C:/Users/server/trunk file:///C:/Users/server/branch0
Committing transaction...
Committed revision 2.
PS C:\Users\SVN\branch> svn co file:///C:/Users/server/branch0
A branch0\readme.txt
Checked out revision 2.
(四)外部链接
e.g. 将当前任务file:///C:/Users/server/trunk
的third-party
目录链接到外部任务file:///C:/Users/external
的src
目录。
- 先
checkout
当前任务server/trunk
到client/trunk
目录。 - 在
client/trunk
目录下修改svn:externals
属性。可以先在环境变量设定SVN_EDITOR
为notepad
,再执行svn propedit svn:externals .
;又或者直接执行svn propedit svn:externals . --editor-cmd notepad
。这样可以在记事本打开svn-prop.tmp文件进行属性修改。
执行svn propget svn:externals .
可以查看属性是否起效。
注:在VSCode下修改(将编辑器指定为code)并不能起效,原因未明。 - 在编辑器中输入
third-party file:///C:/Users/external/src
即可将server/trunk/third-party
链接到external/src
,执行svn up
即可更新到客户端。