SVN.pptVIP

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SVN

Features – Web Access View From Web Browser CheckOut操作(续) 指明Checkout的版本号 默认CheckOut操作是针对HEAD版本进行的,大多数情况下我们需要HEAD版本,但如果需要历史版本,可以用-r(--revision)参数或者是用“@版本号”的形式 例:… -r 1452 会检出1452版,如果存在的话 … -r {“2007-05-05”} 会检出最接近这个日期的 版本 …/trunk@1452 效果同第1个例子 递归与不递归 -N:不递归(仅针对顶层目录),否则目录递归(默认,常用) 注:上面两个参数-r –N在很多命令里面都用到 Update操作 把版本库的修改同步到本地的过程是Update 语法: update(up) [PATH...] 例1:up 直接把工作拷贝更新到最新版(HEAD版) 例2:up -r 2007 更新到2007版 例3:up doc/design 只更新doc/design下的文件 -r和-N参数仍然有用 Update会修改被更新目录的BASE版本号 文件状态 BASE版:某个文件的BASE版本是指存放在管理目录.svn中的该文件拷贝的版本,Revert会使该文件回到BASE版本 做Update操作时,SVN会打印出受影响文件的状态,有以下几种: A Added D Deleted U Updated C Conflict G Merged 若提示C,表示冲突,冲突可以用status命令加-u参数来预测 Revert操作——时光倒流 所谓Revert,是指放弃对某个文件的修改,把该文件的内容回复和BASE版本相同,也就是,把该文件的状态回复到未修改状态 语法:revert 文件/路径 例子 例1 revert abc.c 丢弃对abc.c的所有修改 例2 revert src/edu/nju/pojo 放弃对此目录下所有文件的修改 冲突解决 当文件发生冲突时,SVN会额外创建3个不受版本控制的文件,同时被冲突文件如果能够合并,会在被冲突文件内部留下冲突记录。例如,冲突的文件为plugin.c,BASE版本是1458,HEAD为1459,会产生3个临时文件plugin.c.mine,plugin.c.r1458,plugin.c.r1459, 解决思路:A. 手动修改被冲突文件 B. 放弃自己的更改 实际中,解决办法很灵活,一般需要与他人商量 注意:由于这3个文件是在Update后才创建的,而Update之后,工作拷贝的BASE目录已经变成更新后的版本了,所以放弃自己的更改会回到新版本 如果不是用Revert的方法解决冲突的话,由于那3个临时文件留在那里,会使Subversion认为冲突没有解决,所以要运行resolved命令告诉SVN冲突解决或者删除临时文件 工作拷贝中对文件的操作 编辑文件,没什么好说的 把一个文件加入SVN版本控制,用add命令 从版本控制中移除,用delete(rm, remove)命令 移动或者重命名,用move(rename)命令 拷贝,用copy命令 创建目录,用mkdir命令 具体命令用法请参照文档 注意:尽量不要用操作系统提供的命令管理文件,这样Subversion不知道更改 检验修改 通过status命令可以检查工作拷贝的状态 通过diff命令可以检查更改的内容 参考SVN手册 注意:SVN对文件属性的更改和文件内容的更改是分开管理的 提交修改 一般在提交修改之前,必须运行一下update操作来合并别人作出的新更改。 提交用commit命令 --message 参数:说明本次提交的有关信息,如为什么要作出这个修改等等。 参考SVN book 5 Subversion高级操作 SVN的高级操作主要包括分支(Branch/Tag)以及合并(Merge)操作 分支操作 切换URL 合并操作 为什么需要分支? 你在开发一个软件,基于Windows平台。有一天,老板找到你,希望你把这个软件移植到Linux平台下,同时又不放弃原有版本,怎么管理代码? 你的产品即将发布,需要进行一段时间的Alpha,Beta测试直至正式版Release。同时,市场的竞争迫使你必须马不停蹄的开发下一个新版本,增加许多新的特性。两个工作必须同时进行,怎么管理代码? 什么是分支? 分支的概念 从图中可以看到,分支是开发的一条“支线”。它独立于其他开发的线路,并且和其他线路并行开发 但是,所有的分支都有共同的历史,有着原先共同的主线 创建分支 创建分支使用copy命令 语法:copy 源目录 目标目录 方法 方法1:先把目录checkout到本地,在本地执行copy命令后提交至版本库

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档