Git を「操作手順の暗記」として学ぶと、少しでも想定外の状態になった瞬間に手が止まります。必要なのは、いま自分のファイルがどの箱にいるのかを言えることです。

3つの箱

  • 作業ツリー — いまエディタで編集しているファイルそのもの
  • ステージ(インデックス)— 次のコミットに含める、と宣言した変更の控え室
  • 履歴(リポジトリ)— コミットとして確定した、消えない記録

git add は作業ツリーからステージへ、git commit はステージから履歴へ移す操作です。それだけです。

git status を翻訳する

bash
$ git status
Changes to be committed:      # ← ステージにいる
  modified:   app.py
Changes not staged for commit: # ← 作業ツリーにだけある
  modified:   README.md
Untracked files:               # ← Git がまだ知らない
  notes.txt

この出力は、3つの箱それぞれの中身を報告しているだけです。意味がわかると、次に打つべきコマンドは自然に決まります。

怖い操作を怖くなくする

コミットさえしてあれば、ほとんどの失敗は取り消せます。まずコミットしてから実験してください。

git reflog は、ブランチを消してもコミットの行き先を覚えています。取り返しがつかない操作は実はごく少数です。

チームで使うときの最低限

1つのブランチには1つの目的だけを載せる。これを守るだけでレビューが劇的に楽になり、コンフリクトも減ります。