概要
まだまだGit自体に慣れていなかったり初学者なのでコミットする際どのようなメッセージにするか悩むことが多かったので、「これ、テンプレート化させられないかな?」と思い調べてみたところ、テンプレート化できたので備忘録として残しておきます。
前提
mac,VScodeを使用
テンプレート化しようと思った経緯
今まではメッセージ自体を軽視しており、
git add -m "add"
だったり
git add -m "バグ修正"
のように日本語と英語が混合していたり、何の機能を追加したのかわかりづらいメッセージを書いてました。
ただ、実際に現場で適当なメッセージを書くのはマズイし、現場で決まった書き方があるはずなのでその練習の意味も込めてテンプレート化させてみました。
テンプレートメッセージの設定
・テンプレートの作成
ルートディレクトリ直下にテンプレートファイルを作成
.commit_template
というファイル名で作成します。
cd ~
touch .commit_template
・作成したファイルをGitのコミットメッセージのテンプレートに設定
以下を実行して先ほど作成した.commit_templateをテンプレートメッセージとして設定
グローバルにすることで全てのGitリポジトリのコミットメッセージのテンプレートとして使用できます。
git config --global commit.template ~/.commit_template
テンプレート例
.commit_templateを開き、テンプレートメッセージを記載します.
以下がテンプレートメッセージのサンプルです、他記事を引用したり自分で作成したりしました。
🐞 バグとパフォーマンス
#🐛 :bug: バグ修正
#🚑 :ambulance: 重大なバグの修正
#🚀 :rocket: パフォーマンス改善
#💻 コードの品質とスタイル
#👍 :+1: 機能改善
#♻️ :recycle: リファクタリング
#👕 :shirt: Lintエラーの修正やコードスタイルの修正
🎨 UI/UXとデザイン
#✨ :sparkles: 新しい機能を追加
#🎨 :art: デザイン変更のみ
🛠️ 開発ツールと設定
#🚧 :construction: WIP (Work in Progress)
#⚙ :gear: config変更
#📦 :package: 新しい依存関係追加
#🆙 :up: 依存パッケージなどのアップデート
📝 ドキュメントとコメント
#📝 :memo: 文言修正
#📚 :books: ドキュメント
#💡 :bulb: 新しいアイデアやコメント追加
🛡️ セキュリティ
#👮 :op: セキュリティ関連の改善
🧪 テストとCI
#💚 :green_heart: テストやCIの修正・改善
🗂️ ファイルとフォルダ操作
#📂 :file_folder: フォルダの操作
#🚚 :truck: ファイル移動
📊 ログとトラッキング
#💢 :anger: コンフリクト
#🔊 :loud_sound: ログ追加
#🔇 :mute: ログ削除
#📈 :chart_with_upwards_trend: アナリティクスやトラッキングコード追加
💡 その他
#🧐 :monocle_face: コードのリーディングや疑問
#🍻 :beers: 書いているときに楽しかったコード
#🙈 :see_no_evil: .gitignore追加
#🛠️ :hammer_and_wrench: バグ修正や基本的な問題解決
実際にコミットしてみる
適当にコミットして
git add .
git commit
を打つと
# ==== Commit Messages ==============
♻️ #3 不要なコメントを削除
# ==== Commit Messages(Template) ====
# :emoji: #Issue番号 変更内容
# 例) :+1: #438 コメント追加
# 👍 #438 コメント追加
# ==== Emojis ====
# 🐛 :bug: バグ修正
# 例:🐛 #10 未登録のメールアドレスが入力された場合に500エラーとなる箇所を改修
# ✨ :sparkles: 新規機能(ファイル)の追加
# 例:✨ #2 faviconファイルの追加、及び、設定
# 👍 :+1: 機能修正(バグではない)
# 例:👍 #9 nameのプレースホルダを「氏名」から「お名前」に変更
# 🚿::shower: 不要な機能(ファイル)の削除
# 例:🚿 #30 未使用の関数「set_name」を削除
# ♻️ :recycle: リファクタリング(同じ挙動を担保した上での変更)
# 例:♻️ #30 n+1問題が発生していたループをeager_loadに変更
# ✅ :white_check_mark: テストの追加
# 例:✅ #30 Userモデルのテストを追加
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch main
# Your branch is up to date with 'origin/main'.
#
# Changes to be committed:
# modified: algo-method/search/double-loop/chapter1.py
# modified: atcoder/abc240/b/main.py
#
-- INSERT --
このような形でvimが起動されます。
iを押してinsertモートにした後に空白行にコミットメッセージを書くらしいのですが、自分はどうにもやりにくかったので普通に力技でメッセージを打つことにしました。
いつも通りgit commit -m "~"
の書き方です。
適当にコミットして
git add .
git commit -m "✨ :sparkles: あた機能を追加"
そうすると
このようにわかりやすいです。コピペして状況に応じて少しいじったりもできるのでなかなか使い勝手がいいです。
英語にしたい方は英語に編集してみるといいと思います。
ただこのやり方だとわざわざ.commit_template
ファイルにテンプレートを書かなくてもnotionなどにメモしてもいいです笑
かっこいいのでつくりましたが、、!