git-repack
打包仓库中未打包的对象。
概要
bash
'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [-m]
[--window=<n>] [--depth=<n>] [--threads=<n>] [--keep-pack=<pack-name>]
[--write-midx[=<mode>]] [--name-hash-version=<n>] [--path-walk]描述
此命令用于将当前不在"包"中的所有对象组合到一个包中。它还可用于将现有包重新组织为单个更高效的包。
包是对象的集合,单独压缩,应用增量压缩,存储在单个文件中,并带有关联的索引文件。
包用于减少镜像系统、备份引擎、磁盘存储等的负载。
选项
-a:不是增量打包未打包的对象,而是将所有引用的内容打包到单个包中。与-d一起使用时特别有用。-A:与-a相同,除非使用了-d。然后,先前包中的任何不可达对象将成为松散的未打包对象。-d:打包后,如果新创建的包使一些现有包变得冗余,则删除冗余的包。--cruft:与-a相同,除非使用了-d。然后将所有不可达对象打包到单独的 cruft 包中。--cruft-expiration=<approxidate>:立即过期早于<approxidate>的不可达对象。--max-cruft-size=<n>:覆盖 cruft 包的--max-pack-size。--combine-cruft-below-size=<n>:在不修剪的情况下生成 cruft 包时,仅重新打包大小严格小于<n>字节的现有 cruft 包。--expire-to=<dir>:将包含修剪对象的 cruft 包写入目录<dir>。-l:将--local选项传递给git pack-objects。-f:将--no-reuse-delta选项传递给git-pack-objects。-F:将--no-reuse-object选项传递给git-pack-objects。-q, --quiet:不在标准错误流上显示进度。-n:不使用git update-server-info更新服务器信息。--window=<n>、--depth=<n>:影响包中包含的对象如何使用增量压缩存储。默认值为 --window 10 和 --depth 50。最大深度为 4095。--threads=<n>:此选项传递给git pack-objects。--window-memory=<n>:在--window之上提供额外的内存限制。--max-pack-size=<n>:每个输出包文件的最大大小。--filter=<filter-spec>:从结果包文件中删除匹配过滤器规范的对象,并将它们放入单独的包文件中。--filter-to=<dir>:将包含过滤对象的包写入目录<dir>。-b, --write-bitmap-index:作为重新打包的一部分写入可达性位图索引。--pack-kept-objects:重新打包时包含.keep文件中的对象。--keep-pack=<pack-name>:从重新打包中排除给定的包。--unpack-unreachable=<when>:松散不可达对象时,不松散早于<when>的对象。-k, --keep-unreachable:与-ad一起使用时,现有包中的任何不可达对象将被追加到包文件的末尾。-i, --delta-islands:将--delta-islands选项传递给git-pack-objects。-g<factor>, --geometric=<factor>:安排结果包结构,使每个连续的包至少包含下一个最大包的<factor>倍对象数。-m, --write-midx[=<mode>]:写入包含非冗余包的多包索引。--name-hash-version=<n>:将此参数提供给底层git pack-objects进程。--path-walk:将--path-walk选项传递给底层git pack-objects进程。
配置
各种配置变量会影响打包,请参阅 git-config(1)(搜索 "pack" 和 "delta")。
另请参阅
git-pack-objects(1), git-prune-packed(1)
Git
git 套件的一部分
