Gitコミットメッセージのプラクティスまとめ


最近、自分のGitのコミットログを読み返してみたら、すごく分かりづらかったので勉強も兼ねて、Gitのコミットログのプラクティスを勉強してみました!


😼 Gitのコミットメッセージの書き方

次のサイトを参考にさせていただきつつ、簡単にまとめてみました!

書き方を知ることのメリット

Gitのコミットメッセージをわかりやすく残すことで、その変更どんな目的で具体的にどんなことを修正したかを
次の変更を行う人に伝えることができ、次の人の修正する時間を節約できる。

具体的にどんなことを書くべきか

どのように変更を行ったかは、コードを見れば分かる。もしわからないのなら、コードにコメントを書くべき。
変更した理由を明らかにすることに焦点を絞り、変更前がどうで、何が問題で、今はどのように機能するのか、
なぜその方法で解決することを決めたのかを書きましょう。

サンプル

[コミット種別] だいたい50字以内で変更を要約refs #xxx

必要であればより詳細な説明を書く。約72字以内で改行する。コンテキストによっては、初めの一文をコミットのタイトル、それ以下を本文とすることも。タイトルと本文の間は必ず1行空ける(本文をまったく書かない場合を除く)。タイトルと本文をつなげて書くと、 logやshortlog 、rebaseなどのさまざまなツールが混乱するため。

このコミットが解決している問題を説明する。どのように、ではなく、なぜこの変更をしたのかに重きを置く(どのように変更したかはコードを見れば分かる)。この変更で生じる副作用や直感的には分からないほかの結果は生じないか? 何かあればここで説明する。

コミット種別

コミットの種類。シンプルなソフトウェアの開発で良ければこのくらい。

- Fix: バグ修正
- Add: 新規の(ファイル)機能追加
- Modify: バグではない機能の修正
- Clean: リファクタリング等による整理
- Remove: 削除

書き方の要点

要点は次のとおり。

- タイトルを50字以内(全角なら25文字以内?)におさめる。命令形で文頭を大文字に、文末のピリオドは不要
- チケット駆動であれば位置文字目
- タイトルの後は1行空けて本文を書く
- 本文は1行あたり72字以内で複数行で書く
- 本文では「どのように」ではなく「何を」と「なぜ」を説明する。箇条書きでも良い

便利そうなGitコマンド

以下便利そうなGitコマンド。

# タイトルだけを表示
$ git log --oneline
# ユーザーごとにコミットをグループ分けする
$ git shortlog

🐯 アトラシアンのGit commitチュートリアル

Git commit | アトラシアン Git チュートリアル

  • Git commitはステージされたスナップショットをローカルリポジトリに登録するコマンド
  • 開発者のローカル環境で反映されるので、細かいリビジョンのスナップショットを取るのがよい

🏈 参考リンク

📚 おすすめの書籍