共代码版本改动记录

初始版本

所有编辑器共用一份内建svn的公共代码

问题:

  • 每次都是新加模块、新加功能、兼容性的修改,代码结构很混乱不利于使用
  • 更别想着代码的迭代开发,开发大量的改动,无法满足所有编辑器同步公共代码的开发改动同步提交。

解决:

  • 每个模块分版本管理,有迭代开发提高版本号,编辑器使用版本工具选择自己所需的版本。

第一版本

模块分版本管理

问题:

  • 每次导出代码时都要选择模块名+版本名很麻烦,也很容易出错
  • 而且编辑器不应该关心这些模块版本之间的关联

解决:

  • 去掉模块名选择,每次改动代码生成当前改动依赖的模块版本配置文件
  • 只需要选择对应改动的配置文件就可以直接导出

第二版本

模块分版本管理,用户无需关心模块之间的关联
模块版本配置可自动生成、trunk分版本自动合并到release

问题一:

  • 每次改动一个小优化或者一个小bug,都需要生成一个配置(麻烦)
  • 如果小优化夹杂着版本大迭代更新,我们希望:
    • 想要做到小版本很容易全编辑器更新
    • 大版本各项目选择更新

实例一

  • 有两个版本A、B(大修改),现在有一个bug需要马上修复
    • bug,基于A
      • 1.Mars现在用的A
      • 2.Mars现在用的B
    • bug,基于B
      • 3.Mars现在用的A (不用管)
      • 4.Mars现在用的B

目前做法:对于1这种情况就比较麻烦,其他三种都比较简单
- 1. 生成C版本,同步更新BC版本的修改
- 2. 生成C版本,根据公共代码C版本的修改,直接修改项目的公共代码提交(难控制)

PS 小改动如果不需要立即使用,可不生成配置与下一次一起生成

问题二

编辑器修改了需求,也要修改公共代码,此时公共代码版本有A、B、C(最新)
编辑器现在用的A版本,想要改代码应该如何改动

目前做法:
1. 同步BC的改动,然后根据公共代码提交代码规则以及需求生成D版本(如果中间很多版本很麻烦)
PS:可以硬性要求编辑器每周一更新成最新的版本。

解决:

像软件更新一样,代码只能由自己(公共代码)更改,每次发型版本+版本改动说明,用户升级时需要做相应的修改(目前的结构刚好符合)

第三版本

利用分支来管理公共代码,大版本改动新建分支,小改动直接在分支上修改合并,保持分支个数维持在5个左右

正常的项目分支管理

这里写图片描述

公共代码分支管理

这里写图片描述

  • trunk版本保持最新可用版本,开发都在branch上面
  • 小版本改动,直接在当前branch上面改动提交svn,然后merge到trunk和所有大版本的branch中
  • 有大版本改动需求时,从trunk开新分支改动(保证分支个数<=5,等于6时停掉最小版本的开发)

项目如何使用分支

  • 每次使用新的分支作为编辑器内建svn公共代码,需要同步修改:该版本对于上个版本不兼容的改动(change.md),测试正常后一起提交新分支和改动
  • branch的使用只能一级一级往上面升级,比如:
    • 现在有branch_001、branch_002、branch_003
    • 新接入的项目只能使用branch_001,并且根据change.md修改不兼容的地方
    • 然后同样升级为branch_002,再升级为branch_003
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这几年越来越多的开发团队使用了Git,掌握Git的使用已经越来越重要,已经是一个开发者必备的一项技能;但很多人在刚开始学习Git的时候会遇到很多疑问,比如之前使用过SVN的开发者想不通Git提交代码为什么需要先commit然后再去push,而不是一条命令一次性搞定;更多的开发者对Git已经入门,不过在遇到一些代码冲突、需要恢复Git代码时候就不知所措,这个时候哪些对 Git掌握得比较好的少数人,就像团队中的神一样,在队友遇到 Git 相关的问题的时候用各种流利的操作来帮助队友于水火。我去年刚加入新团队,发现一些同事对Git的常规操作没太大问题,但对Git的理解还是比较生疏,比如说分支和分支之间的关联关系、合并代码时候的冲突解决、提交代码前未拉取新代码导致冲突问题的处理等,我在协助处理这些问题的时候也记录各种问题的解决办法,希望整理后通过教程帮助到更多对Git操作进阶的开发者。本期教程学习方法分为“掌握基础——稳步进阶——熟悉协作”三个层次。从掌握基础的 Git的推送和拉取开始,以案例进行演示,分析每一个步骤的操作方式和原理,从理解Git 工具的操作到学会代码存储结构、演示不同场景下Git遇到问题的不同处理方案。循序渐进让同学们掌握Git工具在团队协作中的整体协作流程。在教程中会通过大量案例进行分析,案例会模拟在工作中遇到的问题,从最基础的代码提交和拉取、代码冲突解决、代码仓库的数据维护、Git服务端搭建等。为了让同学们容易理解,对Git简单易懂,文章中详细记录了详细的操作步骤,提供大量演示截图和解析。在教程的最后部分,会从提升团队整体效率的角度对Git工具进行讲解,包括规范操作、Gitlab的搭建、钩子事件的应用等。为了让同学们可以利用碎片化时间来灵活学习,在教程文章中大程度降低了上下文的依赖,让大家可以在工作之余进行学习与实战,并同时掌握里面涉及的Git不常见操作的相关知识,理解Git工具在工作遇到的问题解决思路和方法,相信一定会对大家的前端技能进阶大有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值