Skip to content

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 套件的一部分

基于 CC BY-NC-SA 3.0 许可发布