コミットを小さく分ける練習

入門 | 12分 で読める | 2026.06.18

公式ドキュメント

今回やること

この記事では、複数の変更を1つにまとめず、意味のある単位でcommitに分ける練習をします。

小さなcommitは、レビューしやすく、問題が起きたときに戻しやすいです。

前提条件

  • Gitリポジトリがある
  • git statusgit diffgit add が使える
  • 学習用のファイルで試す

Step 1: 2種類の変更を作る

READMEとコードを同時に変更した状態を作ります。

echo "## Setup" >> README.md
echo "console.log('hello git');" > app.js

状態を確認します。

git status

Step 2: 差分を確認する

git diff

README変更とコード追加が混ざっています。このまま git add . してcommitすると、目的が2つ入ったcommitになります。

Step 3: READMEだけステージする

git add README.md

ステージ済み差分を確認します。

git diff --staged

READMEの変更だけが入っていれば問題ありません。

Step 4: README変更をcommitする

git commit -m "docs: add setup section"

Step 5: 残りの変更を確認する

git status
git diff

まだ app.js の変更が残っています。

Step 6: コード変更をcommitする

git add app.js
git diff --staged
git commit -m "feat: add initial app script"

これで、README変更とコード変更を別々のcommitに分けられました。

Step 7: 履歴を見る

git log --oneline

2つのcommitが別々に表示されます。

commitを分けると、履歴を読んだときに変更目的が追いやすくなります。

よくあるエラー

状況よくある原因確認すること
全部1commitに入ったgit add . したファイル単位でaddする
commitに入る内容がわからないstaged差分を見ていないgit diff --staged を見る
分けすぎた1行ごとにcommitしている目的単位でまとめる
関係ない整形が混ざるフォーマットが同時に走った整形commitを分ける

まとめ

commitは意味のある単位で分けます。README変更とコード変更、機能追加と整形、実装とテストなどは、必要に応じて分けると履歴が読みやすくなります。git add ファイル名git diff --staged を使い、次のcommitに入る内容を確認します。

参考リソース

← 一覧に戻る
PR
PR
PR
PR