AI時代のGitワークフロー:コミットメッセージとPR作成をAIに任せる方法

開発者の皆さん、コミットメッセージに「fix bug」や「update」とだけ書いて怒られた経験はありませんか?あるいは、Pull Request (PR) の説明文を書くのが億劫で、コードを書き終わった後にため息をついていませんか?

AIの進化により、これらの「コードを書く以外の付帯作業」は劇的に効率化されました。本記事では、コミットメッセージとPR作成をAIに任せ、開発者がコーディングのみに集中できるGitワークフローを紹介します。

1. コミットメッセージの自動生成

変更内容(差分)を解析し、Conventional Commitsなどの規約に従ったメッセージを生成するツールが数多く登場しています。

おすすめツール:aicommits

Node.js製のCLIツールです。シンプルで使いやすく、OpenAI APIキーがあればすぐに導入できます。

npm install -g aicommits

使い方は簡単。git add した後に aicommits と打つだけです。

git add .
aicommits

すると、以下のようなメッセージが提案されます。

feat(auth): add login validation logic
- check email format using regex
- implement output error message for empty password

気に入ればそのままコミット完了。修正も可能です。

自作Git Hookでの実装

特定のフォーマットを強制したい場合は、Pythonスクリプトで自作し、.git/hooks/prepare-commit-msg に仕込むのも有効です。

# pre-commit-hook example (concept)
diff = subprocess.check_output(["git", "diff", "--cached"]).decode("utf-8")
prompt = f"以下の差分に基づいて、Conventional Commits形式のコミットメッセージを作成してください:\n\n{diff}"
message = call_llm(prompt)
# メッセージファイルに書き込み

2. Pull Request (PR) の自動作成

PRのタイトルと概要(Description)を自動生成するには、GitHub CLI (gh) とAIを組み合わせるのが最強です。

gh-copilot 拡張機能

GitHub公式のCLI拡張機能です。

gh extension install github/gh-copilot

これを使えば、ブランチ間の差分を要約し、PRの説明文を生成できます。

gh copilot explain

GitHub Actionsによる自動化

PRが作成されたタイミングで、AIボットが差分を読み取り、概要欄を更新するアクションを組むことも可能です。coderabbitai などのSaaSを使えば、設定不要で高品質な要約とレビューが手に入ります。

3. 注意点:AIは「Why」を知らない

AIは「何が変わったか(What)」や「どのように変わったか(How)」を差分から完璧に読み取れます。しかし、「なぜ変えたのか(Why)」という背景情報は、コードだけからは読み取れません。

  • チケット番号の紐付け: JiraやGitHub Issuesの番号を含める。
  • 文脈の補足: AIが生成したメッセージに対して、人間が「なぜなら〜だからだ」と一言書き加える。

この一手間を加えるだけで、履歴の価値は何倍にもなります。

まとめ

これからの開発者は、コミットメッセージを書く時間を「ロジックを考える時間」に充てるべきです。AIを使いこなし、Gitログさえも美しく管理する。それもまた、現代のエンジニアリングスキルの一つと言えるでしょう。