代码改变世界

敏捷开发-版本控制

2012-10-07 22:21  is_wolf  阅读(393)  评论(0编辑  收藏  举报
  • 请问使用的是哪种项目版本控制工具?

现在比较流行的版本控制有并行式(SVN),分布式(Git),流式的项目版本控制。

  • 请问使用版本控制一般要了解哪些原则或者规范?

  • 频繁检入和检出

敏捷开发中,代码共享的,频繁的检入和检出,团队所有的人能看到每次的变更

还有一个好处是,减少版本冲突的频率

  • 备注详细

详细的备注,应该是每次更新或新增内容的说明,这样有利于review代码的时候容易定位怎么的功能点

  • 对大部分内容进行版本控制

比如源代码,环境配置,脚本管理等等,这些进行版本控制,可以控制和恢复每次的更改

不提倡把编译后的二进制文件放入版本控制中,因为编译后的文件一般比较大,自动化构建系统的时候可以重新编译

不提倡把依赖的第三方工具类纳入版本控制,原因也是因为工具类可以在自动化构建系统的时候进行指定

  • 请问使用哪种开发模式?

  • 分支开发

这里说的分支开发,指的是特性分支开发,能保证主干的持续发布,而无需特性隐藏的一种方式

特性分支的开发周期不能太长,最好不能超过一个迭代周期

频繁把主干上的变更合并到特性分支中

特性分支合并到主干,特别注意合并之前,把特性分支的功能验收后才合并

不提倡按团队创建团队分支,这样导致各个团队分支合并到主干要频繁的测试验收

  • 主干开发

可以保证所有的代码持续集成,可以确保开发人员都能获得团对成员的代码,可以避免项目合并和集成造成的灾难

主干开发可以按发布创建分支,在发布分支发布后,在发布分支上缺陷修复得代码合并到主干,发布分支上只做严重缺陷的修复