简体中文 ▾ 主题 ▾ 最新版本 ▾ git-prune 最后更新于 2.43.0

名称

git-prune - 修剪对象数据库中所有不可达的对象

概要

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

描述

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

这会运行 git fsck --unreachable,使用 refs/ 中可用的所有引用,可以选择性地附加命令行中指定的其他对象集,并从对象数据库中修剪任何这些头对象不可达的未打包对象。此外,它还通过运行 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] 套件的一部分