设置和配置
获取和创建项目
基本快照
分支与合并
共享和更新项目
检查和比较
打补丁
调试
电子邮件
外部系统
服务器管理
指南
管理
底层命令
- 2.50.1 无更改
-
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>
-
指定时,如果其他包中存在对象的额外副本,则优先选择此包。对于在首选包中未找到的对象,始终优先选择 mtime 最高的包中的副本。如果未指定,默认使用 mtime 最低的包。首选包必须至少包含一个对象。
- --[no-]bitmap
-
控制是否写入多包位图。
- --stdin-packs
-
写入一个多包索引,其中仅包含通过标准输入提供的、以行分隔的包索引基本名称集。
- --refs-snapshot=<path>
-
结合
--bitmap
,可选指定一个文件,其中包含在重新打包之前获取的“引用快照”。引用快照由与引用提示对应的、以行分隔的 OID 组成,通常由
git
repack
在生成新包之前获取。一行可以选择以+
字符开头,表示与该 OID 对应的引用是“首选的”(参见 git-config[1] 中的pack.preferBitmapTips
)。<path> 处指定的文件应可读,并且可以包含重复项。(如果一个给定的 OID 出现多次,则如果其中至少一个实例以特殊的
+
标记开头,它将被标记为首选)。 - --incremental
-
写入一个增量 MIDX 文件,其中仅包含现有 MIDX 层中不存在的对象和包。必要时将非增量 MIDX 迁移到增量 MIDX。与
--bitmap
不兼容。
- verify
-
验证 MIDX 文件的内容。
- expire
-
删除 MIDX 文件跟踪的包文件,但这些包文件没有被 MIDX 引用任何对象(`。keep` 包和杂项包除外)。之后重写 MIDX 文件以删除对这些包文件的所有引用。
注意此模式与增量 MIDX 文件不兼容。 - repack
-
创建一个新包文件,其中包含多包索引引用的较小包文件中的对象。如果
--batch-size=
<size> 参数给定的尺寸为零,则创建一个包含多包索引引用的所有对象的包。对于非零批量尺寸,通过从旧到新检查包来选择包文件,通过计算多包索引引用的包中对象的数量来计算“预期尺寸”,然后除以包中对象的总数并乘以包尺寸。我们选择预期尺寸小于批量尺寸的包,直到包集的总预期尺寸至少达到批量尺寸,或者所有包文件都已考虑。如果只选择一个包文件,则不执行任何操作。如果创建了新包文件,则重写多包索引以引用新包文件。之后运行 git multi-pack-index expire 将删除属于此批次的包文件。如果
repack.packKeptObjects
为false
,则任何关联有.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]。