簡體中文 ▾ 主題 ▾ 最新版本 ▾ git-multi-pack-index 上次更新於 2.50.0

名稱

git-multi-pack-index - 寫入並驗證多包索引

概要

git multi-pack-index [--object-dir=<dir>] [--[no-]bitmap] <sub-command>

描述

寫入或驗證多包索引 (MIDX) 檔案。

選項

--object-dir=<dir>

使用給定目錄作為 Git 物件的位置。我們會在 <dir>/packs/multi-pack-index 檢查當前 MIDX 檔案,並在 <dir>/packs 檢查要索引的包檔案。

<dir> 必須是當前倉庫的備用目錄。

--[no-]progress

明確開啟/關閉進度顯示。如果未指定,當標準錯誤連線到終端時會顯示進度。子命令 writeverifyexpire 和 `repack` 支援此選項。

以下子命令可用

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.packKeptObjectsfalse,則任何關聯有 .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]

GIT

Git[1] 套件的一部分

scroll-to-top