✌️

Gitのコミットメッセージをスプレッドシートで簡略化する

commits3 min read

Git コミットメッセージは Prefix を使うと可読性が向上する

Git コミットメッセージのルールどうしていますか?
私は「Prefix(接頭辞) + 絵文字 + 変更内容」をメッセージに書いています。

コミットメッセージの書き方についてあれこれ調べていたところ、Prefix を付けた方が良さそうだという結論に至りました。
さらに絵文字と組み合わせることで、ひと目でどんな追加・変更が行われたのかがわかり良いそうです。
可読性が向上するのでチーム開発との相性も良さそうですね。

Git コミットメッセージのテンプレート

コミットメッセージに絵文字や Prefix を導入するのは良いですが、色々と面倒もついてきます。

  1. Prefix や Emoji の打ち間違えを防ぐにはどうするか
  2. コミットごとに Prefix をつけるのがめんどくさい

Git のコミットメッセージのテンプレート機能を使う

Git にはコミットメッセージのテンプレートを用意する機能がついているそうです。
この機能を使うことで上記の 2 点の問題を解決できます。

この方法については Goodpatch さんが詳しく取り上げているので、その記事を参考にしてください。
Emoji で楽しく綺麗なコミットを手に入れる

スプレッドシートを使う

私は、Git のテンプレート機能を使わず、スプレッドシートをしようする方法を選択しました。
主な理由は以下の 3 点です。

  1. テンプレート機能より簡単に導入できる
  2. テンプレート機能と比較してもコミットメッセージ入力の手間がそんなに変わらない
  3. スプレッドシートが好きだから

スプレッドシートの関数を組む

以下セルのイメージです。

A列 Emoji B列 Prefix C列 Message D列 Copy

関数はARRAYFORMULAIFを使ったシンプルなものです。

=ARRAYFORMULA(
  IF(
    C2:C="",
    "",
    "git commit -m """&B2:B&": "&C2:C&""""
  )
)

D列(Copy)に 👆 の関数を組む事で、C列(Message)列にコミットメッセージが入力されたときにD列(Copy)にコミットコマンド付きのメッセージが出力されます。
👇 はセルに関数を埋め込んだ例です。

A列 Emoji B列 Prefix C列 Message D列 Copy
🎉 :tada: initial commit =ARRAYFORMULA(IF(C2:C="", "", "git commit -m """&B2:B&": "&C2:C&""""))
🐛 :bug: bug fix
⚙️ :gear: config
👍 :+1: feature
📦 :package: package

例えば、SASS を導入してコミットしたいとき、C列(Message)に「sass を導入」とコミットメッセージを書き込むだけでD列(Copy)に、コマンド付きのコミットメッセージが生成されます。
あとはD列のメッセージをそのままコピーして、ターミナルにペーストするだけで OK!

A列 Emoji B列 Prefix C列 Message D列 Copy
📦 :package: package sass を導入 git commit -m ":package: package: sass を導入"

ちなみに Github には📦 package: sass を導入と表示されます。

参考にしたい絵文字と Prefix

これまで、コミットメッセージの管理方法だけを紹介してきましたが、大事なことを一つだけ書き忘れていました。
それは、絵文字と Prefix の 使い方のルールです。

上記にリンクしている Goodpatch さんのブログでも触れられてはいますが、加えて参考にできるサイトがありましたので紹介します。

Git Commit message Emoji

gitmoji

GitHub のコミットメッセージに絵文字を入れて開発効率をあげる

どれも参考になるので、ぜひご活用ください!

GitHubで編集を提案

Discussion

ログインするとコメントできます