LoginSignup
5

More than 3 years have passed since last update.

ある日の出来事です。
いつも優しくて、すごくお世話になっている先輩が、それを見た瞬間、鬼の形相になりました。

# コミットメッセージ
Update: 開発完了

冷や汗が止まりませんでした。。
もう二度とこのような悲しい出来事を生まないために、コミットメッセージの重要さと書くべきことについて考えていきます。

なぜ重要なのか

コミットメッセージは将来の効率化のために書くものだと思っています。

例えば、
コードレビューをする際も、
レビュアーがメッセージを見ただけで
どのような改修をしたかが分かる状態になっていれば、スムーズにレビューを行うことができます。
コード修正においても、修正意図が分かるだけで、対象コードの修正要否が判断しやすくなると思います。

git blameしたときに「開発完了」とだけ伝えられても何も分からず、
結局コードや過去の案件を調べなきゃいけなくなりますよね。(本当にごめんなさい。)

書くべきこと

5W1Hという言葉をよく耳にしますが、
gitでは以下のことが把握できるようになっています。

  • When(いつ)
    • いつ変更を加えたのかはタイムスタンプを見れば分かる
  • Where(どこで)
    • 何に変更を加えたのかはリソース (file/dir) 名で分かる
  • Who(誰が)
    • 誰が変更を加えたのかは author を見れば分かる
  • What(何を)
    • どうやって変更を加えたのかはdiffを読めば分かる
  • Why(なぜ)
    • なぜ変更を加えたのかはコミットメッセージを読めば分かる
  • How(どのように)
    • どうやって変更を加えたのかは実装を読めば分かる

つまり、コミットメッセージには「Why」を書くべきで、変更の意図を伝えることが大事だということです。

加えて、プレフィックスをつけると、
どのような変更があったのかも分かりやすくなります。

プレフィックス例 

  • Add:
    • 機能の追加やファイル追加
  • Fix:
    • バグ修正
  • Update:
    • 更新
  • Delete:
    • 機能削除やファイルの削除
  • Revert:
    • コミットの巻き戻し
  • Marge:
    • 統合
  • Move:
    • リソースの移動
  • Rename:
    • 名前の変更

過ちを正してみた

before
Update: 開発完了
after
Update: ○○システム Topページのロゴ画像を変更

まだまだ改善の余地はありそうですが、
一旦、鬼の形相は見なくて済みそうです。

最後に

私自身、コミットメッセージはとりあえず書いておけばいいと思っていました。
それは大きな間違いで、
将来の仲間への大きな負担となってしまい、
開発効率低下へと繋がっていきます。

思い当たる節がある方は、本記事をきっかけに改善していきましょう!

参考文献

Who-T OnCommitMessage

お知らせ

エイチームグループでは一緒に活躍してくれる優秀な人材を募集中です。
興味のある方はぜひともエイチームグループ採用ページWebエンジニア詳細ページ)よりお問い合わせ下さい。

あるいは、Qiita Jobs引越し侍Webエンジニアチーム自社サービスWebエンジニア/インフラからサービス改善まで!求む!引越し侍大規模リプレイスにおけるフロントエンドのリードエンジニア募集!の記事をみて、興味が出てきた方は是非Qiita Jobsのチャットでメッセージをください。

明日は「キング・クリムゾン.js」で沸かせてくれた@heronaの記事になります!
乞うご期待!!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
5