
Git在2025年初推出了2.48版本,这是今年的首次更新,涵盖多项提升效能并改善内部结构的功能强化,提供开发者更稳定的版本控制工具。该版本的重要更新包括改进SHA-1校验码的计算方式,并解决长期存在的记忆体洩漏问题,以及进一步改进range-diff的功能支援,提供更高效与精确的版本控制功能。
Git的SHA-1校验码计算方式是其维持资料完整性的重要基础,Git的资料封包结构包含了所有被打包物件的内容,并在封包结尾附加了一个SHA-1校验码,可用于验证整个封包的完整性,确保资料在传输过程没有毁损。
新版本Git中,针对资料封包尾部的校验码计算进行了性能强化。由于尾部校验码的主要功能是验证资料完整性,而非防御安全性攻击,因此这项改进能够在不牺牲安全性的情况下,显着缩短运算时间。测试显示,此改进在处理大型储存库,如Linux核心程序码的複製过程,效能提升可达10%至13%,对于需要频繁操作大型专案的开发者特别有帮助。
本次更新的另一重点在于解决记忆体的洩漏问题。虽然官方指出,记忆体洩漏对Git这类短时间执行的命令列工具影响有限,但其存在的确是阻碍了将内部逻辑模组化为可呼叫的函式库。因此从Git 2.34版本开始,开发团队花费大量努力消除记忆体洩漏,最终在2.48版本中完成工作。此更新让Git测试环境能在启用记忆体检测的情况下完整通过测试,并简化了测试基础设施,也替未来的架构转型奠定了基础。
在功能强化方面,Git 2.48将--remerge-diff与range-diff两大指令整合。range-diff功能在2.19版本加入,主要用于比较两组提交纪录的差异,包括提交顺序、提交讯息及内容变更。而2.36 版本则是推出remerge-diff,能让开发者在检视重整提交的变更时,能同时深入分析合併提交中冲突的细节及其解决方式。Git藉由将两功能合併,进一步提升版本变更分析的精确性与实用性。
Git 2.48也添加了Meson作为编译系统替代选项,Meson是一种较GNU Make更为现代化的建置选项。Git一直以来都是採用GNU Make作为主要建置工具,但随着专案规模的扩大,其Makefile已变得过于庞大且複杂,Meson的加入将有助于改善此情况。Meson提供更简单的建置流程,并支援跨平台与IDE整合。目前,Git同时提供Meson与GNU Make,保留对CMake和Autoconf的支援,确保不同开发者群体的需求能被满足。