Git的诞生源于Linux内核开发中的实际问题。1998年,随着Linux社区扩大,创始人Linus Torvalds面临代码管理瓶颈,个人成为提交流程的瓶颈。开源领袖Eric Raymond和开发者Larry McVoy察觉其倦怠迹象,McVoy提议使用分布式版本控制系统,并推荐了自己开发的BitKeeper。
BitKeeper的背景与采用
BitKeeper源于McVoy在Sun Microsystems优化内部工具NSE的经验,其前身NSElite和随后商业化的TeamWare是早期分布式版本控制系统的代表。1998年底,McVoy邀请Torvalds等人讨论解决方案,BitKeeper逐渐成型。2002年,为减轻Torvalds负担,Linux内核开发者开始免费使用BitKeeper,但其附带条款(如禁止开发竞争工具、强制日志记录)引发社区争议。
冲突与Git的快速诞生
2005年,开发者Andrew Tridgell开发了兼容BitKeeper的免费客户端SourcePuller,引发BitMover(BitKeeper所属公司)不满。McVoy随后撤销了Linux内核的免费使用许可,导致Torvalds愤怒且急需替代方案。在尝试Monotone等工具后,Torvalds于2005年4月7日仅用两周时间编写了Git的初始版本(约1000行C代码)。其设计借鉴了Monotone的SHA-1哈希和“内容寻址”思想,但采用极简的Unix哲学,通过多个底层命令(如init-db、commit-tree)管理文件快照。
早期发展与贡献者
Git发布后迅速吸引开发者关注。捷克开发者Petr Baudis创建了用户友好界面Cogito(后演变为“porcelain”层),并搭建了早期主页git.or.cz和代码托管服务repo.or.cz。关键人物Junio Hamano于2005年加入,与Torvalds合作改进合并算法,三个月后接任Git维护者,至今仍在Google主导项目发展。Git 1.0.0于同年12月发布。
GitHub的推动与主流化
尽管Git在技术社区受认可,但真正使其普及的是GitHub。2007年,Tom Preston-Werner和Chris Wanstrath受Ruby社区启发(当时Git通过Rails框架传播),创建了GitHub——首个社交化代码托管平台。2008年上线后,Rails迁移至GitHub,推动了Git在Web开发社区的爆发。GitHub通过文档(如Scott Chacon的《Pro Git》)、活动和友好的用户体验,弥补了Git与早期核心开发者社区之间的鸿沟。
结局与影响
BitKeeper因无法与Git竞争,于2016年开源退出市场。Git凭借其分布式模型、高性能和社区支持,在2022年Stack Overflow调查中占据94%份额,成为事实标准。其成功离不开Torvalds的初始设计、Hamano的长期维护,以及GitHub的生态推动。正如BitKeeper创始人McVoy所言,Git虽设计简单,却适应了全球开发者的需求。未来版本控制系统可能融合AI等新技术,但Git的崛起故事已成为开源协作的经典案例。