前言
前段时间总结了一下svn客户端的使用方法,过了这么长时间,终于有时间总结一下常用命令了,在今天这样一个比较“虐狗”的日子了,我还是不要出去被虐了,在家码字,敲代码吧。
svn checkout(检出)
将服务器上的项目下载到本地目录,在想要保存的目标文件夹下,打开cmd命令行,输入svn checkout path(服务器上的路径),简写 svn co path
svn checkout http://路径(目录或文件的全路径) [本地目录全路径] –username 用户名
svn checkout svn://路径(目录或文件的全路径) [本地目录全路径] –username 用户名
导出(导出一个干净的不带.svn文件夹的目录树)
svn export [-r 版本号] http://路径(目录或文件的全路径) [本地目录全路径] –username 用户名
svn export [-r 版本号] svn://路径(目录或文件的全路径) [本地目录全路径] –username 用户名
svn export 本地检出的(即带有.svn文件夹的)目录全路径 要导出的本地目录全路径
svn add file
往服务器上添加新文件 svn add 文件名
添加文件后需要使用 svn commit -, ‘提交信息’上传到服务器
svn commit -m提交
svn commit -m “提交备注信息文本“ [-N] [–no-unlock] 文件名
svn ci -m “提交备注信息文本“ [-N] [–no-unlock] 文件名
必须带上-m参数,参数可以为空,但是必须写上-m
svn update
svn update
svn update -r 修正版本 文件名
svn update 文件名
svn delete
svn delete svn://路径(目录或文件的全路径) -m ‘删除备注信息’
推荐如下操作:
svn delete 文件名
svn ci -m ‘删除备注信息’
加锁/解锁
svn lock -m “加锁备注信息” [–force] 文件名
svn unlock 文件名
比较差异
svn diff 文件名
svn diff -r 修正版本号m:修正版本号n 文件名
例:svn diff -r 200:201 test.txt
查看文件或者目录状态
svn st 目录路径/名
svn status 目录路径/名<- 目录下的文件和子目录的状态,正常状态不显示
【?:不在svn的控制中; M:内容被修改;C:发生冲突;
A:预定加入到版本库;K:被锁定】
svn -v 目录路径/名
svn status -v 目录路径/名<- 显示文件和子目录状态
【第一列保持相同,第二列显示工作版本号,
第三和第四列显示最后一次修改的版本号和修改人】
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
查看日志
svn log 文件名
查看文件详细信息
svn info 文件名
svn 帮助
svn help
查看版本库下的文件和目录列表
svn list svn://路径(目录或文件的全路径)
svn ls svn://路径(目录或文件的全路径)
创建纳入版本控制下的新目录
svn mkdir 目录名
svn mkdir -m “新增目录备注” http://目录全路径
添加完子目录后,一定要回到根目录更新一下
svn update 简写 svn up
恢复本地修改
svn revert [–recursive] 文件名
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录。
把工作拷贝更新到别的URL
svn switch http://目录全路径 本地目录全路径
解决冲突
svn resolved [本地目录全路径]
不checkout而查看输出特定文件或URL的内容
svn cat http://文件全路径
新建一个分支copy
svn copy branchA branchB -m “make B branch” // 从branchA拷贝出一个新分支branchB
合并内容到分支merge
svn merge branchA branchB // 把对branchA的修改合并到分支branchB