💬

📚コミットテンプレートを作成してみた話📚

2023/01/14に公開

概要

  • 個人開発の際、イチからコミットメッセージを打つのがめんどくさい。。。
    • テンプレートを作って毎回の記述内容を減らしたい✏️
    • 書式を統一して履歴を見返しやすくしたい👀

という思いから「コミットテンプレート」を作成してみました!

環境

  • MacBook Pro(M1 2021)
  • macOS 13.0.1
  • SourceTree 4.1.9(245)

コミットメッセージとは?

  • ソフトウェア開発において、コミット(変更を保存すること)を行う際に、その変更の内容や理由を説明するためのテキストのことです。Gitなどのバージョン管理システムでは、コミットメッセージを記録し、その後の変更履歴を読み返すために使用されます。

https://qiita.com/itosho/items/9565c6ad2ffc24c09364

コミットテンプレート作成方法

.commit_templateファイルの作成

  • 全てのGitリポジトリのコミットメッセージとして使いたい場合

ターミナルにて、ルート直下に.commit_templateを作成します

cd ~
# touchコマンドは「ファイル作成・ファイルの更新」をするコマンドです
touch .commit_template
  • 特定のリポジトリのみのコミットメッセージとして使いたい場合
cd <プロジェクトのディレクトリ>.git/config
touch .commit_template

作成したファイルをgitコマンドでテンプレートに設定

以下を実行して先ほど作成した.commit_templateをテンプレートメッセージとして設定します。

  • 全てのGitリポジトリのコミットメッセージとして使いたい場合
cd ~
# --global オプションは「ユーザー単位の設定」をする際に使用します
git config --global commit.template ~/.commit_template
  • 特定のリポジトリのみのコミットメッセージとして使いたい場合

    対象リポジトリ内の .git/config

cd <プロジェクトのディレクトリ>.git/config
# --local オプションは「ユーザー単位の設定」をする際に使用します
git config --local commit.template ~/.commit_template

https://qiita.com/shionit/items/fb4a1a30538f8d335b35
https://zenn.dev/krabben16/articles/switch-gitconfig-by-directory

テンプレートの中身を編集

エディタを開きます

cd <.commit_templateのディレクトリ>
open .commit_template

テンプレートメッセージでは#の箇所はコメントアウトされます(SourceTreeなどご使用の際は注意(後述))

.commit_template
# ==== Commit Messages ====

# ==================== Format ====================
# :emoji: Subject
#
# Commit body...
# ==================== Emojis ====================
# 🎉  :tada: 初めてのコミット(Initial Commit)
# 🔖  :bookmark: バージョンタグ(Version Tag)
# ✨  :sparkles: 新機能(New Feature)
# 🐛  :bug: バグ修正(Bagfix)
# ♻️  :recycle: リファクタリング(Refactoring)
# 📚  :books: ドキュメント(Documentation)
# 🎨  :art: デザインUI/UX(Accessibility)
# 🐎  :horse: パフォーマンス(Performance)
# 🔧  :wrench: ツール(Tooling)
# 🚨  :rotating_light: テスト(Tests)
# 💩  :hankey: 非推奨追加(Deprecation)
# 🗑️  :wastebasket: 削除(Removal)
# 🚧  :construction: WIP(Work In Progress)

https://qiita.com/Jung0/items/0a9a7a97a2c17f92d3c5

これで、コミット時に自動で.commit_templateの設定内容が自動で挿入されます!

SourceTreeでのコミット例

総括

私のような初心者はコミットテンプレートを設定しましょう!

  • コミットコメントのカンペを用意することで「良いコミットメッセージを書く習慣」がつく
  • 絵文字でコミットの大体の内容が瞬時に把握しやすくなる
  • リポジトリがカラフルになって見やすい、かわいい

のようなメリットを享受することができます✨

是非、日々の開発を楽しくするためにも、効率化を図るためにも、コミットテンプレートを設定して見てください!✏️

Discussion