git-index-pack
为现有打包存档构建包索引文件
概要
'git index-pack' [-v] [-o <index-file>] [--[no-]rev-index] <pack-file>
'git index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>]
[--[no-]rev-index] [<pack-file>]描述
从指定文件读取打包存档(.pack),为其构建包索引文件(.idx),并可选地为指定包写入反向索引(.rev)。然后可以将打包存档连同包索引一起放入 Git 仓库的 objects/pack/ 目录中。
选项
-v- 详细说明正在发生的事情,包括进度状态。-o <index-file>- 将生成的包索引写入指定文件。没有此选项时,包索引文件的名称通过将 .pack 替换为 .idx 从打包存档文件的名称构造。--rev-index,--no-rev-index- 提供此标志时,生成与给定包对应的反向索引(.rev文件)。如果给出--verify,确保现有反向索引正确。优先于pack.writeReverseIndex。--stdin- 提供此标志时,改为从 stdin 读取包,然后将副本写入 <pack-file>。如果未指定 <pack-file>,包写入当前 Git 仓库的 objects/pack/ 目录,名称由包内容确定。如果未指定 <pack-file>,考虑使用 --keep 以防止此进程与 'git repack' 之间的竞态条件。--fix-thin- 通过添加增量对象所基于的被排除对象来修复git pack-objects --thin生成的"瘦"包。此选项仅与 --stdin 一起使用时有意义。--keep- 在将索引移动到最终目标之前,为关联的包文件创建空的 .keep 文件。此选项通常与 --stdin 一起使用是必要的,以防止同时运行的 'git repack' 进程在引用可以更新以使用包中包含的对象之前删除新构建的包和索引。--keep=<msg>- 类似于 --keep,在将索引移动到最终目标之前创建 .keep 文件。但不是创建空文件,而是将 '<msg>' 后跟 LF 放入 .keep 文件中。--index-version=<version>[,<offset>]- 这仅供测试套件使用。它允许强制生成的包索引的版本,并强制对位于给定偏移量之上的对象使用 64 位索引条目。--strict[=<msg-id>=<severity>...]- 如果包包含损坏的对象或链接则终止。可以传递可选的逗号分隔的<msg-id>=<severity>列表以更改某些可能问题的严重性。--progress-title- 仅供内部使用。设置进度条的标题。--check-self-contained-and-connected- 如果包包含损坏的链接则终止。仅供内部使用。--fsck-objects[=<msg-id>=<severity>...]- 如果包包含损坏的对象则终止,但与--strict不同,不要因损坏的链接而中断。--threads=<n>- 指定解析增量时要生成的线程数。这需要使用 pthreads 编译 index-pack,否则此选项会被忽略并显示警告。--max-input-size=<size>- 如果包大于 <size> 则终止。--object-format=<hash-algorithm>- 指定包的给定对象格式(哈希算法)。有效值为 'sha1' 和(如果启用)'sha256'。默认为当前仓库的算法。--promisor[=<message>]- 在提交包索引之前,为此包创建 .promisor 文件。
备注
创建索引后,用于包/idx 文件名称的哈希打印到 stdout。如果还使用了 --stdin,则此前缀为 "pack\t",或如果成功创建了新的 .keep 文件则为 "keep\t"。
Git
git(1) 套件的一部分
