用途:整理 Git 2.49(2025)引入的新命令与性能改进,帮助在部分克隆、稀疏检出和 CI/CD 场景中优化对象下载与打包。
主要能力:git-backfill 是 2.49 新增命令,用于在部分克隆中高效下载缺失对象,支持 --batch-size、--sparse、--verbose;path-walk API 按文件系统路径分组对象以改善增量压缩,git backfill 与 git repack 自动受益;zlib-ng 集成带来压缩与解压提速,无需配置;新名称哈希算法改善打包压缩率;新增 libgit-sys 与 libgit-rs 的 Rust 绑定;promisor 远程可向客户端通告信息,改善大文件与惰性获取。
使用方式:检查部分克隆可运行 git config extensions.partialClone;下载缺失对象用 git backfill,可加 --sparse 或 --batch-size=1000;优化打包用 git repack -a -d -f;查看状态用 git count-objects -v。典型流程为 git clone --filter=blob:none --sparse <url>,再 git sparse-checkout set --cone <paths>,最后 git backfill --sparse。
适用场景:大型 monorepo 克隆、CI/CD 流水线加速、超长历史仓库的按需获取。
限制与注意:git-backfill 需 Git 2.49 及以上;.git/branches 与 .git/remotes 已弃用,将在 Git 3.0 移除,应改用 git remote 命令;Meson 构建系统仍为实验性,生产环境建议使用 make;netrc 认证支持已重新启用。资料中给出的压缩率与提速数字为原文示例,实际效果因仓库而异。