pummitでコミットメッセージを工夫してQOLを上げよう!
なんだこれは
写真のような見た目がグッドなコミットメッセージを簡単に作れちゃうGo製のツールです。
コミュニティなどで共有していただけると嬉しいです!
どうして作ったんだい? 🧐
Qiitaでこのような記事を見つけました。
この記事で紹介されていたことを要約すると、絵文字を使用してコミット内容を分かりやすくしようというTipsでした。例を挙げると、この記事では以下のようなフォーマットが紹介されていました。
:books: READMEの修正
そして、それに一つだけ手を加えました。
:books: READMEの修正 (README.md)
pummitはこのフォーマットのコミットメッセージを作成するためのツールです。
pummitのインストール 😊
Homebrewでインストールする場合はこちらを実行してください
brew tap hidemaruowo/tap
brew update
brew install pummit
Goの場合はこちらです
go install github.com/HidemaruOwO/pummit@latest
GitHubのリリースでも配布してるので、実行ファイルをダウンロードできます。
使い方 💨
pummitは2つの方法でコミットメッセージを作成できます。
pummit emojiprefix 'subject'
# or
pummit 'emojiprefix subject'
# Example
pummit sparkles 'I am unko man'
# Run: git commit -m ':sparkles: I am unko man (path/to/added/file, path/to/added/file)'
pummit 'sparkles I am unko man'
# Run: git commit -m ':sparkles: I am unko man (path/to/added/file, path/to/added/file)'
どんな絵文字を使えばいいんだい? 🌟
pummitの使いたくても、どの絵文字を使えば良いか分からないと思います。
自分が使用している絵文字をこちらです!
これはQiitaの記事で紹介されていたものに少し改変を加えたものです。
# ==================== Emojis ====================
# 🎉 :tada: 初めてのコミット(Initial Commit)
# ♻️ :recycle: マージ(Merge)
# 🔖 :bookmark: バージョンタグ(Version Tag)
# ✨ :sparkles: 新機能(New Feature)
# 🐛 :bug: バグ修正(Bagfix)
# 👀 :eyes: リファクタリング(Refactoring)
# 📚 :books: ドキュメント(Documentation)
# 🎨 :art: デザインUI/UX(Accessibility)
# 🐎 :horse: パフォーマンス(Performance)
# 🔧 :wrench: ツール(Tooling)
# 🚨 :rotating_light: テスト(Tests)
# 💩 :hankey: 非推奨追加(Deprecation)
# 🗑️ :wastebasket: 削除(Removal)
# 🚧 :construction: WIP(Work In Progress)
# ☃️ :snowman: 仕様変更
# ==================== Format ====================
# :emoji: Subject (Dir/AddedFile Dir/AddedFile)
#
# Commit body...
lazygitで使うには? 🔍
実はpummitはlazygitでも使えるんです!
lazygitとはGitをTUIインターフェースで操作できるチョー便利なクライアントです。
lazygitでpummitを使用するには、以下のキーバインドを.config/lazygit/config.yml
に設定してください
customCommands:
- key: 'c'
prompts:
- type: 'input'
title: 'Commit message'
initialValue: ''
command: "pummit '{{index .PromptResponses 0}}'"
context: 'files'
description: 'commit changes(Custom Command)'
エイリアス機能ってなに? 📎
例えばwastebasket
を入力するのは少し大変ですが、エイリアス機能を使うとwb
で簡単に入力できるようになります。
$ pummit wb モジュールの削除
# Result: :wastebasket: モジュールの削除 (path/to/added/file)
Add command
このコマンドはエイリアスを追加することが出来ます。
$ pummit alias add 's' 'sparkles'
この場合ではs
というエイリアスを入力するだけでコミットメッセージのEmoji prefixにsparkles
を代入できるようになります。
$ pummit s 新機能の追加
# Run: git commit -m ':sparkles: 新機能の追加 (path/to/added/file)'
Delete command
このコマンドはエイリアスを削除することが出来ます。
$ pummit alias delete s
この場合では、s=spakles
というエイリアスが登録されている前提でこのコマンドを実行した場合s
とsparkles
の関連付けがなくなるため、以下のコマンドを実行してもEmoji prefixにはs
しか代入されません。
$ pummit s 新機能の追加
# Run: git commmit -m ':s: 新機能の追加 (path/to/added/file)'
また引数に削除したいエイリアスを複数指定することが出来ます。
$ pummit alias delete s sm c h
Delete --all command
このコマンドは登録されているエイリアスを全て削除します。
$ pummit alias delete --all
List command
このコマンドは登録されているエイリアスを全て表示します。
$ pummit alias list
もし、エイリアスにs=sparkles
とt=tada
が登録されている場合は以下のように出力されます。
📎 There is aliases
Alias : Prefix : Emoji
s : sparkles : ✨
t : tada : 🎉
Reset command
このコマンドをエイリアスをリセットします。
$ pummit alias reset
もし、エイリアスがこのように混乱するほどあったり、config.json
を直接弄って壊してしまったときのためのリカバリとして使うことが出来ます。
$ pummit alias list
📎 There is aliases
Alias : Prefix : Emoji
----------------------
hjjciiiisadsadasda : sparkles : ✨
w : wrench : 🔧
s : sparkles : ✨
l : rotating_light : 🚨
p : hankey : 💩
wb : wastebasket : 🗑️
c : construction : 🚧
sm : snowman : ☃️
hj : sparkles : ✨
hjjjksda : sparkles : ✨
hjjca : sparkles : ✨
hjjciiiia : sparkles : ✨
a : art : 🎨
h : horse : 🐎
r : recycle : ♻️
t : tada : 🎉
b : bug : 🐛
e : eyes : 👀
d : books : 📚
このようにエイリアスがたくさんある場合でも
$ pummit alias reset
> May I reset the aliases? :(Y/n) y
[INFO] Alias reseted
📎 There is aliases
Alias : Prefix : Emoji
----------------------
sm : snowman : ☃️
h : horse : 🐎
w : wrench : 🔧
l : rotating_light : 🚨
p : hankey : 💩
wb : wastebasket : 🗑️
c : construction : 🚧
r : recycle : ♻️
s : sparkles : ✨
t : tada : 🎉
e : eyes : 👀
b : bug : 🐛
d : books : 📚
a : art : 🎨
コマンド一つで綺麗な状態に戻せます。
Discussion