SVN中的目录或文件的状态表示:
- ?:不在svn的控制中;
- M:内容被修改;
- C:发生冲突;
- A:预定加入到版本库;
- K:被锁定
(1)签出
svn checkout 仓库地址 本地存放地址 --username 用户名 --password 密码(2)往本地版本库中添加新的文件
之后才能被提交到线上的版本库
svn add *.so(3)将改动的文件提交到线上版本库
svn commit -m "serveral .so file of image-select-library" *.so(5)更新到某个版本
如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本,如:
svn update将版本库中的文件Main.java还原到版本200
svn update -r 200 Main.java更新Main.java文件,和版本库同步
svn update Main.java注意:如果在提交时提示过期,原因是有文件冲突了,要先update,再修改文件,然后清除svn resolved,最后再提交commit。
(6)解决冲突
移除工作副本的目录或文件的“冲突”状态
svn resolved PATH…注意: 它不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的相关文件,然后让 PATH 可以再次提交。
(7)将两个版本之间的差异合并到当前文件
将版本200与205之间的差异合并到当前文件Main.java,但是一般都会产生冲突,需要处理一下
svn merge -r 200:205 Main.java(8)删除文件
svn delete http://192.168.1.1/pro/domain/Main.java -m “delete Main.java file”推荐方式
先删除本地库的:
然后再提交线上版本库删除:
svn commit -m ‘delete Main.java file‘(9)查看日志
显示这个文件的所有修改记录,及其版本号的变化
svn log Main.java直接使用svn log 还可以显示整个代码修改的记录,指定显示LOG的条目,如:
svn log --limit 10(10)查看文件详细信息
svn info Main.java(11)创建纳入版本控制下的新目录
创建纳入版本控制下的新目录
svn mkdir 新目录名在本地端创建工作副本 PATH目录,并且加入新增文件,下次就可以提交它了
svn mkdir PATH…以URL指定的目录,都会立即提交于仓库中创建
svn mkdir URL…删除目录
svn rm 目录名(12)恢复本地修改
恢复工作副本文件 (恢复大部份的本地修改)
svn revert PATh...注意: 它不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录。
(13)版本库下的文件和目录列表
显示path目录下的所有属于版本库的文件和目录
svn list http://172.16.28.208/svn/project/kandroid(14)输出指定文件或URL的内容。
PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的,如果指定了版本,将从指定的版本开始查找
svn cat -r PREV filename > filename(15)代码库URL变更
更新工作副本至不同的URL
svn switch (sw)用法1:更新工作副本,映射到一个新的URL,会将服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的方法。
svn switch URL [PATH]用法2:改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用。这个命令更新工作副本与仓库的对应关系。
svn switch –relocate FROM TO [PATH...]