设置和配置
获取和创建项目
基本快照
分支与合并
共享和更新项目
检查和比较
打补丁
调试
电子邮件
外部系统
服务器管理
指南
管理
底层命令
-
2.52.0
2025-11-17
- 2.51.2 无变更
-
2.51.1
2025-10-15
- 2.50.1 → 2.51.0 无变更
-
2.50.0
2025-06-16
- 2.47.1 → 2.49.1 无更改
-
2.47.0
2024-10-06
- 2.38.3 → 2.46.4 无更改
-
2.38.2
2022-12-11
- 2.38.1 无更改
-
2.38.0
2022-10-02
- 2.34.1 → 2.37.7 无更改
-
2.34.0
2021-11-15
- 2.32.1 → 2.33.8 无更改
-
2.32.0
2021-06-06
- 2.29.1 → 2.31.8 无更改
-
2.29.0
2020-10-19
- 2.27.1 → 2.28.1 无变更
-
2.27.0
2020-06-01
- 2.25.1 → 2.26.3 无更改
-
2.25.0
2020-01-13
- 2.23.1 → 2.24.4 无更改
-
2.23.0
2019-08-16
- 2.20.1 → 2.22.5 无更改
-
2.20.0
2018-12-09
选项
可用的子命令如下
- write
-
写入一个新的 MIDX 文件。以下选项可用于
write子命令- --preferred-pack=<pack>
-
指定后,当存在其对象的其他副本时,优先选择此 pack。对于在首选 pack 中找不到的对象,将始终优先选择修改时间 (mtime) 最新的副本。如果未指定,则默认使用修改时间 (mtime) 最早的 pack。首选 pack 必须至少包含一个对象。
- --[no-]bitmap
-
控制是否写入 multi-pack bitmap。
- --stdin-packs
-
写入一个 multi-pack index,仅包含通过 stdin 提供的以行为分隔的 pack index 基名集合。
- --refs-snapshot=<path>
-
当使用
--bitmap时,可以选择性地指定一个文件,该文件包含在 repacking 之前拍摄的“refs 快照”。Reference snapshot 由以行为分隔的 OID 组成,对应于 ref 的尖端,通常由
gitrepack在生成新 pack 之前获取。一行可以选择性地以+字符开头,以指示与该 OID 对应的 ref 是“首选”的(请参见 git-config[1] 的pack.preferBitmapTips)。在 <path> 给出的文件必须是可读的,并且可以包含重复项。(如果给定的 OID 被给出多次,则只有当至少一个实例以特殊的
+标记开始时,它才被标记为首选)。 - --incremental
-
写入一个增量 MIDX 文件,仅包含现有 MIDX 层中不存在的对象和 pack。在必要时将非增量 MIDX 迁移到增量 MIDX。与
--bitmap不兼容。
- verify
-
验证 MIDX 文件的内容。
- expire
-
删除由 MIDX 文件跟踪但没有任何对象被 MIDX 引用的 pack 文件(.keep pack 和 cruft pack 除外)。之后重写 MIDX 文件以移除所有对这些 pack 文件的引用。
注意此模式与增量 MIDX 文件不兼容。 - repack
-
创建一个新的 pack 文件,其中包含 multi-pack-index 引用的少量 pack 文件中的对象。如果
--batch-size=<size> 参数给出的 size 为零,则创建一个包含 multi-pack-index 引用的所有对象的 pack。对于非零 batch size,通过检查从旧到新的 pack 来选择 pack 文件,通过计算 pack 中被 multi-pack-index 引用的对象数量来计算“预期大小”,然后除以 pack 中的总对象数量并乘以 pack size。我们选择预期大小小于 batch size 的 pack,直到 pack 集的总预期大小至少达到 batch size,或者所有 pack 文件都被考虑。如果只选择了一个 pack 文件,则不执行任何操作。如果创建了新的 pack 文件,则重写 multi-pack-index 以引用新的 pack 文件。稍后运行 git multi-pack-index expire 将删除属于此批次的 pack 文件。如果
repack.packKeptObjects为false,则不会选择具有关联.keep文件的 pack 文件作为 repacking 的批次。注意此模式与增量 MIDX 文件不兼容。
示例
-
为当前
.git目录中的 pack 文件写入 MIDX 文件。$ git multi-pack-index write
-
为当前
.git目录中的 pack 文件写入 MIDX 文件,并带有相应的 bitmap。$ git multi-pack-index write --preferred-pack=<pack> --bitmap -
为备用对象存储中的 pack 文件写入 MIDX 文件。
$ git multi-pack-index --object-dir <alt> write
-
验证当前
.git目录中 pack 文件的 MIDX 文件。$ git multi-pack-index verify
另请参阅
有关 multi-pack-index 功能及其文件格式的更多信息,请参阅 Multi-Pack-Index 设计文档 和 gitformat-pack[5]。