Git

名称

git-prune - 从对象数据库中删除所有无法访问的对象

概述

git prune [-n] [-v] [--progress] [--expire <时间>] [--] [<头>…​]

描述

Note
在大多数情况下,用户应该运行 git gc,它调用 git prune。参见下文 “注意” 一节。

运行 git fsck --unreachable,使用 refs/ 中可用的所有引用,可选地使用命令行中指定的附加对象集,并从对象数据库中删除所有从这些头对象中无法访问的未打包对象。 此外,它还会删除通过运行 git prune-packed 在包中找到的未打包对象。 它还会删除 .git/shallow 中任何引用都无法访问的条目。

需要注意的是,无法到达的打包对象将被保留。 如果不希望这样,请参见 git-repack[1]

选项

-n
--dry-run

不删除任何内容;只需报告将删除的内容。

-v
--verbose

报告所有移除的对象。

--progress

显示进度。

--expire <时间>

仅过期超过 <时间> 的松散对象。

--

不将之后的参数解释为选项。

<head>…​

除了可从我们的任何引用到达的对象外,还保留可从列出的 <head> 到达的对象。

实例

剪切您的仓库或其他通过 .git/objects/info/alternates 借用您仓库的仓库不使用的对象:

$ git prune $(cd ../another && git rev-parse --all)

注释

在大多数情况下,用户不需要直接调用 git prune,而应该调用 git gc,它可以处理剪枝和许多其他内务工作。

关于哪些对象会被考虑剪枝,请参见 git fsck 的 --unreachable 选项。

GIT

属于 git[1] 文档

scroll-to-top