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

名称

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

概要

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

描述

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

这会运行 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] 套件的一部分

scroll-to-top