Git 2.52 已正式發佈,本次更新帶來了多項面向大型代碼庫與未來演進的重要特性。
關鍵更新亮點
1. 目錄級別的 “最後修改者” 查詢更快更強
Git 新增 git last-modified 命令,可一次性查看目錄下所有文件的最後修改提交,性能相比傳統方法提升約 5 倍。該功能來自 GitHub 內部多年實踐沉澱。
2. 更智能的倉庫維護策略上線
git maintenance 引入“幾何式(geometric)”策略,按比例合併 packfiles,避免頻繁的大型打包操作,顯著提升大倉庫的健康度與維護效率。這套方法同樣來自 GitHub 的生產經驗。
3. 新實驗性命令 git repo
Git 開始用更現代的方式重構倉庫元信息查詢功能。git repo info、git repo structure 可輕鬆查看倉庫類型、對象格式、引用結構統計等信息,為工具鏈和自動化分析提供更好支持。
4. 為 Git 3.0 做準備:SHA-256 與 Rust 逐步引入
Git 2.52 延續對 SHA-256 的支持推進,強化未來哈希切換的互操作性。同時,Git 開始加入 Rust 實現的內部組件(需 WITH_RUST 選項),為未來更多 Rust 重構鋪路。
5. Bloom Filter 加速路徑查詢
路徑過濾的日誌查詢(特別是帶通配符的 pathspec)性能進一步提升,複雜路徑下的 git log 體驗更流暢。
6. 多項性能優化
包括:
-
git describe性能提升約 30% -
git log -L在處理合並提交時更快 -
改進 sparse index 行為
-
git remote rename、xdiff等操作更高效
7. sparse-checkout 新增清理命令
sparse-checkout clean 能移除不再匹配 sparse 配置的文件,方便管理部分簽出的倉庫。
詳情查看:https://github.blog/open-source/git/highlights-from-git-2-52/