Git 統合
Claude Code がターミナルから git を操作する。平易な日本語でやりたいことを伝えると、チームの規約に従ったコミット、ブランチ、PR が作成される。
設定をやめて、構築を始めよう。
AIオーケストレーション付きSaaSビルダーテンプレート。
問題: Claude Code で一連の編集を終えたら、差分がステージングされないまま残っていて、履歴を読みやすくする必要がある。
すぐに使えるコツ: Claude が作業を終えたら、平易な言葉でコミットを依頼する:
claude "commit these changes"差分が読み取られ、実際のコミットメッセージが書かれ、git commit が実行される。偽の設定も、プラグインも、インストールも不要だ。
Claude Code が開いているとき、git コマンドはターミナルを通じて直接実行される。切り替えるべき「自動コミット」モードも、接続するものも何もない。依頼すれば実行される。
Claude が扱えること:
- 任意の git コマンドを実行する: add、commit、push、pull、branch、merge
- コミットメッセージを書く: 実際に行った変更に基づいて
- ブランチを作成する: 機能や実験のために
- PR を作成する:
ghCLI がインストールされている場合 - コンフリクトを解決する: 両方のバージョンを読んでインテリジェントにマージする
Claude は git 履歴を見て作業の流れを追うことができるため、コミットメッセージは実際に何が変わったか、そしてなぜかを説明している。
CLAUDE.md で規約を設定する
偽の設定コマンドはスキップしよう。チームのコミットルールを代わりに CLAUDE.md に書き込む:
## Git Conventions
- Use conventional commits: feat:, fix:, docs:, refactor:
- Keep subject lines under 72 characters
- Always run tests before committing
- Create feature branches for new workそれ以降にコミットを依頼すると、Claude は記述した規約に従う。
実際の Git ワークフロー
変更後のシンプルなコミット
# Claude がフィーチャーの実装を終えた後
claude "commit these changes"
# またはより具体的に
claude "commit with message: add user authentication flow"フィーチャーブランチワークフロー
# 新しいブランチで作業を開始
claude "create a feature branch called auth-improvements and switch to it"
# 変更を加えてコミット
claude "commit the auth changes with a descriptive message"
# 準備ができたら PR を作成
claude "push this branch and create a PR with a summary of changes"コミット前のレビュー
# まず変更内容を確認
claude "show me a summary of all uncommitted changes"
# 選択的にコミット
claude "commit only the changes in src/auth/ with message: refactor auth module"コミットの帰属
Claude からのコミットと PR はデフォルトで帰属情報を持ち、チーム (および将来の自分) がどの作業が AI 支援だったかを確認できる。メッセージに含まれる内容は settings.json 内の attribution キーで管理される。
デフォルトの帰属
コミットには以下の2行が追加される:
Generated with Claude Code (https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply>最初の行はプレーンテキストだ。2行目は git トレーラーで、GitHub (および他のホスト) がこれを解析して Claude をコミットの共著者として表示する形式だ。
プルリクエストの場合、帰属はより短いブロックとして説明文に含まれる:
Generated with Claude Code (https://claude.com/claude-code)帰属のカスタマイズ
コミットと PR の帰属はそれぞれ settings.json の独自キーを持つ:
{
"attribution": {
"commit": "Generated with AI\n\nCo-Authored-By: AI Assistant <your-ai-alias>",
"pr": "AI-assisted PR"
}
}本文テキスト、Co-Authored-By の名前とメール、またはすべての部分を書き直すことができる。\n\n はメッセージとトレーラーブロックを分割するもので、git トレーラーフォーマットはそれを必要とする。
帰属の無効化
いずれかのキーに空文字列を設定するとその行が無効になる:
{
"attribution": {
"commit": "",
"pr": ""
}
}これはコミット、PR、または両方の帰属を非表示にする。AI 使用を別の場所で記録しているチームに便利だ。
includeCoAuthoredBy からの移行
古い includeCoAuthoredBy ブール値は廃止に向かっている。"includeCoAuthoredBy": false を使っていた場合、attribution に移行しよう:
// 古い (非推奨)
{ "includeCoAuthoredBy": false }
// 新しい (推奨)
{
"attribution": {
"commit": "",
"pr": ""
}
}新しい設定からより細かい制御が得られる。PR 帰属を維持しながらコミット帰属をオフにしたり、逆も可能だ。ユーザー、プロジェクト、またはローカルのいずれのスコープにも適用できる。
問題が起きたとき
エラー: "nothing to commit". 修正: Claude がすでにコミットを実行したか、ファイルがインデックスに入っていない。Claude に確認してもらおう:
claude "what's the current git status?"エラー: push 時の "permission denied". 修正: リモートが認証を要求している。Claude は認証情報を提供できないが、診断を一緒に行うことはできる:
claude "help me debug this git push error"エラー: マージコンフリクト. 修正: Claude が解決できる:
claude "there are merge conflicts in auth.js - resolve them keeping our new changes"次のステップ
- より速いイテレーションのためのフィードバックループ
- 作業を追跡するための Todo ワークフロー
- 複雑な変更のための計画モード
- 帰属やその他のオプションの設定リファレンス
- コスト管理のための使用量最適化
Claude Code 内の git にはセットアップステップがない。必要な git 操作を Claude に伝えれば、コマンドが実行される。それだけだ。
設定をやめて、構築を始めよう。
AIオーケストレーション付きSaaSビルダーテンプレート。