Git Commit Message コード規約に基づくコミット規約

5,310 0

先月、会社にフロントエンドのすごい方が入社し、私たちのチームに技術面でいくつかの規約を制定してくれました。その中の一つが、Git でコードをコミットする際の Commit Message に関する規約です。最初は余計なことだと思っていましたが、多くの大規模プロジェクトの Commit 履歴を見て、この規約が業界の標準ともいえるものだと分かりました。

まず、私の CodeStudy プロジェクトではどのような Commit Message を書いているか見てみましょう。

次に、尤雨溪氏の作品である Vue フレームワークの Commit Message を見てみましょう。

やはり、規約に沿った Commit Message は本当に人の目を引き、該当する Commit の内容や関係する機能モジュールをすばやく把握できます。ここでは、規約化された Commit Message によってどのようなメリットが得られるのかを説明します。

規約化のメリット

  • プログラマーがコミット履歴を追跡し、何が起きたのかを把握しやすくなります。
  • Commit Message に制約を設けると、毎回のコミットを慎重に行うことになります。さまざまな変更を一つの git commit にまとめて入れることはできなくなり、その結果、コード変更の履歴全体もより明確になります。
  • フォーマット化された Commit Message でなければ、Change log を自動的に出力するために利用できません。

Git コミット規約

Plain Text
<type>(<scope>): <subject><body><footer>
名称役割
typeGit Commit の種類を示すために使用し、下表の識別子のみ使用可能
scopeCommit が影響する範囲を示すために使用。データ層、制御層、ビュー層など
subjectCommit の目的を簡潔に説明するもので、通常は 50 文字以内
body省略可。複数行にできる詳細な説明で、header との間を 1 行空ける
footer省略可。通常は互換性のない更新や issue のクローズに使用し、body との間を 1 行空ける
種類説明
syncメインラインまたはブランチのバグを同期する
mergeコードをマージする
revert直前のバージョンにロールバックする
choreビルドプロセスまたは補助ツールの変更
testソフトウェアテストを追加
perfパフォーマンスや体験の向上など、最適化に関する変更
refactorリファクタリング。新機能の追加でもバグ修正でもないコード変更
styleコードの実行に影響しないフォーマットの変更
docsドキュメントの作成または更新
fix / toバグを修正。QA が発見したバグの場合も、開発者自身が発見したバグの場合もある
feat新機能(feature)

おすすめプラグイン

VS Code では、Git Commit Message をすばやく生成できる Commit Message Editor プラグインを強くおすすめします。

コメント

(0)

まだコメントはありません

コメントを投稿

憂いを忘れる一枚

「憂いを忘れる一枚」は、技術探究と日々の暮らしをテーマにした個人サイトです。Web 開発、バックエンド、DevOps の実践を記録し、ソフトウェアツールやデジタル体験、コードの外で得た見聞と思索を共有します。

© 2026 憂いを忘れる一枚. 無断転載を禁じます.