「写真に何を写すか」を選ぶ工程
コミットは、その瞬間のスナップショットを撮る行為だとお話ししました。ステージングは、その写真に何を写り込ませるかを、撮る前に選ぶ工程です。
編集したファイルが5つあっても、「今回のコミットに含めたいのはこの2つだけ」ということはよくあります。残りの3つは、また別のタイミングでコミットすればよいのです。この「選ぶ」作業をするのがgit addというコマンドです。
なぜこの工程が必要なのか
もしステージングという工程がなく、変更したものが全部そのままコミットされてしまうと、1つのコミットに関係のない変更が混ざってしまいます。あとから履歴を見返したときに、「このコミットは結局何をしたんだっけ」と分かりにくくなってしまいます。
ステージングを挟むことで、1つのコミット=1つのまとまった意味のある変更、という状態を保ちやすくなります。
やってみる
git status # 何が変更されているか確認
git add file.txt # file.txtだけをステージングする
git add . # 変更を全部ステージングする
ステージングの後はコミットに進みます。一連の流れはGit基本的な使い方にまとめてあります。