Gitコミットはセーブポイント、履歴は物語 〜 AI時代だからこそコミット粒度を考える 〜
Gitを教えていると、コミットについていろいろ考えさせられます。
正直に言うと、私自身も昔はこんなコミットをしていました。
「このコミットまでは動いていた」が分かります。 2. 失敗を恐れず試せる
大胆な変更がしやすくなります。 3. AI時代に特に有効
これが最近特に感じることです。
私はこれをこう表現しています。
fix
fix2
final
final2
really_final
……気持ちはよく分かります。動いた瞬間に「とりあえずコミット!」したくなるんですよね。
実は今でも、ローカル作業中には似たようなコミットをすることがあります。
なので、この記事は誰かを注意するためではありません。私自身も試行錯誤している中で、今感じていることを書いてみます。
目次
コミットはセーブポイント
私はコミットを説明するとき、よくこう言います。コミットはゲームでいうセーブポイントです。例えばアクションゲームで、ボス戦の前にセーブしておけば安心ですよね。プログラムも同じです。 作業中に、
- UIをいじった
- AI生成コードを入れた
- バグ修正した
作業中は細かくコミットしていい
ここは誤解されやすいところです。私は、作業中は細かくコミットしてよいと思っています。 例えばこんな感じです。UIのボタン配置
ボタンイベント追加
OCR結果表示
NullReference修正
細かいコミットにはメリットがあります。
1. どこで壊れたか追いやすい「このコミットまでは動いていた」が分かります。 2. 失敗を恐れず試せる
大胆な変更がしやすくなります。 3. AI時代に特に有効
これが最近特に感じることです。
AIは一瞬で大量変更する
生成AIでコードを書くと、こんなことが起きます。- 1回の指示で200行増える
- 複数ファイルが変更される
- 動くけど理由が分からない
この変更、どこから壊れた?となることが増えました。だからこそ、AIに大きな作業をさせる前後でコミットするのが大事だと思っています。 例えば:
AI導入前
AIによるインベントリ画面生成
生成コードの整理
これだけでも安心感がかなり違います。
最初は「fix」でも十分
ここで誤解してほしくないことがあります。最初から完璧なコミットメッセージを書く必要はありません。 受講生を見ていると、最初はそもそも- commit が怖い
- push が怖い
- branch が怖い
fix でもいいんです。ただ、チーム開発になると、もう一歩先が必要になります。
共有前はコミットを見直す
作業中は細かくてOKです。ただ、そのまま共有ブランチに入れる前に、少し立ち止まって履歴を見てみるのがおすすめです。 例えばこういう履歴:fix
fix2
fix3
wip
wip2
作業中なら問題ありません。でも、後から見返した時に「何をしたコミットだったんだろう?」となりやすいです。
なので共有前には、
- 細かすぎないか
- 意味が重複していないか
- 後から見て分かるか
履歴は未来の自分へのメッセージ
私はコミットメッセージをこう考えています。コミットは過去の記録ではなく、未来の自分へのメッセージ重要なのは「何をしたか」だけでなく、「なぜそれをしたか」です。 悪い例:
fix bug
良い例:
プレイヤー死亡時にHPが0未満になる不具合を修正
後者のほうが、後から見た時に思い出しやすいです。
mainブランチは綺麗に保つ
チーム開発では特に重要です。私はこんなイメージで考えています。| 場所 | 方針 |
|---|---|
| ローカル | 細かく自由にコミット |
| Pull Request 前 | コミットを見直す |
| main | 意味のある履歴を残す |
ローカルは作業場 Pull Request はレビュー室 main は展示室展示室に工具を散らかしたまま置かないですよね。
AI時代でも、いやAI時代だからこそ
「AIがコードを書くならGitは不要では?」そう思う人もいるかもしれません。私は逆だと思っています。 AI時代になるほど、- 変更量が増える
- 開発速度が上がる
- 人間の理解が追いつかない
Gitは、変更の意味を管理する道具だと思っています。
まとめ
私のおすすめはシンプルです。- 作業中は細かくコミット
- 共有前に少し見直す
- mainは綺麗に保つ
コミットはセーブポイント 履歴は物語この記事は、誰かを注意するために書いたものではありません。私自身もまだ試行錯誤しています。 ただ、皆さんが半年後、1年後にコードを見返した時、「あの時Gitをちゃんと学んで良かった」と思ってもらえたら、嬉しいです。 ※ちなみに Git には、履歴そのものを整理する、さらに高度な機能もあります。それについては、また別の記事で紹介したいと思います。
訪問数 4 回, 今日の訪問数 4回









ディスカッション
コメント一覧
まだ、コメントがありません