English ▾ 主题 ▾ 最新版本 ▾ git-multi-pack-index 上次更新于 2.47.0

名称

git-multi-pack-index - 写入和验证多包索引

概要

git multi-pack-index [--object-dir=<dir>] [--[no-]bitmap] <sub-command>

描述

写入或验证多包索引(MIDX)文件。

选项

--object-dir=<dir>

使用给定的目录作为 Git 对象的位置。我们检查 <dir>/packs/multi-pack-index 是否存在当前的 MIDX 文件,并检查 <dir>/packs 是否存在要建立索引的包文件。

<dir> 必须是当前存储库的替代项。

--[no-]progress

显式打开/关闭进度。如果两者都未指定,则如果标准错误连接到终端,则会显示进度。 由子命令 writeverifyexpire 和 `repack 支持。

以下子命令可用

write

写入新的 MIDX 文件。 以下选项可用于 write 子命令

--preferred-pack=<pack>

可选择指定在多个包包含相同对象时使用的决胜包。 <pack> 必须至少包含一个对象。 如果未给出,则有利于 mtime 最低的包。

--[no-]bitmap

控制是否写入多包位图。

--stdin-packs

写入一个多包索引,该索引仅包含通过 stdin 提供的以换行符分隔的包索引基本名称集。

--refs-snapshot=<path>

使用 --bitmap,可以选择指定一个文件,该文件包含在重新打包之前拍摄的“refs 快照”。

引用快照由对应于引用提示的以换行符分隔的 OID 组成,通常由 git repack 在生成新包之前获取。 一行可以选择以 + 字符开头,以指示对应于该 OID 的引用是“首选的”(请参阅 git-config[1]pack.preferBitmapTips。)

<path> 给出的文件应该是可读的,并且可以包含重复项。 (如果给定的 OID 多次给出,如果它的至少一个实例以特殊的 + 标记开头,则它被标记为首选)。

--incremental

写入一个增量 MIDX 文件,其中仅包含现有 MIDX 层中不存在的对象和包。 必要时将非增量 MIDX 迁移到增量 MIDX。 与 --bitmap 不兼容。

verify

验证 MIDX 文件的内容。

expire

删除 MIDX 文件跟踪但 MIDX 没有引用的对象的所有包文件(.keep 包和 cruft 包除外)。 事后重写 MIDX 文件以删除对这些包文件的所有引用。

注意
此模式与增量 MIDX 文件不兼容。
repack

创建一个新的包文件,其中包含多包索引引用的较小包文件中的对象。 如果 --batch-size=<size> 参数给出的尺寸为零,则创建一个包含多包索引引用的所有对象的包。 对于非零批处理大小,通过检查从最旧到最新的包来选择包文件,通过计算多包索引引用的包中的对象数量来计算“预期大小”,然后除以包中的对象总数并乘以包大小。 我们选择预期大小低于批处理大小的包,直到包的总预期大小至少为批处理大小,或者考虑所有包文件。 如果仅选择一个包文件,则不执行任何操作。 如果创建了一个新的包文件,则重写多包索引以引用新的包文件。 稍后运行 *git multi-pack-index expire* 将删除属于此批处理的包文件。

如果 repack.packKeptObjectsfalse,则任何具有关联的 .keep 文件的包文件都不会被选择用于重新打包的批处理。

注意
此模式与增量 MIDX 文件不兼容。

例子

  • 为当前 .git 目录中的包文件写入 MIDX 文件。

    $ git multi-pack-index write
  • 为当前 .git 目录中的包文件写入 MIDX 文件,并带有一个对应的位图。

    $ git multi-pack-index write --preferred-pack=<pack> --bitmap
  • 为备用对象存储中的包文件写入 MIDX 文件。

    $ git multi-pack-index --object-dir <alt> write
  • 验证当前 .git 目录中的包文件的 MIDX 文件。

    $ git multi-pack-index verify

另请参阅

有关多包索引功能及其文件格式的更多信息,请参见 多包索引设计文档gitformat-pack[5]

GIT

的组成部分 git[1] 套件

scroll-to-top