SVN是Subversion的简称,是一个开放源代码的集中式的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。但是相比较于分布式的Git分布式版本管理系统还是有很大的差距,目前新项目几乎统一采用的是Git作为版本管理工具,但是很多公司的老项目依旧采用的是svn管理,所以在这里还是总结一下日常使用svn的笔记:
svn checkout url从svn服务器检出相应分支的代码
svn list -- 显示一个目录或某一版本存在的文件列表
svn cat -- 显示特定版本的某文件内容
svn switch url切换分支到指定分支上面
svn status查看本地分支的改动情况
svn log url 显示svn 的版本log,含作者、日期、路径等
svn diff 对比版本中改动的信息
例:
svn diff -r 2 #比较你的本地代码和版本号为3的所有文件的不同。
svn diff -r 3 text.c #比较你的本地代码和版本号为3的text.java文件的不同。
svn diff -r 5:6 #比较版本5和版本6之间所有文件的不同。
svn diff -r 5:6 text.c #比较版本5和版本6之间的text.java文件的变化。
svn diff -c 6 test.c #比较版本5和版本6之间的text.java文件的变化。
svn add file_path 添加本地文件或是目录到本地版本库缓存区
svn revert 撤销本地改动
svn commit -m "改动说明" 提交本地版本库缓冲区的所有改动
svn info 查看当前分支的信息
svn help 查看svn相关帮助信息
svn log --stop-on-copy 查看分支从创建从目前修改日志
svn merge -r version:HEAD url --dry-run 预合并分支(version版本开始)到当前分支的HEAD后
svn merge -r version:HEAD url 合并
svn resolved file 解决冲突