Git 2.51 (2025年8月18日):SHA‑256 和 Reftable 准备——大型仓库和工具的真正转折点

DevOpsGit

关键更新

Git 2.51(于2025年8月18日发布)提供了多个仓库规模的改进——最重要的是,通过将SHA‑256作为未来的默认哈希算法,并准备将reftable引用后端作为新仓库的默认设置,正式化了向Git 3.0的过渡路径。该版本还增加了无杂质的多包索引(MIDX)处理,一种新的“路径遍历”重新打包模式,可以生成显著更小的包,一个暂存导入/导出交换格式,并稳定了之前实验性的命令,如git switch/git restore。(github.blog)

重要性

这不是一次表面上的发布:更改默认哈希算法和引用后端会影响许多脚本、CI管道、托管提供商、发布工具和第三方集成所做的互操作性假设。您现在应该计划的实际影响包括:任何假设40字符SHA‑1 ID或按长度解析对象ID的工具在使用SHA‑256的仓库时将会失效;钩子、签名标签、部署清单和元数据存储必须接受更长的哈希;托管和镜像工具需要reftable支持,以获得reftable提供的原子性、不区分大小写的安全引用处理和大型引用集性能提升;而单一代码库的维护者在使用新的打包选项时可以期待显著更小和更快的MIDX写入以及更小的包文件。该项目提供了一个选择加入的过渡路径(因此现有的SHA‑1仓库仍然可以正常工作),但最终的默认值将在Git 3.0中到来,因此现在是进行测试的时机。

对于团队:在暂存环境中运行Git ≥2.51的CI镜像,审核并修复任何假设40字符SHA‑1的脚本或正则表达式,验证您的代码托管和CI提供商是否有SHA‑256/reftable的路线图/兼容性,并尝试在大型仓库上使用新的路径遍历/重新打包选项进行重新打包,以衡量即时的存储和性能收益。对于大型企业单一代码库和取证/安全工作流,开始制定兼容性计划(工具、备份、镜像和签名),因为混合哈希环境如果不协调会引入操作复杂性。

来源

继续阅读