SubVersion学习

来源:互联网 发布:长沙软件工业园 编辑:程序博客网 时间:2024/05/03 20:39

SubVersion学习

  1. 安装
    • 安装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/
  2. svn目录结构
    1. trunk 项目主干
    2. branches 项目
    3. tags 保存标签拷贝
  3. svn命令学习
    1. 从版本库检出代码
      svn co svnurl localdir
    2. 添加资源到版本库
      svn add localpath
    3. 删除版本库资源
      svn delete svnurl
    4. 查看修改资源
      svn status [svnurl]
      命令选项列表
      • -v 显示工作拷贝所有资源(包括没有修改的资源),只是与.svn中的原始数据进行比较的结果
      • -u 它将会联系版本库为已经过时的数据添加新信息(注意*号:你可以在提交之前,需要使用更新操作得到文件README的更新,
        或者说文件已经过时,版本库会拒绝了你的提交)
    5. 查看资源内容修改详情
      svn diff
    6. 更新资源
      svn update
      状态解释
      • U 表明本地没有修改,文件已经根据版本库更新
      • G 标示本地已经修改过,与版本库没有重迭的地方,已经合并
      • C 表示冲突,说明服务器上的改动同你的改动冲突了,你需要自己手工去解决
    7. 解决冲突
      对于每一个冲突的文件,Subversion放置三个额外的未版本化文件到你的工作拷贝:
      filename.mine 
      你更新前的文件,没有冲突标志,只是你最新更改的内容。(如果Subversion认为这个文件不可以合并,.mine文件不会创建,因为它和工作文件相同。) 
      filename.rOLDREV 
      这是你的做更新操作以前的BASE版本文件,就是你在上次更新之后未作更改的版本。 
      filename.rNEWREV
      这是你的Subversion客户端从服务器刚刚收到的版本,这个文件对应版本库的HEAD版本。 
      这里OLDREV是你的.svn目录中的修订版本号,NEWREV是版本库中HEAD的版本号。
      1. 手工合并冲突
        手工确认并编辑冲突的文件内容,再运行svn resolved(会删除三个临时文件,并且删除冲突标志)
        ###用某一个临时文件覆盖你的工作文件
        运行svn update更新,用cp覆盖自己的工作文件,再运行svn resolved
      2. 放弃所有的本地修改
        使用使用svn revert file
    8. 提交修改
      svn commit
    9. 查看修订日志
      svn log -l 2 mixSale.vm
      -l 表示只显示最近两条
    10. 比较内容
      svn diff
      用法
      1. svn diff mixSale.vm
        比较BASE和你的工作拷贝
      2. svn diff -c 315194 mixSale.vm
        比较315194和前一修订版本的区别(315193)
      3. svn diff -r 315194 mixSale.vm
        比较你的工作拷贝对旧的315194修订版本的修改
      4. 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
      5. 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

 

原创粉丝点击