SVN仓库目录结构规划_第1页
SVN仓库目录结构规划_第2页
SVN仓库目录结构规划_第3页
SVN仓库目录结构规划_第4页
SVN仓库目录结构规划_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SVN 仓库目录结构规划仓库目录结构规划 服务器 2010 06 10 16 08 31 阅读 109 评论 0 字号 大中小 订阅 SVN 仓库的负责人规划好仓库的目录结构 推荐的目录结构如下图所示 仓库的一级目录只有两个 分别为 code 和 doc 其中 doc 主要用来放置先期的文档 code 主要用来放置工程的代码 也可以包含后期的文档 仓库的二级目录只可以是 branch 与 trunk 两个目录 分别存放主干与分支 trunk 目录下直接 存放工程文件 branch 目录下包括一些子目录分别对应各个分支 图 2 4 从 SVN 仓库中取出代码时 一定不要把整个仓库取出来 而应该只取出 trunk 目录 或只取 出 branch 下的某个分支目录 比如上图中的 svn codebranchxw 051206 一个项目会有多个人共同合作开发完成 基本流程是 各开发成员建立自己的分支 并在此分支上开发 各开发成员把分支合并到主干上并形成较为稳定的版本 各个成员重新从主干上建立新的分支 在此分支上开发 即回到第一步 循环往复 直到工程结束 下面我用一个例子来说明合作开发的基本流程 现在 xb 与 lzj 两个开发人员要共同开发一个工程 onlytest 其这个工程的主干的 SVN 仓库地 址如下图 图 2 5 xb 与 lzj 分别在 onlytest 这个工程中建立两个分支 分别为 xb 051115 和 lz 051115 在这里分支命名要采用 姓名缩写 6 个数的日期 后缀 可选 的形式 比如 xb 051208 1 xb 051212 之类的 创建完分支后我们可以看到这个工程的目录结构如下图所示 图 2 6 分支目录 建完之后 xb 和 lzj 分别在本地取出对应的分支进行开发 当程序到达一个比较稳定的阶段 就需要把分支合并到主干上 下面讲述一下合并的流程 在本节中继续使用上一节中所示的工程与 SVN 仓库讲解 1 2 3 1 xb 与 lzj 分别修改自己分支上的代码 现在 主干上的 test SVN txt 是空文档 由 xb 与 lzj 修改提交后 两个分支中 test SVN txt 分别如下两图所示 图 2 7 xb 051129 分支下的 test SVN txt 图 2 8 lzj 051129 分支下的 test SVN txt 1 2 3 2 xb 将 xb 051129 分支合并到主干 xb 先把主干 check out 到本地 然后在主干的目录上右键选择 svn merge 弹出如下窗口 图 2 9 合并对话框 此对话框的含义是把 From 指定的分支版本到 To 指定的分支版本之间的差异合并到主干上 在这里分支选的是 xb 051129 版本号的选定方法是点击 From 中的 Show Log 在 Log 窗口 中按住 Ctrl 键 点击选择 made a copy 之上的那个版本 以及最顶上的那个版本 如图 2 11 所示 然后点击确定回到上图中的对话框 会自动填写 From 与 To 中的 Revision 号 2 10 选择需要合并的版本 然后直接点击 merge 进行合并 你也可以通过 dry run 来看是不是两者之间有差异 由于没有 其它人修改主干 所以合并的很顺利 下图是 xb 051115 与主干合并后的结果 合并完毕之后 由 xb 对主干进行提交 图 2 11 合并后 主干上的 test SVN txt 1 2 3 3 lzj 将 lzj 051129 分支合并到主干 解决冲突 xb 合并完毕之后 lzj 要将他的分支合并到主干上去 方法同上 但是由于 xb 已经修改过主干 所以产生了冲突 会弹出一个冲突对话框 双击对话框中的产生冲突的文件名 就可以调出工具对 此文件进行合并 下图是我们用 merge 工具显示的界面 图 2 12 首先比较第一个窗口与第二个窗口 把结果修改合并到第二个窗口 然后确保光标处于第二个窗口时 点击上图中红色圈圈所示的按钮 这样会把第二个窗 口的内容全部复制到第三个容口 之后保存 退出 然后在工程目录上点右键 进行 SVN Resolved 这样会删除无用的临时文件 最后提交所作的修改 并添加详细的注释 中的标签 与 CVS 不同 使用 SVN 时不用专门为目录添加标签 因为 SVN 也对目录进行版本管理 我们在提交时写好注释 比如重要的版本提交时使用 051201 之类的日期作为开头 就可以 通过注释来查找比较重要的目录版本号 相当于 CVS 或 VSS 中的标签 另外 每个工程都会有一个版本说明文件 通过此文件可以查找关键版本 你可以重命名 移动或删除你的文件或文件夹 但请使用 SVN 进行这些操作 否则之前的版 本信息会丢失 使用 SVN 删除 移动与重命名文件夹的方法是在文件 文件夹上点右键进行 SVN 操作 或直 接在资源浏览器中使用右键拖放 会弹出 SVN 选项 文件的删除 移动与重命名之前 必须保证工作目录是最新的版本 进行这些操作之后 需要 进行提交 1 3 3 版本的回退 在代码的编写过程中 难免会有不尽人意的地方 你也许需要回退到某一个版本 但是在这个 过程中可能有一些文件你想保留 也有一些文件你不想保留 这就牵扯到很复杂的版本管理过程 在这里给大家推荐几种方法 1 若是你编辑了工程 在没有提交的前提下 你想放弃这些修改 你可以直接选择 revert 就可以更新到工程的最新的版本 2 若是你想退回到某一个版本 你就可以直接选择 update to reversion 如图 这样我们就可 以把我们的版本回退到你选中的版本去 这种情况下 SVN 并没有显示出有什么冲突 并 且新建立的文件也还在 但是在这种情况下你并不能直接在你回退后的版本上进行编辑 因为 SVN 的版本控制还是在最新的主干上 我们需要 update 并解决冲突 3 你可以直接选择 revert changes from this revision 如图 这样的话你可以直接解决冲突 并提交 不过这种方法的不足是 你新建的文件都没有了 整个工程都回退到之前的版 本了 4 我推荐的一种方法是 直接 export 一个你需要的版本 然后用你 export 的版本覆盖你的 最新的版本 这样你就可以不丢失你新建的文件 同时获得 head 的 SVN 控制文件 图 13 每个工程会有很多个小模块 当某个模块达到稳定的时候 你就需要提交一次 以免写下个模 块代码的时候出现不可恢复的错误 每一次提交需要前 需要通过 pclint 检查 保证是一个编译没有错误的版本 当提交比较稳定 的版本的时候 同时要修改你的版本号 1 3 5 版本说明文件 版本说明文件为 xml 表格 可用 excel 编辑 它会记录下关键的版本信息 版本说明文件内容如下表 发布版本是指用户对外公布的版本号 后文中有详细描述 Revision 是 SVN 内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论