メインコンテンツへスキップ
kt-tech.blog

【Git】commitメッセージをおしゃれにしたい!

技術3分で読めます

この記事でわかること

  • gitmoji の絵文字と用途の対応表(よく使う 13 種類だけ)
  • commit template に一覧を書いて、毎回調べなくても済むようにする方法
  • git config での登録と、リポジトリ単位で使い分けるやり方

Git が使えること。ターミナルでファイルを作成・編集できれば十分です。

概要

feat: ~~~を修正した のように文字だけを並べた commit メッセージは、一覧で眺めたときに何をしたコミットなのか掴みにくいことがあります。この記事では gitmoji を使って、commit メッセージの頭に絵文字を付ける方法をまとめます。

文字だけで書くのが悪いという話ではありません。ログを一覧したときに種類が目で拾えるようになるのが狙いです。

使う絵文字を決める

絵文字と意味の対応は gitmoji に一覧があります。全部覚える必要はないので、よく使うものだけ選びます。

用途 絵文字 コード
初めてのコミット 🎉 :tada:
新機能 :sparkles:
バグ修正 🐛 :bug:
リファクタリング ♻️ :recycle:
ドキュメント 📚 :books:
デザイン・UI/UX 🎨 :art:
スタイル修正 💄 :lipstick:
パフォーマンス改善 🐎 :racehorse:
テスト 🚨 :rotating_light:
設定・ツール 🔧 :wrench:
コード・ファイルの削除 🔥 :fire:
作業中 🚧 :construction:
バージョンタグ 🔖 :bookmark:

テンプレートを用意する

毎回どの絵文字だったか思い出すのは面倒なので、commit template に一覧を書いておきます。git commit したときにエディタへ表示され、# で始まる行はコミットメッセージに含まれません。

ファイルを作成

Bash
vi ~/.commit_template

中身はこのようにします。

JavaScript
# ==== Format ====
# :emoji: Subject
#
# 本文(任意・なぜそうしたかを書く)
#
# ==== Emojis ====
# 🎉 :tada:              初めてのコミット
# ✨ :sparkles:          新機能
# 🐛 :bug:               バグ修正
# ♻️  :recycle:           リファクタリング
# 📚 :books:             ドキュメント
# 🎨 :art:               デザイン・UI/UX
# 💄 :lipstick:          スタイル修正
# 🐎 :racehorse:         パフォーマンス改善
# 🚨 :rotating_light:    テスト
# 🔧 :wrench:            設定・ツール
# 🔥 :fire:              コード・ファイルの削除
# 🚧 :construction:      作業中
# 🔖 :bookmark:          バージョンタグ

Git に登録する

Bash
git config --global commit.template ~/.commit_template
Tips
--global を付けると全リポジトリに適用されます。特定のプロジェクトだけで使いたい場合は、そのリポジトリ内で --global を外して実行してください。チームで開発している場合、絵文字の運用は事前に合意しておくと揉めません。

コミットしてみる

git commit-m を付けない)を実行すると、エディタにテンプレートが表示されます。一覧を見ながら絵文字を選んでメッセージを書きます。

push して GitHub 上で絵文字が表示されていれば成功です。

まとめ

  • 絵文字と意味の対応は gitmoji が事実上の標準
  • commit template に一覧を書いておくと、毎回調べずに済む
  • # で始まる行はコミットメッセージに入らないので、カンニングペーパーとして置いておける
  • -m を付けるとテンプレートが出ないので、慣れるまでは git commit だけで打つ

参考リンク

更新履歴

  1. 絵文字コードの表記をバックスラッシュエスケープからインラインコードに変更。commit template のコードブロックの言語指定を javascript から bash に修正し、ファイル名をキャプションに追加。
  2. OGP Description の修正

この記事のタグ