良いコミットメッセージとGitのブランチ戦略
開発

良いコミットメッセージとGitのブランチ戦略

「修正しました」「バグ直した」という雑なコミットメッセージは、未来の自分とチームメンバーへの裏切りです。世界標準のConventional Commitsと、開発を加速させるブランチ戦略の基礎を解説します。

誰のためのコミットメッセージなのか?

プログラミング初心者がチーム開発に参加した際、最も頻繁にやってしまう悪習が「適当なコミットメッセージを残すこと」です。

  • fix
  • バグ直した
  • 最新版に更新

このようなメッセージで git commit を行っていませんか? コミットメッセージは、「今のあなた」のために書くメモではありません。半年後に深刻なバグが発生して原因調査(git blamegit log)をする「未来の自分」、そしてコードレビューを行う「チームメンバー」へ向けた公式な手紙です。

メッセージを一目見ただけで「なぜ、どこを、どのように変更したのか」が推測できない歴史(ログ)は、プロジェクトの保守性を著しく低下させます。

テキスト差分(diff)2つのテキストやコード差分を色分け表示

世界標準「Conventional Commits」の書き方

世界中のオープンソースプロジェクトやテック企業で標準的に採用されているコミットメッセージのルールが「Conventional Commits」です。これは、メッセージの先頭に「プレフィックス(接頭辞)」をつけることで、変更の意図を強制的に明確化するフレームワークです。

代表的なプレフィックス

  • feat:: 新しい機能の追加(feature)
  • fix:: バグの修正
  • docs:: ドキュメントのみの変更(READMEやコメントの修正)
  • style:: コードの動作に影響しない、フォーマット(空白、インデント)の修正
  • refactor:: バグ修正や機能追加ではない、コードの構造(リファクタリング)の改善
  • test:: テストコードの追加・修正
  • chore:: ビルドプロセスや補助ツールの変更(実稼働コードに関係ない雑務)

良いコミットの例

feat: ユーザーパスワードのリセット機能を追加
fix: ログイン画面のボタンがずれるCSSレイアウト崩れを修正
docs: APIエンドポイントの仕様書(README)を更新

このように先頭にプレフィックスをつけるだけで、「このコミットは新機能なのか、バグ修正なのか」がシステム的にも人間的にも一瞬で判別できるようになります。

ブランチ戦略:なぜ「main」で直接作業してはいけないのか

もう一つの重要なルールが「Gitのブランチ戦略」です。 小規模な個人開発では、常に main(または master)ブランチ上で直接コードを書き、コミットしがちです。しかしチーム開発において、これは絶対にやってはいけない御法度です。

main ブランチは、「いつでも本番環境(ユーザーのPCやスマホ)にデプロイして良い、100%安全で完成されたコード」だけを置いておく聖域です。

開発を安全に進める「機能単位ブランチ」

新しい機能を追加したりバグを修正する場合は、必ず main から新しく「作業用ブランチ」を切り出します(例: feat/password-resetfix/login-layout)。

  1. 作業ブランチを作成する (git checkout -b feat/xxx)
  2. そのブランチでコードを書き、丁寧にコミットを積む
  3. 開発が完了したら、リモートリポジトリ(GitHubなど)にプッシュする
  4. 「プルリクエスト(Pull Request)」を作成し、他のメンバーにコードレビューを依頼する
  5. レビューで安全性が保証されて初めて、main にマージ(統合)する

このフロー(GitHub Flowなどと呼ばれます)を守ることで、「壊れたコードが本番環境に混入する事故」を物理的に防ぐことができます。

Base64エンコード/デコードテキストやファイルをBase64に変換・復元(data URI対応)

まとめ:素晴らしいコードは美しい歴史から生まれる

プログラミング技術がいくら高くても、コミットログがぐちゃぐちゃで、ブランチの切り方がデタラメなエンジニアは、チーム開発において信頼を得ることはできません。

「1つのコミットには1つの意図だけを含める(機能追加とリファクタリングを同時にコミットしない)」「Conventional Commitsを守る」「mainブランチを汚さない」。 この3つの鉄則を守るだけで、あなたのGitリポジトリの歴史は美しくなり、数ヶ月後の自分自身を大いに助けることになるでしょう。

関連記事