Gitコメントのベストプラクティス
GitLabで運用しているGitのコメントフォーマットを考える必要が出てきたので、その検討内容と結果を覚えが来ます。
Gitコメントの方針
上記サイトの記事が、体系的によく纏まっていますので、これをベースにアレンジしたいと思います。
コミットメッセージに書く内容
- いつ(When):タイムスタンプで分かる
- どこで(Where):ファイル名とディレクトリで分かる
- 誰が(Who):author(作者)で分かる
- 何を(What):コミットのタイトル(Subject)とコミットの本文(Body)で分かる
- なぜ(Why):コミットの本文(Body)で分かる
- どうやって(How):コードやdiffで分かる
フォーマット
<Prefix>: <Subject> 空行 <Body> 空行 <Footer>
- Prefix 何をしたかを接頭辞で短くあらわします
- Subject 何をしたかを短い文章にします
- Body なぜそれをしたのかを文章にします
- Footer 補足情報を載せます
Prefix
動詞 | 説明 |
---|---|
Add: | (機能・ファイルなどを)追加する |
Fix: | (コードなどを)修正する |
Improve: | (コードなどを)改善する |
Update: | (パッケージやドキュメントなどを)更新する |
Remove: | (ファイル名やコードを)除去する |
Rename: | (ファイル名を)変更する |
Move: | (AをBに)移動する |
Change: | (AをBに)変更する |
Subject
Subjectには、そのコミットで何をしたのかを短い文章(タイトル)にします。
- 新機能「xxx」を追加する
- xxx機能で異常終了する不具合を修正する
50字未満を推奨。72文字未満が制限
Body
Bodyには、追加や修正などが必要だった理由を文章にします。
新機能「xxx」の結合テストのために、プログラムソースを初期登録する。
xxx機能でyyyをした際、プログラムが異常終了した。aaaに原因があったため、bbbするようプログラム対応を行った。
Footer
GitLabのチケット番号を書く
不具合管理情報(不具合ファイル名、不具合番号、不具合タイトルを書く)
ドキュメント名
Gitコメントをテンプレート化する
オープンソースサンプル
git
Linux Kernel
chromium
参考
- 誰にとってもわかりやすいGitのコミットメッセージを考える
https://www.tam-tam.co.jp/tipsnote/program/post16686.html - Gitのコミットメッセージの書き方
https://qiita.com/itosho/items/9565c6ad2ffc24c09364 - いいコミットメッセージの共通点と書き方〜便利なテンプレートやチーム開発時のお作法まで詳しく解説〜
https://www.praha-inc.com/lab/posts/commit-message - gitにおけるコミットログ/メッセージ例文集100の転載
https://gist.github.com/mono0926/e6ffd032c384ee4c1cef5a2aa4f778d7