## 名称（Name）

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

## 概要

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

## 描述

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

这将`git fsck --unreachable`使用所有可用的引用`refs/`，可选地包含在命令行中指定的其他对象集合，并修剪来自对象数据库的任何这些头对象不可访问的所有解压缩对象。另外，它通过运行修剪也在包中找到的未打包对象`git prune-packed`。它还从 .git / shallow 中删除任何 ref 无法访问的条目。

请注意，无法访问，打包的对象将保留。如果不需要，请参阅 git-repack [1]。

## 选项

-n --dry-run

不要删除任何东西; 只是报告它会删除什么。

-v --verbose

报告所有移除的对象。

--

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

--expire <time>

只会过期比<time>更旧的松散对象。

<head>…

除了我们任何引用可访问的对象之外，还可以从列出的<head>中保持对象可访问。

## 示例

要修剪未由您的存储库使用的对象或从您的存储库借用以下内容的对象`.git/objects/info/alternates`：

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

## 注意

在大多数情况下，用户不需要`git prune`直接调用，而是应该调用`git gc`，它可以处理修剪以及许多其他内务处理任务。

有关修剪考虑哪些对象的描述，请参阅`git fsck`'s --unreachable 选项。

## 也可以看看

git-fsck[1], git-gc[1], git-reflog[1]