いつだったか、Twitterでgitのコミットメッセージにプレフィクスをつけるって話をみかけて、自分でもやってみました。
Prefixの付け方もいろいろあるようなんですが、自分は下記2つのミックスでやってます。
だいたい使ってるのは下記です。
- add: ファイルの追加や機能の追加
- fix: バグ修正
- change: 機能、仕様の変更
- refactor: リファクタリング
- disable: 無効化。だいたいはコメントアウト
- remove:削除。コメントアウトしたコードの削除とかファイル削除とか
- style: コードフォーマットの変更
- comment: コメント追加・修正
使うか微妙だなぁってのは下記。
- revert: 変更とりやめ。SourceTreeで元にもどすと自動でコミットメッセージはいるんで自分では入れなさそう。
- test: テストだけを変更したときに使うかもなぁって思ったんですが、結局使わずに、テストコードをどうしたのかをfix, addなどで書いてます。
他にもオープンソースプロジェクトなどでPrefixのルール決めてるケースがあったら参考にしてみたいので知りたいところです。
Prefixつけると、ごちゃまぜコミットが減ります。
さて実際にPrefixつけたコミットメッセージをつけるようになると、いろんなコミットがごちゃまぜにならないようにコミット粒度を細かくわけるようになってきます。
機能変更(change)してるときに不具合みつけて不具合修正(fix)までした1つのコミットにならないように、わけたりとかですね。
細かい粒度でコミットしてると、あとで「あれ?なんでこのコードこうなってるんだ?」ってときにコミットメッセージからその時どう考えて今のコードになってるのかわかったりして便利です。(逆にひとまとめでドンッとコミットしてると、どういう経緯で今のコードになってるのかわからないことが多いです)