?
本文檔使用 php中文網(wǎng)手冊 發(fā)布
git-index-pack - 為現(xiàn)有打包歸檔文件生成包索引文件
git index-pack [-v] [-o <index-file>] <pack-file>git index-pack --stdin [--fix-thin] [--keep] [-v] [-o <index-file>] [<pack-file>]
從指定文件讀取壓縮歸檔文件(.pack),并為其構(gòu)建一個包索引文件(.idx)。打包的壓縮文件和包索引可以放在 Git 倉庫的 objects / pack / 目錄中。
-v
詳細了解正在發(fā)生的事情,包括進度狀態(tài)。
-o <index-file>
將生成的包索引寫入指定的文件。如果沒有這個選項,包裝索引文件的名稱是通過將 .pack 替換為 .idx(并且如果打包歸檔的名稱不以 .pack 結(jié)尾,則程序失?。拇虬鼩w檔文件的名稱構(gòu)造的。
--stdin
提供此標志時,將從 stdin 中讀取該包,然后將副本寫入<pack-file>。如果未指定<pack-file>,那么該包將被寫入當(dāng)前 Git 存儲庫的 objects / pack / 目錄,其默認名稱將根據(jù)包內(nèi)容確定。如果未指定<pack-file>,請考慮使用--keep 來防止此進程與之間的爭用情況git repack
。
--fix-thin
通過將已分類對象所基于的排除對象添加到包中,修復(fù)由(請參閱git-pack-objects [1]獲得的詳細信息)git pack-objects --thin
生成的“瘦” 包。這個選項與--stdin 一起使用才有意義。
--keep
在將索引移動到其最終目標之前,請為關(guān)聯(lián)的包文件創(chuàng)建一個空的.keep 文件。該選項通常需要使用--stdin 來防止同時git repack
進程刪除新構(gòu)建的包和索引,然后才能更新引用以使用包中包含的對象。
--keep=<msg>
像--keep 在將索引移動到其最終目標之前創(chuàng)建一個.keep 文件,而不是創(chuàng)建一個空文件位置,然后<msg>
將LF放入.keep 文件中。稍后可以在所有.keep 文件中搜索該<msg>
消息以找到任何已失效的文件。
--index-version=<version>,<offset>
這僅供測試套件使用。它允許強制生成的包索引的版本,并強制位于給定偏移量以上的對象上的64位索引條目。
--strict
死亡,如果包裝包含破碎的物體或鏈接。
--check-self-contained-and-connected
如果包裝中含有損壞的鏈接,則死亡。僅限內(nèi)部使用。
--threads=<n>
指定解析變化量時產(chǎn)生的線程數(shù)。這要求使用 pthread 編譯索引包,否則該選項會被忽略并帶有警告。這是為了減少多處理器機器的打包時間。然而,增量搜索窗口所需的內(nèi)存量乘以線程數(shù)量。指定0將導(dǎo)致 Git 自動檢測 CPU 的數(shù)量并使用最多3個線程。
--max-input-size=<size>
死亡,如果包裝大于<尺寸>。
索引創(chuàng)建完成后,將對對象名稱列表進行排序,并將該列表的 SHA-1 哈希值打印到 stdout。如果還使用了--stdin,則以“pack \ t”或“keep \ t”作為前綴,前提是已成功創(chuàng)建新的.keep 文件。這對刪除用作鎖的.keep 文件非常有用,可防止上述git repack
競爭。