SubVersion学习
- 安装
- 安装Subclipse插件 update:http://subclipse.tigris.org/update_1.6.x
- 安装Subversion命令行工具:1.6.x+ http://subversion.tigris.org/getting.html
- 安装TortoiseSVN图形工具(可选): 1.6.x+ http://tortoisesvn.tigris.org/
- svn目录结构
- trunk 项目主干
- branches 项目
- tags 保存标签拷贝
- svn命令学习
- 从版本库检出代码
svn co svnurl localdir - 添加资源到版本库
svn add localpath - 删除版本库资源
svn delete svnurl - 查看修改资源
svn status [svnurl]
命令选项列表- -v 显示工作拷贝所有资源(包括没有修改的资源),只是与.svn中的原始数据进行比较的结果
- -u 它将会联系版本库为已经过时的数据添加新信息(注意*号:你可以在提交之前,需要使用更新操作得到文件README的更新,
或者说文件已经过时,版本库会拒绝了你的提交)
- 查看资源内容修改详情
svn diff - 更新资源
svn update
状态解释- U 表明本地没有修改,文件已经根据版本库更新
- G 标示本地已经修改过,与版本库没有重迭的地方,已经合并
- C 表示冲突,说明服务器上的改动同你的改动冲突了,你需要自己手工去解决
- 解决冲突
对于每一个冲突的文件,Subversion放置三个额外的未版本化文件到你的工作拷贝:
filename.mine
你更新前的文件,没有冲突标志,只是你最新更改的内容。(如果Subversion认为这个文件不可以合并,.mine文件不会创建,因为它和工作文件相同。)
filename.rOLDREV
这是你的做更新操作以前的BASE版本文件,就是你在上次更新之后未作更改的版本。
filename.rNEWREV
这是你的Subversion客户端从服务器刚刚收到的版本,这个文件对应版本库的HEAD版本。
这里OLDREV是你的.svn目录中的修订版本号,NEWREV是版本库中HEAD的版本号。- 手工合并冲突
手工确认并编辑冲突的文件内容,再运行svn resolved(会删除三个临时文件,并且删除冲突标志)
###用某一个临时文件覆盖你的工作文件
运行svn update更新,用cp覆盖自己的工作文件,再运行svn resolved - 放弃所有的本地修改
使用使用svn revert file
- 手工合并冲突
- 提交修改
svn commit - 查看修订日志
svn log -l 2 mixSale.vm
-l 表示只显示最近两条 - 比较内容
svn diff
用法- svn diff mixSale.vm
比较BASE和你的工作拷贝 - svn diff -c 315194 mixSale.vm
比较315194和前一修订版本的区别(315193) - svn diff -r 315194 mixSale.vm
比较你的工作拷贝对旧的315194修订版本的修改 - svn diff http://svn.project-inc.com/repos/ali_cn/misc/magma/branches/20110212_40861_1/deploy/templates/commodity/screen/mixSale.vm@315194http://svn.project-inc.com/repos/ali_cn/misc/magma/branches/20110212_40861_1/deploy/templates/commodity/screen/mixSale.vm@313828
Index: mixSale.vm
使用"@"语法比较修订版本315194和313828 - svn diff -r 315194:313828 http://svn.project-inc.com/repos/ali_cn/misc/magma/branches/20110212_40861_1/deploy/templates/commodity/screen/mixSale.vm
使用范围符号来比较修订版本315194和313828
svn diff命令还可以比较目录或目录下的多个文件
svn diff -r 315194:313828 http://svn.project-inc.com/repos/ali_cn/misc/magma/branches/20110212_40861_1/deploy/templates/commodity/screen/
svn diff -r 315194:313828 http://svn.project-inc.com/repos/ali_cn/misc/magma/branches/20110212_40861_1/deploy/templates/commodity/screen/ mixSale.vm other file
如果有工作拷贝你不用输入这么长的url,直接输入如mixSale.vm
- svn diff mixSale.vm
- 从版本库检出代码