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つの目的だけを載せる。これを守るだけでレビューが劇的に楽になり、コンフリクトも減ります。