セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
調査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
ガイド
- gitattributes
- コマンドラインインターフェースの慣習
- 日々のGit
- よくある質問 (FAQ)
- 用語集
- フック
- gitignore
- gitmodules
- リビジョン
- サブモジュール
- チュートリアル
- ワークフロー
- すべてのガイド...
管理
プルーミングコマンド
- 2.48.1 → 2.49.0 変更なし
-
2.48.0
2025-01-10
- 2.44.1 → 2.47.2 変更なし
-
2.44.0
2024-02-23
- 2.43.1 → 2.43.6 変更なし
-
2.43.0
2023-11-20
- 2.42.1 → 2.42.4 変更なし
-
2.42.0
2023-08-21
- 2.36.1 → 2.41.3 変更なし
-
2.36.0
2022-04-18
- 2.34.1 → 2.35.8 変更なし
-
2.34.0
2021-11-15
- 2.31.1 → 2.33.8 変更なし
-
2.31.0
2021-03-15
- 2.29.1 → 2.30.9 変更なし
-
2.29.0
2020-10-19
- 2.28.1 変更なし
-
2.28.0
2020-07-27
- 2.18.1 → 2.27.1 変更なし
-
2.18.0
2018-06-21
- 2.17.1 → 2.17.6 変更なし
-
2.17.0
2018-04-02
- 2.12.5 → 2.16.6 変更なし
-
2.11.4
2017-09-22
- 2.1.4 → 2.10.5 変更なし
-
2.0.5
2014-12-17
概要
git index-pack [-v] [-o <index-file>] [--[no-]rev-index] <pack-file> git index-pack --stdin [--fix-thin] [--keep] [-v] [-o <index-file>] [--[no-]rev-index] [<pack-file>]
説明
指定されたファイルからパックアーカイブ (.pack) を読み込み、それに対するパックインデックスファイル (.idx) を構築し、オプションで指定されたパックの逆インデックス (.rev) を書き込みます。パックアーカイブは、パックインデックスとともに、Gitリポジトリの objects/pack/ ディレクトリに配置できます。
オプション
- -v
-
進捗状況を含め、詳細な情報を表示します。
- -o <index-file>
-
生成されたパックインデックスを指定されたファイルに書き込みます。このオプションがない場合、パックインデックスファイルの名前は、パックアーカイブファイルの名前から .pack を .idx に置き換えることで構築されます(パックアーカイブの名前が .pack で終わっていない場合、プログラムは失敗します)。
- --[no-]rev-index
-
このフラグが指定されると、与えられたパックに対応する逆インデックス(
.rev
ファイル)が生成されます。--verify
が指定された場合、既存の逆インデックスが正しいことを確認します。pack.writeReverseIndex
よりも優先されます。 - --stdin
-
このフラグが指定されると、パックは代わりに標準入力から読み取られ、コピーが <pack-file> に書き込まれます。<pack-file> が指定されていない場合、パックは現在のGitリポジトリの objects/pack/ ディレクトリに、パックの内容から決定されるデフォルトの名前で書き込まれます。<pack-file> が指定されていない場合は、このプロセスと git repack との間の競合状態を防ぐために --keep を使用することを検討してください。
- --fix-thin
-
git pack-objects --thin
によって生成された「シン」パックを修正します(詳細はgit-pack-objects[1]を参照)。これは、デルタ化されたオブジェクトが基づいている除外されたオブジェクトをパックに追加することによって行われます。このオプションは --stdin と組み合わせてのみ意味があります。 - --keep
-
インデックスを最終的な場所に移動する前に、関連するパックファイルのために空の .keep ファイルを作成します。このオプションは通常、--stdin とともに必要であり、ref がパックに含まれるオブジェクトを使用するように更新される前に、同時に実行されている git repack プロセスが新しく構築されたパックとインデックスを削除するのを防ぎます。
- --keep=<msg>
-
--keep と同様に、インデックスを最終的な場所に移動する前に .keep ファイルを作成します。ただし、空のファイルを作成する代わりに、<msg> に続けてLFを .keep ファイルに書き込みます。<msg> メッセージは後で全ての .keep ファイル内で検索され、その有用性が失われたものを特定するために使用できます。
- --index-version=<version>[,<offset>]
-
これはテストスイートでのみ使用することを目的としています。生成されるパックインデックスのバージョンを強制し、指定されたオフセットより上にあるオブジェクトに対して64ビットのインデックスエントリを強制することができます。
- --strict[=<msg-id>=<severity>…]
-
パックに破損したオブジェクトやリンクが含まれている場合、終了します。
<msg-id>=<severity>
のオプションのコンマ区切りリストを渡して、いくつかの問題の深刻度を変更できます(例:--strict="missingEmail=ignore,badTagName=error"
)。<msg-id>
と<severity>
の可能な値に関する詳細については、git-fsck[1] のfsck.<msg-id>
設定オプションのエントリを参照してください。 - --progress-title
-
内部使用のみ。
プログレスバーのタイトルを設定します。デフォルトではタイトルは「Receiving objects」で、
--stdin
が指定されている場合は「Indexing objects」です。 - --check-self-contained-and-connected
-
パックに破損したリンクが含まれている場合、終了します。内部使用のみ。
- --fsck-objects[=<msg-id>=<severity>…]
-
パックに破損したオブジェクトが含まれている場合、終了します。ただし、
--strict
とは異なり、破損したリンクでは停止しません。パックに存在しない .gitmodules blob を指すツリーが含まれている場合、パック/インデックスファイルの名前になるハッシュの後(「注記」を参照)に、そのblobのハッシュ(呼び出し元が確認用)が表示されます。<msg-id>=<severity>
のオプションのコンマ区切りリストを渡して、いくつかの問題の深刻度を変更できます(例:--fsck-objects="missingEmail=ignore,badTagName=ignore"
)。<msg-id>
と<severity>
の可能な値に関する詳細については、git-fsck[1] のfsck.<msg-id>
設定オプションのエントリを参照してください。 - --threads=<n>
-
デルタを解決する際に生成するスレッド数を指定します。これには index-pack がpthreadsでコンパイルされている必要があり、そうでない場合このオプションは警告とともに無視されます。これはマルチプロセッサマシンでのパッキング時間を短縮することを目的としています。ただし、デルタ検索ウィンドウに必要なメモリ量はスレッド数に比例して増加します。0を指定すると、GitはCPUの数を自動検出して最大3つのスレッドを使用します。
- --max-input-size=<size>
-
パックが <size> よりも大きい場合、終了します。
- --object-format=<hash-algorithm>
-
パックの指定されたオブジェクト形式(ハッシュアルゴリズム)を指定します。有効な値は sha1 と(有効になっている場合)sha256 です。デフォルトは現在のリポジトリのアルゴリズム(
extensions.objectFormat
で設定)であり、値が設定されていない場合やリポジトリ外の場合は sha1 です。このオプションは --stdin と一緒に使用できません。
注: 現在、SHA-256リポジトリとSHA-1リポジトリ間の相互運用性はありません。
これまで、SHA-256リポジトリは、相互運用性機能を導入する際に後方互換性のない変更が必要になる可能性があると警告していました。現在では、互換性のある変更のみを想定しています。さらに、そのような変更が必要であることが判明した場合でも、現在のGitで作成されたSHA-256リポジトリは、データ損失なしに将来のバージョンのGitで利用できると期待できます。
- --promisor[=<message>]
-
パックインデックスをコミットする前に、このパック用の .promisor ファイルを作成します。--fix-thin を使用してプロミサーパックを書き込む際に特に役立ちます。なぜなら、パックが完全に書き込まれるまでパックの名前が確定しないためです。
<message>
が指定された場合、その内容は将来の参照のために .promisor ファイルに書き込まれます。詳細については、部分クローン を参照してください。また、与えられたパック内に(リポジトリ内の)非プロミサーオブジェクトを参照するオブジェクトがある場合、それらの非プロミサーオブジェクトをプロミサーパックに再パックします。これにより、リポジトリにプロミサーオブジェクトを介してアクセス可能な非プロミサーオブジェクトがある状況を回避します。
<pack-file> が指定されていない必要があります。
注記
インデックスが作成されると、パック/インデックスファイルの名前になるハッシュが標準出力に出力されます。--stdin も使用された場合、新しい .keep ファイルが正常に作成された場合は「pack\t」または「keep\t」がプレフィックスとして付きます。これは、前述の git repack との競合を防ぐためにロックとして使用された .keep ファイルを削除するのに役立ちます。
GIT
git[1] スイートの一部