Gitのコミットメッセージの書き方
株式会社ユニゾンシステムズのサロベツです。
冬のサロベツ原野には「何も無いがある」そうなので、機会があれば行ってみたいものです。
弊社のソフト開発でのソース管理にはGitを使用しています。
Gitとは、ソースコードや変更履歴を管理するために使われる、代表的な分散型バージョン管理システムです。
Gitによってファイルのバージョンを管理できるので、仮にほかの誰かにソースコードが上書きされても、簡単に元へ戻すことができます。
また、コミットする際にコミットメッセージが必須です。
今回のテーマはその`コミットメッセージ`です。
コミットメッセージとは
コミットメッセージは
未来の担当者に向けて記載するもの
リポジトリの歴史を理解するための手掛かりとなる
と思っているので、`修正対応`みたいなコミットメッセージはもう少し考えてメッセージを記述してほしいと思います。
コミットメッセージのフォーマット
現在担当しているシステムのコミットメッセージの例を紹介します。
1行目に概要。3行目に詳細を記述する感じです。このフォーマットが正解ではありませんので、各プロジェクトによって最適解を決めて行くものとなります。
修正内容の概要
空行
修正内容の詳細(概要が1行で収まる場合は不要)
1行目
コミット種別と要約を記述します。フォーマット`[コミット種別]要約`
コミット種別一覧
fix:バグ修正
add:機能追加
update:機能修正
remove:削除
3行目
修正内容の詳細を記述します。概要で事足りる場合は不要。
また、タスク管理システムと連動している場合は、ここにチケット番号を記述します。
***具体例***
例えば、以下のコミットメッセージがあります。このメッセージだと、○○処理の登録処理を修正したんだなということしか分からないので、修正履歴から、修正内容を読み取るしかありません。
[update]○○処理の登録処理の変更
↓ 修正後
↓
↓ 以下のようなコミットメッセージに変更すると、修正履歴を確認しなくても 修正内容がイメージできると思います。
↓ さらにチケット番号を記載することにより、修正の起因となったチケットとリンクされるので、修正の背景なども理解できます。
[update]○○処理の登録処理の変更
○○項目に数値以外の値が含まれている場合、エラーとする
△△項目に英数字以外の値が含まれている場合、エラーとする
チケット番号
コミット単位に関して
ちょっと趣旨とは違いますが、出来る限り細かい単位でコミットしてください。各人の主観になるため基準は違います。ただ、複数の修正をひとつのコミットにまとめることはNGです。
また、レビューする人が巨大な修正コミットからその修正が妥当かを判断出来なくなる可能性が高くなりますので、レビューする人のことも気に留めるようにしてください。
さいごに
コミットメッセージが適当でもプログラム自体には全く影響するものではありません。とはいえ、問い合わせ等でプログラムを調べることは少なからずあることなので、その手がかりの一つとしてコミットメッセージがあります。
今後はコミットメッセージにも気に留めてみてはいかがでしょうか。
ユニゾンシステムズでは、一緒に働く仲間を募集しています。
ぜひ一度オフィスに遊びに来てみませんか?お気軽にDMもお待ちしています!
求人の詳細はこちら: https://www.unixon.co.jp/recruit/
Youtube: https://www.youtube.com/channel/UCGacmgfpJ0fkHC0aKrSppVw
Twitter: https://twitter.com/unixon_recruit
この記事が気に入ったらサポートをしてみませんか?