[Git] コミットメッセージをわかりやすく!ヒアドキュメント・prefixを使おう


コミットメッセージbefore/after

今見返してみると
Git使い始めの自分のコミットメッセージはカオスなものです。

早速、見てみましょう

改善前

現時点では
改善を加えた結果、わかりやすくなったと思います。

改善後

何ということでしょう、
あのカオスなコミットメッセージが読めるものとなっているではないですか‥!

では、どのようなことを変更して改善したのか記したいと思います。

改善① コミットメッセージの改行機能を使った

コミットメッセージはターミナル上でも改行することが可能なんですよね。
それを知らず、内容を1行に詰め込まなければ‥と思いこうなってしまっていたわけです。  
(再掲)

コミットメッセージを改行するには

ヒアドキュメントを使います。

$ git commit -F- <<EOM
# Fは大文字でなければ、エラーが出ます
# ヒアドキュメントの識別子としてEOM(End Of Message)を使います

コミット作成してみましょう。

returnキーでどんどん改行することができます。
改行時に現れるheredoc>はコミットメッセージには残りません。

$git log で先ほど作成したコミットを確認すると

commit 691e97d7bc729922500cb1ae176b254e734d9f46 (HEAD -> #16)
Author: Watashi <[email protected]>
Date:   Sun May 24 14:51:34 2020 +0900

    [feat]Commit

    line1
    line2
    line3

改行できてます!

改善② Prefixを使うことにした

こちらで紹介されているPrefixを使うことにしました。

・[feat] : 新機能追加

・[fix] : バグの修正

・[docs] : documentの修正のみ

・[style] : コードの機能に影響しない修正(空白スペース、セミコロン抜け修正など)

・[refactor] : featでもfixでもない修正

・[perf] : パフォーマンスを上げるためのコード修正

・[test] : テストコードの修正

・[chore] : ビルドプロセスの変更、補助ツール、ライブラリの変更など

よく使うのはやはり[feat][fix]ですが、
RUNTEQの課題に勤しむ時、
RoboCopのLintチェックの指摘部分を修正する時は[style]
RSpecのhave_contentで指定したテキストにしていなくてテストが通らない時は[docs]
などを使うようにしています。

本記事の改善で
・コミット内容を多く記述できるようになり、コミット粒度を大きくすることが可能になった
・のちのちのコミットの確認に困ることが少なくなった
というような感じです

コミットも捗って、草もどんどん生やせますね♫