以前、gitのcommitについて紹介する記事を書きました。
【Prefixとは?】Gitのcommit時に使いたい単語一覧を紹介
gitのcommitメッセージって、どんなふうに書けばいいの?
commitはコードの変更履歴をメッセージと共に記録する方法で、なるべく分割して行うべきだと考えています。
ただし、たくさん分割するとその分コミットが増えていきます。
そのコミット履歴を見た時に、メッセージが全て同じだったらどう思いますか?
各コミットをクリックしないと変更内容が見えず、遡るにはすごい手間ですよね。
そこで今回は、gitでcommitする際に便利な「prefix(プレフィックス)」というものを紹介します。
ステップは以下の通りです。
- commitの命名
- プレフィックスとは?
- プレフィックスの例
最後までご覧いただき、参考にしていただけると幸いです。
コミットの命名
まずはcommitの命名の、重要さについて紹介します。
はじめにも書きましたが、commitにはわかりやすい名前をつけましょう。
パッと見た時に、なんとなくでも「これを変更したんだな」と思えるようなコミットにしなければなりません。
特に共同開発では重要で、例えば過去のコミットで不具合が出てしまったとします。不具合の元となったコミットを取り消せば済む話ですが、コミット名が全て適当だった場合、1つずつ探さなければ見つけることができません。非常に大変です。
個人開発でも同じで、「revert」や「cherry-pick」を行う際にとてつもなく不便になります。
必ずわかりやすい名前をつけるようにしてください。
プレフィックスとは?
プレフィックスとは、コミットメッセージの先頭に付ける短い識別子のことです。
この識別子を使うことで、コミットの内容が一目で分かりやすくなります。例えば、バグ修正、機能追加、ドキュメント変更などの種類ごとに異なるプレフィックスを付けると便利です。
例えば、スライダー機能を追加したことを示すコミットメッセージは以下のようになります。
feat: Slider
featは新機能の追加を意味するので、つまりこのメッセージはスライダー機能を追加したことを意味します。
プレフィックスを使用することで、コミットメッセージが整理され、履歴を遡る際にも目的のコミットを簡単に見つけることができます。共同開発でも個人開発でも、この方法は非常に有効です。
プレフィックスの例
それでは筆者が普段使用するプレフィックスの例をいくつか紹介します。
項目は以下の通りです。
- feat
- fix
- add
- remove
- chore
- refactor
それぞれ解説します。
feat
これは前述しましたが、新機能を追加した際に使用します。
ブログの制作なら「目次機能の追加」や「タグ機能の追加」などが挙げられます。
以下に例を示します。
feat: TableOfContent
上記は目次機能を追加したという意味になります。
fix
これは、バグや不具合を修正した際に使用する識別子です。
例えば、「目次機能の不具合修正」、「タグ機能の不具合修正」などが挙げられます。
以下に例を示します。
fix: TableOfContent
上記は「目次の不具合を修正した」という意味になります。上記に続けて不具合名を入れるなどしても、良いかもしれません。
add
この識別子は、新しいファイルや機能を追加した際に使用します。
例えば、「プロフィールページの追加」、「お問い合わせページの追加」などが挙げられます。
featとの違いとしては、ファイルが増えているという点です。
記述方法は以下の通りです。
add: ProfilePage
上記は「プロフィールページを追加した」という意味になります。
remove
この識別子は、新しいファイルや機能を削除する際に使います。
例えば「目次機能の削除」、「プロフィールページの削除」などが挙げられます。
つまり、featやaddと反対の意味になります。
記述方法は以下の通りです。
remove: TableOfContent
上記は「目次機能を削除」という意味になります。
chore
この識別子は、コードの変更でありながら、機能追加やバグ修正とは直接関係のないメンテナンス作業や補助的な変更に使用します。
例えば、「依存関係の更新」、「ビルドスクリプトの変更」などが該当します。
記述方法は以下の通りです。
chore: npm update
あくまでも例ではありますが、上記はnpm updateをした際の依存関係の更新をchoreで伝えています。
Refactor
この識別子は、既存のコードの内部構造を改善するための変更を示します。機能的な変更は含まれず、コードの可読性や保守性の向上を目的としています。
例えば、「コードの可読性の向上」や「ディレクトリ構成の改善」などが該当します。
記述方法は以下の通りです。
refactor: ProfilePage
上記のコードは、「プロフィールページ」をリファクタリングしたという意味になります。
最後に
ここまで、gitをcommitする際につけたいプレフィックスについて紹介しました。
私も以前までは「update」など適当な名前をつけてコミットしていましたが、gitを理解してくるうちにかなり不便であることに気づきました。
しかし、プレフィックスを知ってからメンテナンスが簡単になり開発効率も上昇しました。
ぜひ、プレフィックスを使って個人開発や共同開発を行なってみてください。
ここまでお読みいただき、ありがとうございました。