首页/开发/Git 与协作速查/git prune 清理不可达对象
Git 基础与命令88 条

git prune 清理不可达对象

删除没有任何引用可达的对象;先用 git fsck --unreachable 查看清单,用 -n 演练确认范围。

Git 与协作速查开发更新于 2026-10-12
用途删除不可达对象
演练git prune -n
保留期gc.pruneExpire 控制,默认约两周

常用示例

常用示例
git fsck --unreachable
git prune -n
git prune
git config gc.pruneExpire '2.weeks.ago'
正常由 gc 代管 prune;单独执行多见于磁盘紧张时,务必先演练。

易错点

  • reflog 里仍能找回的对象也有保留期,过期语义与 reflogExpire 相互作用,改动前想清楚
  • 清理后立刻 fsck 复查,确认没有意外破坏引用连通性

数据来源与参考

  • Git 官方文档:git-prune
  • Git 官方文档:git-gc(gc.pruneExpire)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌