ある日の出来事です。
いつも優しくて、すごくお世話になっている先輩が、それを見た瞬間、鬼の形相になりました。
# コミットメッセージ
Update: 開発完了
冷や汗が止まりませんでした。。
もう二度とこのような悲しい出来事を生まないために、コミットメッセージの重要さと書くべきことについて考えていきます。
なぜ重要なのか
コミットメッセージは将来の効率化のために書くものだと思っています。
例えば、
コードレビューをする際も、
レビュアーがメッセージを見ただけで
どのような改修をしたかが分かる状態になっていれば、スムーズにレビューを行うことができます。
コード修正においても、修正意図が分かるだけで、対象コードの修正要否が判断しやすくなると思います。
git blame
したときに「開発完了」とだけ伝えられても何も分からず、
結局コードや過去の案件を調べなきゃいけなくなりますよね。(本当にごめんなさい。)
書くべきこと
5W1Hという言葉をよく耳にしますが、
gitでは以下のことが把握できるようになっています。
- When(いつ)
- いつ変更を加えたのかはタイムスタンプを見れば分かる
- Where(どこで)
- 何に変更を加えたのかはリソース (file/dir) 名で分かる
- Who(誰が)
- 誰が変更を加えたのかは author を見れば分かる
- What(何を)
- どうやって変更を加えたのかはdiffを読めば分かる
- Why(なぜ)
- なぜ変更を加えたのかはコミットメッセージを読めば分かる
- How(どのように)
- どうやって変更を加えたのかは実装を読めば分かる
つまり、コミットメッセージには「Why」を書くべきで、変更の意図を伝えることが大事だということです。
加えて、プレフィックスをつけると、
どのような変更があったのかも分かりやすくなります。
プレフィックス例
- Add:
- 機能の追加やファイル追加
- Fix:
- バグ修正
- Update:
- 更新
- Delete:
- 機能削除やファイルの削除
- Revert:
- コミットの巻き戻し
- Marge:
- 統合
- Move:
- リソースの移動
- Rename:
- 名前の変更
過ちを正してみた
Update: 開発完了
Update: ○○システム Topページのロゴ画像を変更
まだまだ改善の余地はありそうですが、
一旦、鬼の形相は見なくて済みそうです。
最後に
私自身、コミットメッセージはとりあえず書いておけばいいと思っていました。
それは大きな間違いで、
将来の仲間への大きな負担となってしまい、
開発効率低下へと繋がっていきます。
思い当たる節がある方は、本記事をきっかけに改善していきましょう!
参考文献
お知らせ
エイチームグループでは一緒に活躍してくれる優秀な人材を募集中です。
興味のある方はぜひともエイチームグループ採用ページ(Webエンジニア詳細ページ)よりお問い合わせ下さい。
あるいは、Qiita Jobsの引越し侍Webエンジニアチーム、自社サービスWebエンジニア/インフラからサービス改善まで!、求む!引越し侍大規模リプレイスにおけるフロントエンドのリードエンジニア募集!の記事をみて、興味が出てきた方は是非Qiita Jobsのチャットでメッセージをください。
明日は「キング・クリムゾン.js」で沸かせてくれた@heronaの記事になります!
乞うご期待!!