http://venus.sogou-inc.com/AppStore/Wiki/Pages/WikiArticles.html?id=6046
因需要在mac下通过SVN更新测试用例等文档,所以需要在mac本搭建SVN环境。上网查看了很多mac下常用的SVN工具,比如svnX,SmartSVVN,Version等,这些工具有些需要破解使用,有些即使安装成功,使用起来发现很不爽。因mac自带了SVN的服务端和客户端功能,所以可以在不安装任何第三方工具的情况下使用SVN功能,且使用起来较为方便。下边介绍一些mac下SVN常用的命令:
1. 首次将SVN服务端的内容下载到本地
svn checkout svn地址 本地地址
或简写为 svn co svn地址 本地地址
zhaosldeMacBook-Pro:~ zhaosl$ svn checkout http://svn.sogou-inc.com/svn/browser/semate/qa /Users/zhaosl/Documents/qa
2. 往版本中添加新的文件
svn add file
批量添加某个文件夹下的所有文件的方法是:svn add *.xlsx
新增文件之后,文件为A,预定加入到版本库状态。这个时候,可通过svn commit -m "Logmessage" PATH来解决
3. 将改动的文件提交到版本库
svn commit -m "Logmessage" PATH
或简写为svn ci
zhaosldeMacBook-Pro:Project zhaosl$ svn commit -m "更新地址栏checklist" 地址栏测试用例checklist.xlsx
4. 更新到某个版本
svn update -r m path
例如将版本库的文件test.php还原到版本200:svn update -r 200 test.php
或简写为 svn up
zhaosldeMacBook-Pro:Project zhaosl$ svn up
5. 删除文件
svn delete path -m "delete test file"
zhaosldeMacBook-Pro:Project zhaosl$ svn delete http://svn.sogou-inc.com/svn/browser/semate/qa/test.xlsx -m "delete test file"
6. 查看日志
svn log path
zhaosldeMacBook-Pro:iOS排期 zhaosl$ svn log iOS_排期_v3.7.xlsx
7. 查看文件详情
svn info path
zhaosldeMacBook-Pro:iOS排期 zhaosl$ svn info iOS_排期_v3.7.xlsx
8. 加锁/解锁
svn lock -m "LockMessage" PATH
zhaosldeMacBook-Pro:iOS排期 zhaosl$ svn lock -m "正在更新排期" iOS_排期_v3.7.xlsx
解锁:svn unlock PATH
9. 查看文件或者目录状态
svn status path(目录下的文件或子目录的状态,正常状态不显示)
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
svn status -v path
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人
10. 比较差异
svn diff path(将修改的文件与基础版本比较)
对版本m和版本n进行比较:svn diff -r m:n path
11. 文档URL变更
svn switch:更换工作副本至不同的URL
用法:
1. switch URL [PATH] 更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的方法
2. switch -relocate FROM TO [PATH...] 改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用。这个命令更新工作副本与仓库的对应关系
12. 版本库下的文件和目录列表
svn list path 显示path目录下所有属于版本库的文件和目录
简写:svn ls
13. 创建纳入新版本控制下的新目录
svn mkdir :创建纳入新版本控制下的新目录
用法:
1. mkdir PATH 每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增调度,以待下一次的提交
2. mkdir URL... 每个以URL指定的目录,都会透过立即提交于仓库中创建
在这两种情况下,所有的中间目录都必须事先存在
14. SVN 帮助
svn help