Git

名称

git-prune - 从对象数据库中删除所有不可达对象

概要

git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>…​]

描述

注意
在大多数情况下,用户应该运行 git gc,它会调用 git prune。请参阅下面的“注释”部分。

它使用 refs/ 中可用的所有引用运行 git fsck --unreachable,还可以使用命令行中指定的附加对象集,并从对象数据库中删除从任何这些头对象不可达的所有未打包对象。此外,它通过运行 git prune-packed 删除也存在于包中的未打包对象。它还会删除 .git/shallow 中任何引用不可达的条目。

请注意,不可达的打包对象将保留。如果不希望这样,请参阅 git-repack[1]

选项

-n
--dry-run

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

-v
--verbose

报告所有已删除的对象。

--progress

显示进度。

--expire <time>

仅使早于 <time> 的松散对象过期。

--

不要将任何更多参数解释为选项。

<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