LoginSignup
5
2

More than 3 years have passed since last update.

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

Posted at

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

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

早速、見てみましょう

改善前

Screenshot from Gyazo

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

改善後

Screenshot from Gyazo

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

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

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

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

Screenshot from Gyazo

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

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

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

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

Screenshot from Gyazo

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

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

commit 691e97d7bc729922500cb1ae176b254e734d9f46 (HEAD -> #16)
Author: Watashi <Watashino@mailaddress.com>
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]
などを使うようにしています。

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

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

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2