Git
Markdown

GitコミットメッセージにMarkdownを使えるようにする

  • 要約
    • Markdownの#がGitコミットメッセージではコメントと解釈される。
    • Gitの設定を変えてコメントを#以外の文字にする。やり方
    • Markdownが問題なくコミットログに入るようになる。

GitとMarkdownで#の役割が異なる

  • Gitのコミットメッセージはコメント行 (つまりコミットログに残らない)
  • Markdownで見出し

つまり、下のMarkdown風コミットメッセージは見出し行がコメントとして解釈される。

バグ修正

## 再現手順

あれしてこれしてこうする

## 期待の振る舞い

こうなる

## 実際の振る舞い

そうならない

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master

このままコミットすると、見出しだけが抜けたログができあがる。

❯ git show
commit d8ed4ccf8095b83310ba7924c27b02d9185a251b
Author: suin <suinyeze@gmail.com>
Date:   Fri Feb 2 13:42:14 2018 +0900

    バグ修正

    あれしてこれしてこうする

    こうなる

    そうならない

Gitのコメントを#以外に設定する

core.commentcharにコメント記号にしたい文字を指定できる。

git config --global core.commentchar ';'
  • 注意点
    • 文字は1文字でなければならない。 //などはNG
    • おそらくマルチバイト文字は正しく解釈されない。
    • コミットメッセージにソースコードを書くことを想定した、コメント扱いされないよう記号選び
      • 例えば、$はPHPでは行頭に来やすいが、$をコメントにしてしまうとコミットメッセージからPHPスニペットが消えることが考えられる。