软件工程之美学习笔记三十一 30 | 用好源代码管理工具,让你的协作更高效

《软件工作之美》材料地址:https://time.geekbang.org/column/article/93757

源代码管理工具发展简史

源代码管理工具也叫版本控制系统,是保存文件多个版本的一种机制。
软件工程之美学习笔记三十一 30 | 用好源代码管理工具,让你的协作更高效(图片来源:《什么是版本控制?》)

  • 没有源代码管理工具的时代

  • 本地版本管理:SCCS(Source Code Control System)1972,RCS(Revision Control System)

  • 集中式版本管理: CVS(Concurrent Versions System) 1986、SVN(Subversion)
    软件工程之美学习笔记三十一 30 | 用好源代码管理工具,让你的协作更高效(图片来源:How Version Control Systems work)

  • 分布式版本管理:典型代表就是 Git
    软件工程之美学习笔记三十一 30 | 用好源代码管理工具,让你的协作更高效(图片来源:How Version Control Systems work)

如何选择合适的源代码管理系统

自己搭建源代码管理系统:Git\Gitlab\Gerrit
网上的代码托管平台 GitHub\Gitlab[Coding](https://coding.net/)

如何用好源代码管理工具?

原则一:要频繁的提交
频繁提交,不意味着提交不完整的内容,而是将要提交的内容分拆,并且保证完整性。
原则二:每次提交后要跑自动化测试
原则三:提交的代码要有人审查
对于审查出来的问题,可以分成三个类型:
问题:如果对代码有不清楚的地方,可以作为问题提出,进一步澄清确认;
建议:原来的实现没有太大问题,但是可以有不同的或者更好的实现;
阻塞:代码有明显问题,必须要修改。

我该选择什么样的开发流程?

Git flow
Github flow
Gitlab flow
参考阮一峰老师《Git 工作流程

基于源代码的开发流程,要保证好两点:

  • 有一个稳定的代码分支;
  • 在合并分支之前,对代码有审查,自动化测试要能通过。