Git 2.51 已正式发布,这是 Git 向 3.0 演进的关键里程碑。主要变化如下:
1. Cruft-free Multi-pack Indexes(无冗余的多包索引)
-
引入了
repack.MIDXMustContainCruft配置,用于让多包索引(MIDX)只包含可达对象,从而剔除“cruft packs”中的不可达对象。 -
在 GitHub 的 monorepo 上测试结果显示:MIDX 大小缩小约 38%、生成速度提升约 35%、读取性能提升约 5%。
2. “Path walk” 重打包机制
- 新的
--path-walk选项按路径分组对象进行重打包,避免使用传统的 name-hash heuristic,生成的包通常更精简,性能与现有方式相当或更优。
3. 更强大的 Stash 表示方式
- Stash 条目由一系列多个父节点的提交表示,现在支持通过
stash export导出 stash,然后像分支或标签一样 push/pull 传输。
4. 改进 git cat-file 的表现
git cat-file --batch-check在面对子模块时,不再显示 “missing”,而是正确识别为 “submodule”,提升脚本处理准确性。
5. 支持多个 pathspec 结合 Bloom 过滤器
- 使用多个路径参数(例如
git log -- path/a path/b)时,也可以利用 changed-path Bloom 过滤器,从而提高历史查询效率。
6. git switch 与 git restore 正式稳定化
- 这两个命令不再是实验性功能,完善了原本
git checkout的功能分裂,让界面更加清晰且可靠。
其他亮点
-
内部开发流程支持更多 C99 特性,如
bool关键字的使用已获批准,并记录哪些特性是试验性使用的The GitHub Blog。 -
Git 对贡献者允许使用非法律姓名提交补丁,与 Linux Kernel 的模式更加一致The GitHub Blog。
-
引入 SHA‑256 支持并提供测试选项
-
reftable 将成为未来的新标准引用后端
-
多项其他改进提升用户体验和安全性
为您推荐与 git 相关的帖子:
- Git for Windows 2.40.1 发布
- Git 3.0 默认主分支将从“master”改为“main”
- Git 2.52 正式发布,新增 git last-modified 命令
- Git for Windows v2.52.0 发布
- Git 2.52-rc0 发布,推进 SHA-1 与 SHA-256 的互操作支持
- Git for Windows v2.51.2 发布
- Git for Windows v2.51.1 发布
- Git for Windows 2.46.1 发布
- Git for Windows v2.45.2 发布
- Git for Windows v2.45.1 发布
- Git for Windows 2.44.0 发布
- Git 2.43 新特性
- Git for Windows 2.43.0 发布
- Git for Windows v2.42.0 发布
- Git for Windows 2.37.0-rc2 发布
- Git 2.40.1 发布,修复三个安全漏洞
- Git for Windows v2.40.0 已发布
- Git 2.40.0 正式发布
- Git for Windows v2.40.0-rc1 发布
- Git for Windows 2.39.2 发布
- Git 2.39.1 发布,修复两个安全问题
- Git 2.38 发布,引入巨型仓库管理工具"Scalar"
- Git for Windows 2.37.3 发布
- Git for Windows 2.37.2(2) 发布,将放弃支持 Windows 7/8
- Git for Windows 2.37.1 发布
- Git for Windows 2.37.0 发布
- Git 2.37 正式发布,支持修剪不可达对象、稀疏索引可广泛使用
- Git 2.37发布 面向所有用户引入稀疏索引功能
暂无回复。
