`git gc` 不打包对象?

Bor*_*ard 1 git

我想.git/objects从我的存储库中删除不再被任何引用引用的对象 ( ),但我不想打包打包文件

我试过了,git gc --no-prune但它仍然从我的仓库中删除了所有对象,只留下了包文件(git count-objects报告“0 个对象,0 千字节”)。

tor*_*rek 6

git gc 是一系列较小维护操作的包装器:

  • git reflog expire
  • git repack
  • git prune-packed(实际上是git repack在你使用时自动完成的-d
  • git prune
  • 我可能忘记的任何其他人

并且git prune是专门删除未引用对象的对象。请注意,git gc提供了一个到期时间,以便git prune不会删除仍在构造的未引用对象。如果您没有可能正在构建对象的活动 Git 命令,并且不想提供 gc 默认宽限期,则无需担心这一点。