2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

git commitの粒度が分からない人向け「1コミット=1意味」の判断基準

2
Last updated at Posted at 2026-08-31

初めまして、テックバディ運営の大下です。ふだんはAI駆動開発を学べるエンジニア向けスクール「テックバディ」の立ち上げをしながら、現場で新人エンジニアと接する機会も多いのですが、意外と共通して悩んでいるのが今回のテーマです。

「とりあえず動いたのでcommit」「キリが良さそうなのでcommit」——こんな理由でコミットを切っていませんか。

わたしも最初の数ヶ月は、1日の終わりにまとめて1コミットしたり、逆に細かすぎてfixだけのコミットが10個並んだり、粒度がずっと定まりませんでした。レビュアーから「このコミット、何をした差分ですか」と聞かれて答えに詰まったこともあります。

最近はAIにコードを生成してもらう機会が増え、一度に大きな差分が出力されるぶん「このAI生成分をどう分割してコミットするか」という新しい悩みも出てきました。今回はその両方を整理します。

なぜ粒度がバラつくのか

原因はシンプルで、「作業の区切り」と「意味の区切り」を混同しているからです。

  • 作業の区切り:今日はここまでやった、休憩前だから、というタイミング基準
  • 意味の区切り:この差分は「何をしたか」を一言で説明できるか、という内容基準

コミットログはあとから読む人(未来の自分やレビュアー)のための記録です。作業の区切りで切ると、ログを見ても「何が起きたか」が分からず、git blameやレビューの役に立ちません。

判断基準は「1コミット=1つの動詞で言えるか」

具体的には、コミットする前に次の問いに答えられるかを確認します。

このコミットは、1つの動詞(追加する/直す/リネームする/削除する)で説明できるか

説明できないなら、それは複数の意味が混ざっている合図です。分割しましょう。

# NG:意味が3つ混ざっている
git commit -m "ログイン機能追加、タイポ修正、CSS調整"

# OK:意味ごとに分割
git commit -m "feat: メールアドレスでのログイン機能を追加"
git commit -m "fix: バリデーションメッセージのタイポを修正"
git commit -m "style: ログインフォームの余白を調整"

AI生成コードを分割するときの視点

Claude CodeやCopilotに機能実装を依頼すると、1回の出力で「機能本体」「テスト」「軽微なリファクタ」がまとめて差分として返ってくることがよくあります。ここでそのまま1コミットにしてしまうと、あとでレビューする側は「どこが本題でどこがついでの修正か」を差分全体から読み解く必要が出てしまいます。

分割の目安は次の3つです。

  1. 機能本体とテストは分ける:本体の意図を先に読んでもらい、テストは補強として後ろに置く
  2. AIが「ついでに」直した箇所は分ける:依頼していないリファクタや命名変更が混ざっていたら、意図的に別コミットへ
  3. 依存関係があるものは1つにまとめる:型定義の追加とそれを使う実装のように、片方だけでは動かない変更は無理に割らない

git add -p(パッチ単位でステージング)を使うと、1回で出力された差分でも意味ごとに拾ってコミットできます。

git add -p
# ハンクごとに y/n/s で選びながら意味の単位でステージング

実践チェックリスト

コミット前に、この5つを上から見ていくとブレにくくなります。

  • このコミットを1つの動詞で言えるか
  • コミットメッセージを見ただけで差分の内容が想像できるか
  • 「ついでに直した」ものが混ざっていないか
  • このコミット単体でビルド・テストが通るか
  • revertしたときに、意図しない部分まで巻き込まないか

最後の「revertしたときに」が地味に重要です。1コミットに複数の意味が混ざっていると、片方だけ取り消したいときに困ります。

まとめ

粒度の正解は「作業の区切り」ではなく「意味の区切り」です。1コミット1動詞を基準にすれば、AIが生成した大きな差分でも迷わず分割できます。コミットログは未来の自分とチームへの手紙だと思って、意味の通じる単位で残していきましょう。


AI駆動開発を実務レベルで学べるエンジニア向けスクール「テックバディ」について

「テックバディ」は、生成AIを使いこなして実務レベルの開発をやりきる力を、模擬案件を通じて身につけるエンジニア向けスクールです。「AIに書かせるだけ」で終わらせず、設計力・品質担保力・判断力まで鍛えるカリキュラムで、現場で任される仕事の幅を広げたい方をサポートしています。

■詳しくはこちら:https://www.mukuil.com/lp/tech-buddy/#contact

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?