SVN的命令操作
- 将文件checkout到本地的目录
cmd:svn checkout path(path为服务器上的目录)
eg: svn checkout svn://192.168.1.1/pro/domain
abb:svn co
注意:如果是中文话加–username 张伟
eg: svn checkout svn://192.168.1.1/pro/domain --username 张伟
注意:如果上面的地址不是IP地址而是域名的形式,本地域名的形式的话,那么就需要配置一下hosts文件,即在/private/etc/下的hosts文件里面修改。
- 查看路径:进入到之前的本地仓库路径下然后
cmd: svn info
eg: svn info
- 往版本库中添加新的文件
cmd:svn add file
eg: svn add test.php; svn add *.php添加当前路径下所有的php文件
- 将改动的文件提交到版本库(这个是要在你的当前要上传的文件的目录,不是它的目录下)也就是本地仓库
cmd:svn commit -m "Test File" [-N][--no-unlock]PATH(如果选择了保持锁,就使用–no-unlock)
eg: svn commit -m "add test file for my test" test.php
abb:svn ci
- 如果直接要更新SVN远程最新版本到本地,进入仓库地址
cmd:svn update
abb:svn up
- 更新到某个版本
cmd: svn update -r m path
eg: svn -r 2001 test.php (更新到2001版本)
- 加锁和解锁
cmd: svn lock -m "LogcMessage" [--force] PATH
eg: svn lock -m "lock test file" test.php
cmd: svn unlock PATH
- 查看当前svn路径下的各种不同版本
svn log
- 查看文件或者目录的状态
cmd:svn status path\ svn status -v path
svn status/svn diff/svn revert无网络也可以使用,本地有.svn保留了原始拷贝
abb:svn st
- 删除文件
cmd: svn delete path -m "delete test file"
eg: svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file"
or svn delete test.php then svn ci -m "delete test file"
abb: svn del, remove, rm
注意:
删除了某个文件,需要先将远程仓库内容删除掉,然后本地的也删除掉,然后在工程目录下,通过commit命令提交文件或者文件夹
例如:svn commit -m “更新” ./TestFilesDirectory
- 查看日志
cmd: svn log path
eg: svn log test.php
- 查看文件的详细信息
cmd: svn info path
eg: svn info test.php
- 比较差异
cmd: svn diff path(修改的文件与基础版本比较)
eg: svn diff test.php
abb: svn di
- 将两个版本之间的差异合并到当前文件
cmd: svn merge -r m:n path
eg: svn merge -r 10:14 test.php
- SVN帮助
cmd: svn help
eg: svn help ci
不常用的命令
- 版本库下的文件和目录列表
cmd: svn list path
abb: svn ls
- 创建纳入版本控制的新目录
cmd: svn mkdir
- 恢复本地修改(本地文件回滚)
cmd: svn revert path
问题:不小心用svn删除了本地的文件,但是还没提交,怎么恢复本地文件
PS:刚才的问题,正确处理是用svn revert -R这个命令撤销操作,很恶心的是,你-r小写他不报错,也没有任何反应(如果不加-R只作用于后面的这个path目录,不会有子目录)
- 代码库URL变更
cmd: svn switch
- 解决冲突
cmd: svn resolved path
- 输出指定的文件或者URL
cmd: svn cat