このページの本文へ

FIXER Tech Blog - Development

Github Copilotで、コミットメッセージもAIに考えてもらう方法

2024年03月14日 13時30分更新

文● FIXER/西村 凌

  • この記事をはてなブックマークに追加
  • 本文印刷

 本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「【Github Copilot】コミットメッセージはAIが考える時代!?」を再編集したものです。

 X(旧: Twitter)でVisual Studio Code(以下、VSCと表記)とGithub Copilot(以下、Copilotと表記)を使えば、コメントを自動生成してくれるというポストを見つけ、少し興味を持ったのでメモ程度に書いています。

Copilotでコミットメッセージを生成する方法

 それでは、Copilotにコメントを書いてもらいます。

 ステップは簡単で、

1. 対象ファイルをステージングエリアに追加
2. VSCのSource Controlタブで☆のアイコンをクリック

以上、2ステップで簡単にコミットメッセージを生成します。

検証

 コミットメッセージの精度を評価するため、以下3パターンを検証します。

1. flutter createで作成したプロジェクトファイル全てをステージングエリアに追加

生成結果

Add new files and update existing files

2. main.dartを変更

変更前

 void _incrementCounter() {
    setState(() {
      // This call to setState tells the Flutter framework that something has
      // changed in this State, which causes it to rerun the build method below
      // so that the display can reflect the updated values. If we changed
      // _counter without calling setState(), then the build method would not be
      // called again, and so nothing would appear to happen.
      _counter++;
    });
  }

変更後

   void _incrementCounter() {
    setState(() {
      _counter--;
    });
  }

 コメントを削除し、加算から減算に変更。

生成結果

Decrement counter in _incrementCounter method

3. linuxディレクトリを削除

生成結果

Remove unused Flutter files

評価

 1と3はファイルの追加や削除で作業範囲自体は大きいですが、内容は単純なため、「追加(or 削除)したんだな」と人間なら判断すると思います。Copilotは察することができないため、1と3は曖昧な表現になりますが、適切な粒度で追加した2は人間と同程度(もしくはそれ以上)の内容を生成しました。 (※ 筆者の独断と偏見でコミットメッセージを評価しています)

結論

 Copilotにコミットメッセージを生成してもらう場合は、適切な粒度でステージングエリアに追加すること!

感想

 筆者がコミットメッセージを書いた場合、

1:add: Flutterプロジェクトの作成及び追加
2:edit: 加算から減算に変更
3:delete: linuxディレクトリを削除

と書くため、2しかCopilotと意気投合しませんでしたw

 以上、「gitの操作はCLIでしょ!」というCLI派閥の筆者がGUI派閥に寝返るかもしれないVSC上の便利機能でした!

西村 凌/FIXER
四日市事業所所属のクラウドエンジニア。
趣味でFlutterやRustを勉強しているキーボードオタク

カテゴリートップへ

この連載の記事