6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitLensによるcommitメッセージ自動生成

Last updated at Posted at 2024-07-26

はじめに

私はcommitメッセージを英語で書く派なのですが、英語って難しいなと日々感じています。
正直なところ、つい最近まではcommitメッセージの丁寧さをそこまで意識せず、ざっくりの感覚で書いていたのは否めないです。
これを改善するための手段として、最近AIの使い道を模索する中で良さそうなものを発見したので記事に残したいと思います。

目的

どういう単語を使えば良いのか?どういう文章を書けば良いのか?その辺をちゃんと意識してcommitメッセージを作ろうとした時に、時間がかかっちゃうので参考になる文章がほしい。

こういった例文をまとめた記事もすごくありがたく参考になるのですが、AIによる自動生成はやっぱり欲しいなぁ。そんな思いです。

commitメッセージを自動生成する

VSCodeの拡張機能 GitLens を使います。
エディタ上でコードの履歴や変更点を視覚的に把握しやすくする拡張機能です。
現在Experimentalではありますが、いくつかのAI Modelを用いたcommitメッセージの自動生成が行えるようになっています。

事前準備

まずはGitLens をインストールしましょう。

AI Model選択

VSCodeで Command + Shift + p(Windowsの場合は Ctrl + Shift + p) を押下してコマンドパレットを開きます。
そこで、gitlens: Switch AI Model と入力します。
お好きなModelを選択して、APIキーの設定をすれば終了です。

スクリーンショット 2024-07-25 18.40.58.png

Generate Commit Message!

今回はREADMEを修正してみます。
git add しましょう。

スクリーンショット 2024-07-25 18.37.26.png

そして右上の3点リーダーからGenerate Commit Message!

スクリーンショット 2024-07-25 18.38.52.png

出てきました。
題・説明も書いてくれるみたいです。

スクリーンショット 2024-07-25 18.42.37.png

簡潔なメッセージにしたい

commitメッセージのprefixとか、言語設定(日本語・英語)は、会社によって違ったりすると思います。

なので、カスタマイズしていきましょう。

settings.json"gitlens.experimental.generateCommitMessagePrompt": で、実行時に与えるpromptを自由に指定することができるようです。

私の場合、

  • 1行の英語のcommitメッセージにしたい
  • prefixはつけたい

という希望がありました。

promptに規約を含める

settings.json
  "gitlens.experimental.generateCommitMessagePrompt": "Semantic Commit MessageおよびCommit Message Guidelineに従い、英語のコミットメッセージを1行で作成してください。"

Semantic Commit MessageCommit Message Guidelineは、人間と機械が読みやすく、意味のあるcommitメッセージにするためのフォーマット仕様です。
この規則に沿うことでprefixがついたり比較的読みやすい文章が生成されます。

やってみると、期待通りのメッセージで生成されるようになりました。

スクリーンショット 2024-07-25 19.02.59.png

commitメッセージは改行できるので、別に無理やり1行にしなくても良いのでは?という意見もあると思います。
しかし、会社内でcommitの粒度を小さくしていこう!という動きがあるため、敢えてこの設定にしています。
generateした結果が超アバウトな内容だったり、超長いメッセージだったりすると、そもそもcommitを分けようって考えに至るよね。たぶん。

あとは楽に実行する

いちいち3点リーダーからGenerate Commit Messageを押すのも面倒です。
なのでショートカットキーを設定します。

Command + Shift + p(Windowsの場合は Ctrl + Shift + p) を押下してコマンドパレットを開き、Preferences: Open Keyboard Shortcuts と入力し、
Gitlens: generate Commit Message と入力し、好きなショートカットコマンドを設定しましょう。

スクリーンショット 2024-07-26 13.38.31.png

これで楽に実行できるようになります。

最後に

実際やってみると、おお、こんな単語使うのか〜とかこんな文章書けば良いのか〜みたいな気付きがあって面白いです。
生成された文章が適切かどうかは都度判断必要かと思いますが、気をつけながらうまく取り入れていきたいと思います。(言うまでも無いことですね)

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?