第十一章 代码即协作 —— Git、GitHub 与开源文化的胜利核心线索:程序员如何发明了最先进的协作方式,并将其推广到全世界“单独的个体可以写出伟大的代码,但只有协作才能创造出改变世界的软件。”本章时间跨度:1982 年(RCS 诞生)至今。涉及 15+ 位关键人物、20+ 家重要公司、6 种开源许可证、10+ 个核心技术概念。读完本章,你将理解为什么 Git 比竞争对手更优秀、GitHub 如何改变了程序员的工作方式、以及开源文化如何从一个极客小众运动成长为市值千亿的全球产业。11.1 版本控制的前 Git 时代最原始的版本控制:文件命名学在版本控制软件诞生之前,程序员有一种"朴素"的版本管理方式——文件命名法。任何一个写过超过 100 行代码的人,大概都在某个深夜做过这样的事情:毕业论文_v1.doc 毕业论文_v2.doc 毕业论文_v3_导师修改.doc 毕业论文_final.doc 毕业论文_final_v2.doc 毕业论文_真的最终版.doc 毕业论文_死也不改了.doc 毕业论文_死也不改了_v2.doc如果你觉得这只是学生的笑话,那你就错了。即使在专业的软件开发中,这种"命名式版本控制"也延续了很长时间。笔者采访过一位 1990 年代在银行 IT 部门工作的老程序员,他回忆说:“