02 Git简史
Linux 内核开源项目有着为数众多的参与者。 早期绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。
到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。
2005
Git 项目诞生。Linus Torvalds 为了替代 BitKeeper,仅用两周写出 Git 初版。
Git 1.0 发布,已支持基本的版本控制功能(分支、合并等)。
2007
Git 1.5.3 发布,新增 git stash
,用户体验开始受到关注。
2008
GitHub 上线,极大推动了 Git 的流行和社区发展。
2009
Git 1.6.2 发布,命令调用方式由 git-xxx
改为现代的 git xxx
,子模块支持增强。
2010
Git 1.7.0 默认启用颜色提示(color.ui
),改善合并提示,用户体验提升。
2012
Git 1.7.10 引入 credential helper
,支持用户名密码自动保存。
2013
Git 1.8.2 引入 git rerere
功能,记录并自动重用冲突解决方案;增强对 Windows 的兼容性。
2015
Git 2.4 发布,支持 push.followTags
等更灵活的配置项,提升了 CI/CD 场景下的易用性。
2016
Git 2.9 引入 interactive.diffFilter
,自定义 diff 呈现;默认启用 core.precomposeUnicode
,解决 macOS 下的编码问题。
2018
Git 2.16 针对大型仓库做了显著性能优化,git status
速度更快。
2020
Git 2.28 支持设置默认分支名:init.defaultBranch
(如 main
),开始推动远离 master
命名。
2021
Git 2.32 改进 sparse-checkout 支持,为 monorepo 场景带来更高效率。
2023
Git 2.40 支持更复杂的 sparse-checkout 规则,rebase
体验增强。
2024
Git 2.44 引入 scalar
工具,为大型仓库集中管理优化操作。提升 gc
、packfile 等性能。