命令行 svn 使用小结
svn --help 有帮助信息
checkout 代码, 举例
1. svn co
svn co "https://192.168.11.202:8443/svn/Android2" .
其中 https 是协议, 可以用http:, https:, svn: 等 如果不是http 服务器而是本机, 则可以用svn, 例如:
svn checkout "svn://localhost/firedoor" .
服务器端不是apache 或 ngix , 而只是局部网内svn 服务器.
也用svn协议: 例如:svn co "svn://192.168.11.202:8443/svn/Android2" .
--------------------------------------------------------------------------------
甲:更改:
1. 查询自己都改动了哪些文件
svn st
--------------------------------------------------------------------------------
乙:同步:
1. 与数据库同步
svn up
--------------------------------------------------------------------------------
丙:. 代码提交3.
svn ci -m""
--------------------------------------------------------------------------------
丁:查询
1. 获取当前svn 版本号。服务器地址等
svn info
2. 查阅该版本与上一版本(或几个版本)之间记录,文件差异。
svn log -r ARG -l -v
-r 可以指明版本
-l 可以限制log entry 数目
-v 可以打印都有哪些文件做了变动
3. 查阅该文件与上一个版本文件内容差异
svn diff -r PREV filename
--------------------------------------------------------------------------------
戊:放弃更改 退回
svn revert filename
--------------------------------------------------------------------------------
己:svn 比较差异。
svn diff
你可以用vimdiff 来代替默认的diff 命令,有更好的视觉效果。方法见另一篇帖子。
--------------------------------------------------------------------------------
庚 常见问题:
svn add 目录时失败,出现问题:
svn: 警告: “XXX目录”已纳入版本控制
错误类型1:
用svn st 查询, 是一个tide ~
原因:当用svn add 命令时,需要sudo 权限, 当没有加sudo 时,出现一个错误权限不够。
此时在目录下不能生成.svn 信息, 但当前目录下的.svn 信息却已经更新。
解决办法:正确的作法是 svn revert. 恢复。 然后sudo svn add 即可
错误类型2:
用svn st 查询, 是一个question ?
原因: 添加的目录下已经有一个过时的.svn 信息。
解决办法. 删除所有旧的 .svn 信息,再添加。
--------------------------------------------------------------------------------