【図解】Gitのインデックスの説明まとめ

git コマンド

Gitのインデックスに関する説明をまとめます。

Gitのインデックスの概要

Gitには「インデックス」という保存領域が存在します。
「ステージング」とも言います。

インデックスには、コミット(git commit)する前のファイルのリストと、そのファイルそのものが保存されています。

Gitのインデックスの保存場所

インデックスのリストは.git/indexにバイナリファイルとして保存されています。
インデックスに登録されているファイルの内容は.git/objects/以下にバイナリファイルとして保存されています。

Gitのインデックスが更新されるタイミング

インデックスは、git addgit rmした時に更新されます。

この時インデックスに登録されたファイルが、コミットした時にリポジトリの変更として記録される事になります。

また、git resetによりインデックスの状態を巻き戻す事もできます。

Gitのインデックスを実際に見る方法

git ls-files --stageコマンドでインデックスのリストを見る事ができます。
以下のようなイメージです。

インデックスに登録されているファイルの内容はgit cat-fileで見る事ができます。
試しに上記の一覧で出てきた.gitignoreの中身を見てみます。

git cat-file -pにインデックスのリストで確認したオブジェクトのハッシュ値を指定すると、ファイルの中身が見れます。

Gitのインデックスに関する説明は以上です。

コメント/ピンバック

タイトルとURLをコピーしました