ワーキングディレクトリーのファイルの状態
「ワーキングディレクトリー」内のファイルの状態には、以下の5種類の状態が定義されています。- Gitの管理対象になっていないファイル
- Gitの管理対象になっているファイル
- 編集されていないファイル
- 編集されたファイル
- ステージされたファイル
1.Gitの管理対象になっていないファイル(Untracked)
「ワーキングディレクトリー」内に存在するファイルだが、「Git」の管理対象になっていないファイルです。「トラックされていないファイル」とも言います。
例えば新規に作成したファイルは、「Git」の管理対象になっていません。
ユーザーが「Git」に明示すれば、「Git」の管理対象になっていないファイルを、管理対象にすることができます。
管理対象にしたファイルは、下記の「2.Gitの管理対象になっているファイル」になります。
2.Gitの管理対象になっているファイル(Tracked)
「Git」の管理対象になっているファイルです。「トラックされているファイル」とも言います。
不要になったファイルは、「Git」の管理対象から外すこともできます。
「Git」の管理対象から外したファイルは、上記の「1.Gitの管理対象になっていないファイル」になります。
従って「ワーキングディレクトリー」内のファイルは、「1.」か「2.」のいずれかの状態になります。
3.編集されていないファイル(Unmodified)
「Git」の管理対象になっており、かつ、まだ編集していないファイルです。リポジトリーの「スナップショット」に格納されているファイルの中身と、編集されていないファイルの中身は同一です。
「スナップショット」からファイルを「チェックアウト」すると、ファイルはまずこの状態になります。
ユーザーが編集されていないファイルを編集すると、下記の「3.編集されたファイル」になります。
4.編集されたファイル(Modified)
「Git」の管理対象になっており、かつ、編集したファイルです。リポジトリーの「スナップショット」に格納されているファイルの中身と、編集されたファイルの中身は異なります。
上記で紹介した「Gitで管理されるファイルの状態」の「2.変更された状態(modified)」と同じ状態です。
5.ステージされたファイル(Staged)
「Git」の管理対象になっており、かつ、ステージされたファイルです。以前紹介した「Gitで管理されるファイルの状態」の「3.ステージされた状態(staged)」と同じ状態です。
ファイルの状態遷移
ユーザーが行う作業とファイルの状態の遷移を図にすると、以下のようになります。ワーキングツリーとは
「ワーキングツリー」とは、「ワーキングディレクトリー」内のフォルダー構造のことです。フォルダーツリーだと思えばよいです。