私がgitを使う上でもっとよく使うコマンドは git status です。
git status はgit管理されているファイルの状態を確認するコマンドです。
git管理されているファイルの状態について
git ではファイルの状態がいくつかあります。
untracked file
ファイルがgitリポジトリに登録されていないファイルです。
この状態のファイルは、 git clean
することで、ファイル自体を削除することができます。 (本当は git clean -fd
しないと消えない)
staged file
staged file
はgitリポジトリにコミットする準備が整っているファイルです。
untracked file
に対して git add
することで、 staged file
にするになります。
staged file
に対してコミットを行うと index file
になります。
ファイルがgitのリポジトリにコミットする準備が整っているファイルです。
このまま git commit を行うとリポジトリに登録が行われ、indexファイルになります。
git reset
を使用すると
新しく作られた staged file
追加されたファイルは、untracked fileになります。
変更されたファイルは、変更前になります。
またコンフリクトしたファイルは、この状態同じになります。
index file
index file
はgitリポジトリに管理されているファイルです。
index file
を編集しても git checkout
で最新のコミットの状態に簡単に戻すことができます。
git status -s -bのすすめ
僕はgit statusは常に git status -s -b
を使用します。
-b
はブランチを表示、 -s
はショートタイプで表示されます。
( -b
はgit 1.7.2以降で使用可能です)
$ git status -s -b
## master
M a
A b
?? c
Mは index file
を編集した状態
Aは新規にbを staged file
にした状態
??のcはまだ untracked file
の状態です。
このように、ファイルの確認を感覚的に確認することができます。