.git/index
staging areaの状態を記録する
バイナリファイルである
フォーマット
GPT-4.icon
インデックスファイルはバイナリ形式で保存されています。主な構造は以下の通りです。
1. ヘッダー
ファイルの基本情報を含むセクション。
主な内容:
シグネチャ: DIRC(インデックスファイルであることを示す識別子)
バージョン番号: 現在はバージョン2が一般的。
エントリー数: インデックスに含まれるファイルの数。
2. エントリー(各ファイルごとの情報)
インデックスに登録されている各ファイルの情報。
主なフィールド:
ファイルのメタデータ:
ファイルのctime(作成時間)とmtime(変更時間)
デバイス番号、inode番号(ファイルシステムの情報)
モード(ファイルタイプやパーミッション)
ファイルサイズ
SHA-1ハッシュ:
ファイルの内容を表すSHA-1ハッシュ値。
この値がGitオブジェクトデータベースのobjectsフォルダ内のブロブに対応。
パス情報:
ファイルパスの文字列。
その他:
各種フラグ(ステージング状態や名前変更情報など)。
3. 拡張セクション
バージョン3以降に追加されたセクションで、ヘッダーやエントリーに含まれない追加情報を記録。
例:
TREE エクステンション: ワーキングツリーの階層情報。
REUC エクステンション: マージ時の競合情報。