Git
英文 ▾ 主題 ▾ 最新版本 ▾ git-multi-pack-index 最後更新於 2.47.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>

可選地指定當多個包包含相同物件時所使用的打破平手的包。<pack> 必須包含至少一個物件。如果未給定,則會優先選擇 mtime 最低的包。

--[no-]bitmap

控制是否寫入多重包點陣圖。

--stdin-packs

寫入僅包含透過 stdin 提供的以換行符號分隔的包索引基本名稱集合的多重包索引。

--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