这个简单的说一下命令行的使用方法。
参考资料
用法
将文件拉到本地目录
- svn checkout
- 或者
- svn co
第一次用
svn checkout url --username=*** --password=*** path
其中 url
是服务器地址 path
是将要拷贝的地址
或者 svn checkout url path
回车会提示输入用户名和密码
不是第一次,已经验证过用户名和密码
svn checkout url 就可以了
向版本库添加新的文件
- svn add file
- svn add path
- 某个文件或资源
svn add *.path
- 添加当前目录下的所有的
path
文件
- 添加当前目录下的所有的
将修改的文件提交
- svn commit -m”提交信息”
- svn ci(简写) -m””
加锁/解锁
- svn lock -m”LockMessage” [—force] path(某个文件)
- svn lock -m “lock test file” lock.h
- svn unlock path(表示某个文件)
更新到某个版本
- svn update -r m path
- svn update
- 如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
- svn update -r 100 test.m
- 将版本库中的文件
test.m
还原到版本100
- 将版本库中的文件
- svn update test.m
- 更新,于版本库同步。
- 如果在提交的时候提示过期的话,是因为冲突,需要先
update
,修改文件,然后清除svn resolved
,最后再提交commit
)
查看文件或者目录状态
- svn status path
- 目录下的文件和子目录的状态,正常状态下不显示
- ?
- 不在
svn
的控制中
- 不在
- M
- 内容被修改
- C
- 发生冲突
- A
- 预定加入到版本库
- K
- 被锁定
- svn status -v path
- 显示文件和子目录状态
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:
- svn status
- svn diff
- svn revert
这三条命令在没有网络的情况下也可以执行的,原因是 svn
在本地的 .svn
中保留了本地版本的原始拷贝。
简写:svn st
删除文件
svn delete path -m “delete test file”
例如:
svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file"
或者直接 svn delete test.m
然后再 svn ci -m 'delete test file
,推荐使用这种
简写:svn (del, remove, rm)
查看日志
- svn log path
例如:svn log test.php
显示这个文件的所有修改记录,及其版本号的变化
查看文件的详细信息
- svn info test.m
比较差异
svn diff path
- 将修改的文件与基础版本比较
例如:svn diff test.m
- 将修改的文件与基础版本比较
svn diff -r m:n path
- 对版本m和版本n比较差异
例如:svn diff -r 200:201 test.m
简写:svn di
将两个版本之间的差异合并到当前文件
- svn merge -r m:n path
例如:svn merge -r 200:205 test.m
(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)
帮助
- svn help
版本库下的文件和目录列表
- svn list path
显示 path
目录下的所有属于版本库的文件和目录
简写:svn ls
恢复本地修改
- svn revert path