今回やること
この記事では、git status と git diff を使って、変更状態と差分を確認します。
Gitで迷ったら、最初に git status、記録前に git diff を見ます。
前提条件
- Gitがインストールされている
- 学習用のGitリポジトリがある
- ターミナルでプロジェクトフォルダへ移動できる
Step 1: 現在の状態を見る
まず、リポジトリの状態を確認します。
git status
何も変更がなければ、作業ツリーがきれいな状態だと表示されます。
Step 2: ファイルを変更する
学習用に README.md を少し編集します。
# Git Practice
git status and git diff practice.
保存したら、もう一度状態を見ます。
git status
modified と表示されれば、Gitが変更を検知しています。
Step 3: 差分を見る
変更内容を確認します。
git diff
git diff では、変更前後の差分が表示されます。
| 表示 | 意味 |
|---|---|
- | 削除された行 |
+ | 追加された行 |
@@ | 差分の位置 |
Step 4: ステージする
変更をステージします。
git add README.md
状態を見ます。
git status
Changes to be committed のように表示されれば、次のコミットに入る状態です。
Step 5: ステージ済み差分を見る
通常の git diff は、未ステージの差分を見るコマンドです。ステージ済みの差分は次で確認します。
git diff --staged
commit前には git diff --staged で、次のcommitに入る内容を確認します。
Step 6: コミットする
内容が問題なければコミットします。
git commit -m "docs: update README"
最後に状態を確認します。
git status
よくあるエラー
| 状況 | よくある原因 | 確認すること |
|---|---|---|
git diff に何も出ない | すでにステージ済み | git diff --staged を見る |
| 変更が表示されない | ファイルを保存していない | エディタで保存する |
| 関係ない差分が多い | 以前の変更が残っている | git status で全体を見る |
| commit後に差分が消えた | 履歴に記録済み | git log --oneline を見る |
まとめ
git status は現在の状態を確認するコマンドで、git diff は変更内容を見るコマンドです。未ステージの差分は git diff、ステージ済みの差分は git diff --staged で確認します。commit前に差分を見る習慣が事故を減らします。