Gitでコミットを行う際、コミットメッセージの記述が必須となっており、これは変更内容や目的を明確に残すために重要な役割を持ちます。
実際の開発現場では、コミットメッセージに関して文字数や命名方法などの運用ルールが定められていることが多く、このルールを実践するなかで頭を抱える場面もしばしば見られます。
また、運用ルールのなかには、「Prefix(プレフィックス)」を付けることが定められている場合もあります。
Prefix(プレフィックス)とは、コミットの目的や内容を一言で表すためのタグです。
例えば「fix」「add」「update」などが常用されるプレフィックスの一例です。
これらのPrefix(プレフィックス)を付けることで、コミットメッセージは直観的で解釈しやすくなり、限られた文字数でも明示的に改修内容を示すことができるようになります。
今回はPrefix(プレフィックス)の一覧をご紹介します。
Prefix(プレフィックス)とは何か、どのように使えば良いのかなどコミットメッセージで悩んでいる方はぜひ参考にしてください。
Git Prefix(プレフィックス)一覧表
Prefix(プレフィックス) | 用途 / 説明 |
---|---|
add | 新規ファイルやライブラリを追加する場合に使用します。 |
feat | ユーザが利用する機能を追加する場合に使用します。 (機能追加にファイル追加が伴う場合はファイル追加を包括する) |
update | 既存の機能に問題はないが、ユーザが利用する機能に修正を加えたい場合に使用します。(更新) |
change | 仕様変更により、既存の機能に修正を加えた場合に使用します。(仕様変更) |
fix | 既存の機能の問題(不具合)を修正する場合に使用します。 |
hotfix | 緊急の変更を追加する場合に使用します。 (稼働中のシステムの不具合対応など) |
refactor/clean | コードを修正し、改善する場合に使用します。 (リファクタリングなど) |
disable | 機能を一時的に無効にする場合に使用します。 |
remove/delete | ファイルや機能・ライブラリを削除する場合に使用します。 |
rename | ファイル名を変更する場合に使用します。 |
move | ファイルを移動する場合に使用します。 |
upgrade | バージョンをアップグレードする場合に使用します。 (主にライブラリのバージョンアップ) |
revert | 以前のコミットに戻す場合に使用します。 |
docs | ドキュメントを修正する場合に使用します。 |
style | コードに関わらないコードスタイルを修正する場合に使用します。 (インデントやコメントアウトの削除など) |
perf | コードのパフォーマンスを改善する場合に使用します。 |
test | テストコードの修正・削除や、テストコードを追加する場合に使用します。 |
chore | 上記の接頭辞に当てはまらないコミットに使用します。 (ビルドツールやライブラリで自動生成されたものをコミットするなど) |
Prefix(プレフィックス)とは?
Prefix(プレフィックス)は接頭辞とも呼ばれ、文字列の先頭に付される特定の文字列を指します。通常、データの種類を識別するためなどに用いられるものです。
Prefix(プレフィックス)を用いたコミットメッセージの例
Prefix(プレフィックス)を用いたコミットメッセージの例をご紹介します。
add:○○.htmlを追加
feat:○○ファイルの△△機能を追加
style:○○ファイルのコードスタイルを修正
fix: 〇〇のエラーが起きているため、△△を修正
また、プレフィックスだけでなく、コミットメッセージには What と Why を書くとより分かりやすくなります。
文字数を考慮して、ファイル名を全て記載した方が良いとは言えませんが、追加・更新・修正したファイルがどのファイルなのか、なぜ追加・更新・修正したのかが分かるとベストです。
Prefix(プレフィックス)をつけるメリットとは?
Prefix(プレフィックス)を用いるメリットとしては、下記の3点が挙げられます。
- レビュアーが変更内容をコミットメッセージから理解できる
- コミット粒度が適切化される
- コミットログを検索しやすくなる
レビュアーが変更内容をコミットメッセージから理解できる
共同開発ではコードレビューが行われることが多く、基本的に上長よりレビューをいただくことが多い状態となります。
レビュアーは業務時間を縫ってコードを確認・レビューするため、コミットメッセージから変更内容が読み取れるだけで工数の削減につながります。
そのため、プレフィックスを用いることで作業の効率化につながります。
コミット粒度が適正化される
プレフィックス単位でコミットを行うようになるため、コミットの粒度が適正化されるケースが多いです。
基本的にプレフィックスは1つのみつけるという原則があるため、複数作業の一括コミットなど粒度の低いコミットが減ることで遡及や修正の工数を削減することができます。
コミットログを検索しやすくなる
コミットログが検索しやすくなるため、遡及するタイミングのコミットを探す時間や、参考にしたい作業のコミットを探す時間を短縮できます。
「過去バージョンとして残す必要があるためコミットを行っている」ということを踏まえるとログが検索しやすくなるのは大きなメリットとなります。
複数のプレフィックスを付けたい場合
プレフィックスを複数付与したいと考えた場合は、コミットの粒度が低いことが原因です。
Git において粒度が低いコミットは、良くないコミットとされています。
遡及性のメリットを打ち消してしまうためです。
基本的には「1コミット 1トピック」が理想となるため、もし複数のプレフィックスを付けたいと思った場合は、ステージングを取り消して分割してコミットを行うようにしましょう。
また、今後の課題として、コミットの粒度を高めることを目標にするのがおすすめです。