2020年8月,Linux 发布了内核 5.8 RC 版本,该版本大约有100名新贡献者,具有超过14000个 commit,约80万行新代码。并且,距离上一个 5.7 正式版发布,才仅仅过去了约2个月的时间。

视频地址: https://www.zentao.net/xp/continuous-integration-80270.html/?f=muke
然而真正让大家感到震惊的是,如此庞大的 Linux 内核项目30年来能够一直有条不紊地运转。这归结于在Linux 内核项目中,开发人员始终都严格遵守着一系列基本原则。
项目维护人员的每个commit都必须只能做一件事,不一定要求很小,但它须是针对某一单一任务的更改。从而可以帮助项目维护者更轻松地识别和隔离任何有问题的更改,而不影响其他的功能。
每个commit都必须作为一个独立的更改来工作,确保每一步完全起作用,且不引起退化。例如,对函数原型更改时,必须更新调用它的每个文件,以防止构建中断。
二等分是一种操作,类似于二分法查找算法,它使开发者可以快速地找到所有发生 错误的确切时间点。并且,该原则是基于前面提到的两个原则才能实现的。
Linux 项目工作流程不允许 rebase 他人使用的任何公共分支。如果 rebase 这些公共分支,已重新基准化的 commit ,将不再与基于原存储库中的相同 commit 匹配。
对于合并分支,Git相比其他版本管理系统,能更加高效地解决代码冲突等问题 ,避免大量的手动工作。
编写良好的代码更改日志,有助于代码revi ew流 程,也可以帮助之后的维护人员确定是否可以删除该代码,或如何对其进行修改。
在向上游发送 commit 请求之前,开发者会测试每个 commit 。持续测试和集成,有助于尽快地发现集成错误。这个过程可以大大减少集成的问题,同时还能保持项目的高质量
正是因为在开发流程中,所有项目维护人员严格遵守并执行这些基本原则,才使得Linux内核项目有条不紊的“健康成长”。同时,我们也希望本节视频能在项目维护流程上给大家一些启发和帮助。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69986112/viewspace-2729433/ ,如需转载,请注明出处,否则将追究法律责任。