良いコミットとは何か

入門 | 9分 で読める | 2026.06.18

公式ドキュメント

Gitでは、変更をcommitとして記録します。しかし、何でもまとめてcommitすればよいわけではありません。良いcommitは、あとから読んだ人が変更理由を理解しやすい単位です。

一言でいうと

良いコミットは、「1つの目的」にまとまっていて、あとから変更理由を追える記録です。

良いコミットの条件

条件説明
目的が1つ機能追加と無関係な整形を混ぜない
差分が読めるレビューしやすい大きさ
メッセージが具体的何をしたかがわかる
戻しやすい問題があればそのcommitを取り消せる

悪いコミットの例

update
fix
いろいろ変更
作業

これでは、あとから履歴を見ても何をしたかわかりません。

差分も、機能追加、バグ修正、フォーマット、README更新が全部混ざっていると読みにくくなります。

良いメッセージの例

feat: add login form
fix: handle empty search keyword
docs: update setup instructions
test: add user service tests

英語でも日本語でも構いませんが、目的がわかるようにします。

fix: 空の検索キーワードで全件表示される問題を修正

粒度の考え方

良い粒度は、次の問いで確認できます。

  • このcommitだけで説明できるか
  • このcommitだけを戻しても意味があるか
  • レビューする人が数分で読めるか
  • テストや確認方法を説明できるか

commitは作業時間の区切りではなく、意味の区切りで作ります。

分けた方がよい例

次の変更は、分けた方が読みやすいです。

変更分ける理由
ログイン機能追加機能として大きい
README修正実装とは別目的
フォーマット変更差分が大きくなりやすい
テスト追加実装と対応関係を見やすくする

よくある誤解

誤解実際
commitは最後に1回でよい履歴が読みにくくなります
細かければ細かいほどよい意味のない小分けは逆に読みにくいです
メッセージは適当でよい後から調査するときに困ります
動けば何でもよいレビューと保守も重要です

まとめ

良いcommitは、1つの目的にまとまり、差分が読めて、変更理由がわかる記録です。作業時間ではなく意味の区切りでcommitを作ります。大きな変更、README、フォーマット、テストは、必要に応じて分けると履歴が読みやすくなります。

参考リソース

← 一覧に戻る
PR
PR
PR
PR