はじめに
スクールでのカリキュラムの復習中にコミットメッセージがぐちゃぐちゃになってしまっていることに気づきました・・。今まで深く考えずに記述していましたが、後から振り返った時に何を変更したのかわかりにくいですね。
(余談:授業中急いでとったノートを後から見返して、自分の文字が読めなかったことを思い出しました)
現在は転職に向けての学習段階のため、自身でルールを決めてコミットメッセージを記述していこうと思います!
※あくまで現段階のルールです。転職先の企業やチーム、プロジェクト単位でコミットメッセージの記述ルールは異なると思うので、転職後は臨機応変に対応する必要があると思います!
コミットメッセージの役割
何をなぜ変更したのかを記述する
コミットメッセージの目的
- 過去の状態に戻したい時にいつのデータに戻ればよいかわかりやすくすることで、作業の効率化を図る
- 自分以外の人が履歴を確認した時にわかりやすくすることで、作業の効率化を図る
書くべきこと
コミットメッセージには「何を」と「なぜ」を書くのが望ましいです。
その理由はコミットを5W1Hに当てはめてみると明らかになります。
- When(いつ) :いつ変更を加えたのかはタイムスタンプを見れば分かる
- Where(どこで) :何に変更を加えたのかはファイル名とディレクトリで分かる
- Who(誰が) :誰が変更を加えたのかは 作者(author)を見れば分かる
- What(何を) :コミットメッセージに書かないとわからない
- Why(なぜ) :コミットメッセージに書かないとわからない
- How(どのように):どうやって変更を加えたのかは実装を読めば分かる
つまり、コミットメッセージには「What」と「Why」を書くべきで、変更の意図を伝えることが大事だということです。
加えて、プレフィックスをつけると、どのような変更があったのかも分かりやすくなります。
プレフィックス例
プレフィックス | 説明 |
---|---|
Add | 機能の追加やファイル追加 |
Fix | バグ修正 |
Update | バグではない機能修正 |
Change | 仕様変更による機能修正 |
Disable | 無効化 (コメントアウト等) |
Delete | 機能削除やファイルの削除 |
Revert | コミットの巻き戻し |
Marge | 統合 |
Move | リソースの移動 |
Rename | ファイル名の変更 |
ちなみに絵文字を記述することもできるそうです!
絵文字への意味を持たせておけば、パッと見で判断することも可能になりますね!
(今回は絵文字の記載方法の詳細は記載なしとさせていただきます。)
最後に
調べるといろんな記述方法がありました。1行ではなく3行で記述する方法があったり、日本語で記述すべきか英語で記述すべきかといった議題もあったりと、奥深さを感じました。
まだまだ知らないことが多いので少しずつでも理解を深めていけるように、これからも頑張ります!
わかりにくい箇所もあったかと思いますが、最後まで読んでいただき、ありがとうございました!!