SVN作为一个老牌的代码管理工具,现在依然有很多团队在使用。本文主要通过SVN的分支管理用于规范项目团队中的代码开发流程。

一、SVN协同开发示意图:

图中有两条代码线 trunk 和 online,trunk线作为代码开发的主线它的代码确保是和线上代码同步的,也就是说trunk上的代码必须能达到发版到生产环境中。

项目的迭代开发需从trunk中创建分支线作为本地开发如图branch1和branch2,每个支线开发完成后需将支线代码合并到trunk中,在合并的同时需要处理完合并冲突才可提交。

在实际中会出现多个分支同时开发的情况,上图即有两个开发支线开发并出现重合阶段,最终以支线合并到trunk线的代码为准,也就意味着后面提交代码的支线需要兼容前一个支线的代码,因此建议在实际迭代时迭代周期尽可能缩短不可太长,减少代码冲突。

二、SVN协同基本操作

1. 首先下载主线代码

svn   checkout  主线代码地址  如果已经有trunk线直接切换到trunk线即可

2. 创建本次迭代开发的支线,支线命名规则最好是 branch+迭代名+时间,方便日后查看日志。

svn branch 
                     

3. 将本地代码切换到分支线上开发

svn switch  分支名

4. 分支开发完成后,将主线的代码合并到分支上先解决完主线代码合并冲突并提交

svn merge trunk线地址

5. 解决完冲突后将本地代码切换到trunk主线中。

svn switch trunk线地址

6. 最后再将刚刚开发完的分支线代码合并到trunk中,由于第4步合并过trunk到分支的代码并解决完冲突并提交发版,这步基本不会出现冲突,除非在这中间又出现新的代码合并到trunk中。

svn merge 分支线地址

SVN代码管理协同开发流程相关推荐

  1. Git 协同开发流程

    Git 协同开发流程 策略 git支持很多种工作流程,我们采用的一般是这样,远程创建一个主分支,本地每人创建功能分支,日常工作流程如下: 去自己的工作分支 $ git checkout work 工作 ...

  2. 《构建之法》学习总结1——软件工程概论,团队组织及管理,开发流程

    写在前面: 这是我作为一个软件工程专业学生的第一篇个人技术博客,虽然我接下来的人生中还会有无数像这样的博客,但这是一个开始,接下来我将会从一个软件工程专业的大学生向一个合格的程序元转变.说实话现在,这 ...

  3. GitHub团队协同开发流程

    GitHub团队协同开发流程 1.  在github上创建组织,并邀请成员建立队伍 创建组织的具体教程: http://blog.csdn.net/song_shui_lin/article/deta ...

  4. 使用git和github进行协同开发流程

    目录 前言 仓库(Repository) 源仓库 开发者仓库 分支(Branch) 永久性分支 暂时性分支 工作流(workflow) 总结 参考资料 前言 (本文假设各位已经对基本git的基本概念. ...

  5. 在Windows Server 2008上部署SVN代码管理总结

    这段时间在公司开发Flex程序,所以使用TortoiseSVN作为团队代码管理器,今天在公司服务器上部署SVN服务器,并实验成功,总结如下: 服务器环境: 操作系统:Windows Server 20 ...

  6. Git代码管理与发布流程

    分支定义与作用: 主干分支: origin/master:总是代表了生产环境准备就绪的状态的主分支 ,必须保证与生产环境在正常运行的代码一致.(每次需求上线验收完成后,由开发负责人从dev或Hotfi ...

  7. 构建之法——软件工程概论、团队组织管理及开发流程

    一.概论 这本书首先在第一章简明扼要的阐述了软件工程的概论:软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及程序设计语言.数据库.软件开发工具.系统平台.标准.设计模 ...

  8. Django后台项目之用户管理功能开发流程

    项目功能开发流程 1 先写列表页(加载出来数据就行) ob = User_vip.objects.filter(is_del='004001').order_by('-cts') 2 写添加功能 2. ...

  9. 餐饮管理软件开发流程?怎么设计?

    作为一家从事餐饮行业管理软件的开发商,中顶软件一直都在不断的提升自己的业务水平,而其中对于软件的开发设计工作,从来就没有停止过.这也是为什么很多代理以及商家都钟情于中顶软件的原因.今天小编就给大家聊一 ...

最新文章

  1. 一文详解面向多级多模态场景的召回引擎
  2. 三方会谈进行时,Uber旧金山无人车已被叫停
  3. 产品经理如何专业吐槽产品?友谊小船从此不再翻
  4. BZOJ 3143 Luogu P3232 [HNOI2013]游走 (DP、高斯消元)
  5. C语言 | 给偶数寻素数
  6. pandas读取文件——CSV,Excel
  7. 职业高中计算机英语教案,职高英语shopping教学设计.doc
  8. 前端学习(1834):前端面试题之从url里面输入网址
  9. vscode php插件_JS之 提高开发效率的Visual Studio Code插件
  10. Delphi 7连接MySql 5 5 15
  11. vtiger6.0升级汇总
  12. 【OpenCV学习笔记】【编程实例】四(获取一个或多个感兴趣区域)
  13. Python 网络数据采集
  14. python局域网嗅探_Python_sniffer(网络嗅探器)
  15. 前端页面开发浅谈:PC 端设计如何“完美”迁移到移动端?
  16. 算法:如何判断两颗二叉树是否相等
  17. 等待事件:control file parallel write
  18. paddle 图标注_化工工艺流程图,你真的弄懂了吗?
  19. 基于线段的激光雷达单目曲面重建(ICRA2021)
  20. IEEE论文参考文献格式

热门文章

  1. periphery SPM
  2. 三握,四挥,滑动窗口会了吗?面试TCP/IP经典问题总是忘?快来这里~
  3. 十个经典的感人瞬间!
  4. 怎么从src包中文件直接访问WebContent下面文件
  5. 腾讯安全SOC+荣获“鑫智奖”,助力金融业数智化转型
  6. echarts 世界地图标点_ECharts添加地图标点(笔记)
  7. 在quartus中移除signaltap II文件
  8. 操作系统与CPU的指令集的关系是怎样的?
  9. Linux卸载VMware虚拟机命令
  10. 20100930_Dawning_EJB_Jboss_mysql操作步骤