首页/开发/Git 与协作速查/promisor 远端与按需对象补齐
进阶与大仓实践69 条

promisor 远端与按需对象补齐

部分克隆会把远端登记为 promisor(承诺可补齐对象);缺对象时 Git 自动从那拉取,理解它才能解释离线报错与补齐行为。

Git 与协作速查开发更新于 2026-10-12
查看git config --get-regexp 'remote\..*\.(promisor|partialclonefilter)'
缺对象补齐读取时自动 fetch;也可 git fetch --refetch 重新取
离线缺对象且网络不可用时命令直接失败

常用示例

常用示例
git config --get-regexp 'promisor|partialclonefilter'
git fetch --refetch --filter=blob:none
git cat-file -e HEAD:src/app.js && echo 对象已就绪
排查「同一命令在同事机器正常、你的机器报缺对象」时,先对比 promisor 配置与本地对象缓存。

易错点

  • 把 promisor 远端误删后仓库无法补对象,需重新配置或重新克隆
  • 对象缓存被清理工具误扫会放大问题,CI 缓存键要包含仓库标识

数据来源与参考

  • Git 官方文档:git-config(remote.<name>.promisor)
  • Git 官方文档:git-fetch(--refetch)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌