💻 Claude Code入門
📖 約22分で読めます
Claude Codeでgit logを分析して変更履歴を理解する
コミット履歴からバグの原因特定やプロジェクトの変遷を把握する
git logの分析が重要な理由
コミット履歴はプロジェクトの「歴史書」です。誰が、いつ、何のために、どのような変更を行ったかがすべて記録されています。この情報を活用すれば、バグの原因特定、機能の変遷把握、チームの作業状況確認ができます。
しかし、git logのオプションは多岐にわたり、必要な情報を引き出すのは簡単ではありません。Claude Codeなら、「いつからこのバグがあるの?」と日本語で聞くだけで、適切なgitコマンドを組み合わせて分析してくれます。
コミット履歴の基本的な確認
| 知りたい情報 | Claude Codeへの指示 | 対応するgitコマンド |
|---|---|---|
| 最近のコミット | 「最近のコミット10件を見せて」 | git log --oneline -10 |
| 特定の人のコミット | 「田中さんの最近のコミットを見せて」 | git log --author="田中" --oneline |
| 特定期間のコミット | 「今週のコミットを見せて」 | git log --since="1 week ago" |
| 特定ファイルの履歴 | 「app.tsxの変更履歴を見せて」 | git log --follow -p -- src/App.tsx |
| コミット数の統計 | 「メンバー別のコミット数を教えて」 | git shortlog -sn |
バグの原因特定 ― git blame分析
git blameは、ファイルの各行が最後にいつ・誰によって変更されたかを表示するコマンドです。バグの原因となったコミットを特定するのに非常に有用です。
バグ原因の特定例
あなた: ログインが動かなくなった。auth.tsの認証ロジックがいつ変更されたか調べて。
Claude Code:
src/lib/auth.ts のgit blameを分析します...
認証ロジック(42-58行目)の変更履歴:
- 2024-03-15 (abc1234) 田中: トークン検証ロジックを追加
- 2024-03-20 (def5678) 鈴木: セッションタイムアウトを30分→15分に変更 ← ★
- 2024-03-22 (ghi9012) 田中: ログ出力を追加
3月20日の鈴木さんのコミット(def5678)で、セッションタイムアウトが
30分から15分に変更されています。これが原因の可能性があります。
変更差分を確認しますか?
git bisectによる二分探索
大量のコミットがある場合、git bisectでバグが混入したコミットを効率的に特定できます。
bisectの使い方
- 正常だった時点のコミットを指定: 「1週間前は動いていた」
- バグがある時点を指定: 「今は動かない」
- Gitが中間のコミットをチェックアウト
- そのコミットでバグがあるか確認
- 二分探索で範囲を絞り込み、原因コミットを特定
あなた: ログイン機能が壊れている。先週月曜日は動いていた。
bisectで原因のコミットを見つけて。
Claude Code:
git bisectを開始します。
良好なコミット: abc1234 (3月18日月曜)
不良なコミット: HEAD (現在)
間に23コミットあります。約5ステップで特定できます。
ステップ1/5: コミット xyz7890 をチェック中...
→ テスト結果: ログインOK → good
ステップ2/5: コミット uvw3456 をチェック中...
→ テスト結果: ログインNG → bad
...
原因コミットを特定しました:
def5678 (3月20日) 鈴木: セッションタイムアウト変更
ブランチ間の比較
2つのブランチの差分を確認することで、マージ前の影響範囲を把握できます。
あなた: featureブランチとmainの差分を教えて
Claude Code:
feature/user-profile と main の比較:
コミット数: 12(feature側が12コミット先行)
変更ファイル: 8ファイル
追加行: +342行
削除行: -28行
変更ファイル一覧:
1. src/pages/Profile.tsx (新規)
2. src/components/Avatar.tsx (新規)
3. src/api/users.ts (変更: プロフィール取得API追加)
4. src/types/user.ts (変更: Profile型追加)
5. src/tests/profile.test.ts (新規)
...
mainブランチからの差分にコンフリクトの可能性がある箇所:
- src/api/users.ts: mainでも変更があるため、注意が必要です
コミット統計の分析
プロジェクト分析の例
あなた: このプロジェクトの開発状況を分析して
Claude Code:
プロジェクト統計を分析します...
■ 全体概要
- 総コミット数: 847
- 期間: 2023-06-01 〜 2024-03-25
- コントリビューター: 5名
■ メンバー別コミット数
田中: 312 (36.8%)
鈴木: 245 (28.9%)
佐藤: 178 (21.0%)
高橋: 72 (8.5%)
伊藤: 40 (4.7%)
■ 月別コミット推移
2024-01: ████████████ 89
2024-02: █████████████████ 127
2024-03: ██████████ 78
■ よく変更されるファイル TOP5
1. src/api/index.ts (変更回数: 67)
2. src/components/App.tsx (変更回数: 54)
3. package.json (変更回数: 45)
4. src/styles/main.css (変更回数: 38)
5. src/utils/helpers.ts (変更回数: 32)
Changelogの生成
コミット履歴からリリースノート風のChangelogを生成できます。
あなた: v1.2.0からv1.3.0までの変更をChangelogにまとめて
Claude Code:
v1.2.0...v1.3.0 のコミットを分析しています...
## v1.3.0 (2024-03-25)
### 新機能
- ユーザープロフィール機能を追加
- 画像アップロードに対応
- ダークモードを実装
### バグ修正
- ログインセッションが15分で切れる問題を修正
- 検索結果のページネーションが正しく動作しない問題を修正
### 改善
- APIレスポンスのキャッシュ処理を最適化
- モバイルでのフォーム入力UXを改善
まとめ
- git logはプロジェクトの歴史を理解する強力なツール
- Claude Codeに日本語で質問するだけで適切なgitコマンドを実行してくれる
- git blameでバグの原因コミットを特定できる
- git bisectで大量のコミットから効率的に原因を絞り込める
- ブランチ比較やコミット統計でプロジェクトの全体像を把握できる
Claude Code入門の他のガイド
Claude Code導入ガイド ― Windows/Mac完全対応
Claude Codeのインストールから初回起動まで、OS別に完全対応 ・ 約30分
Claude Codeの主要スラッシュコマンドと活用法
16個のスラッシュコマンドを完全網羅。使い方・実行例・組み合わせテクニックまで ・ 約15分
Claude Codeの権限設定(パーミッション)完全ガイド
セキュリティと利便性を両立する権限管理の全知識 ・ 約18分
Claude Codeのモデル切り替え活用術 ― Opus・Sonnet・Haikuの使い分け
タスクに応じた最適なモデル選択でコストと品質を両立する方法 ・ 約15分
Claude Codeのセッション管理術 ― 効率的な作業の進め方
セッションの開始・継続・再開を使いこなして、長期プロジェクトを効率的に進める ・ 約12分
Claude Codeのコマンドラインオプション完全リファレンス
全CLIオプションを網羅。起動時に使える引数を徹底解説 ・ 約20分
Claude Codeのプロジェクト設定(.claude/)完全ガイド
.claudeディレクトリとCLAUDE.mdを使いこなしてチーム開発を効率化 ・ 約15分
Claude Codeの出力フォーマットとパイプ活用術
--printモードとパイプを使った自動化・スクリプト連携の実践テクニック ・ 約15分
Claude Codeのキーボードショートカットと操作効率化
知っておくべきショートカットキーと入力テクニックで作業速度を2倍に ・ 約12分
Claude Codeのアップデートとバージョン管理
最新版への更新方法からダウングレード、トラブル対処まで ・ 約10分
Claude Codeの/doctorコマンドとトラブル診断
問題発生時の診断フローとよくあるエラーの解決方法 ・ 約12分
CLAUDE.mdの書き方完全ガイド ― プロジェクト指示書のベストプラクティス
プロジェクトの文脈をAIに正確に伝える設定ファイルの書き方 ・ 約20分
Claude Codeのメモリ機能 ― 会話をまたいだ記憶の活用法
プロジェクト固有の知識を永続化して効率を最大化する ・ 約18分
.claude/settings.jsonの設定項目一覧と活用法
Claude Codeの動作を細かく制御する設定ファイルの全貌 ・ 約15分
プロジェクト別CLAUDE.mdテンプレート集 ― コピペで使える10パターン
React・Next.js・Python・PHP・WordPress等、主要技術スタック別テンプレート ・ 約25分
チーム開発でのCLAUDE.md運用術
チーム全員がAIを最大限活用するための共有設定と運用ルール ・ 約20分
Claude CodeでGitを使いこなす ― 基本操作編
自然な日本語でGitを操作する方法を基本から解説 ・ 約20分
Claude Codeでコミットメッセージを自動生成する
変更内容を分析して最適なコミットメッセージを提案してくれるAI活用術 ・ 約18分
Claude CodeでPR(プルリクエスト)を作成・レビューする
AI支援によるPR作成からコードレビューまでの実践的ワークフロー ・ 約20分
Claude Codeでブランチ戦略を実践する
Git Flow・GitHub Flow・トランクベースを理解し、AIで効率的にブランチを管理 ・ 約20分
Claude Codeでコンフリクト解決をAIに任せる
マージの衝突が起きても慌てない。AIによるコンフリクト解決の実践ガイド ・ 約18分
Claude Codeでリリースノートを自動生成する
コミット履歴からユーザー向け・開発者向けリリースノートを作成する ・ 約20分
Claude Codeのコンテキスト節約術 ― トークンを無駄にしない10の方法
コンテキストウィンドウを理解し、トークン消費を最適化するテクニック集 ・ 約18分
/compactコマンド徹底解説 ― 会話を圧縮して作業を続ける
/compactの仕組み・使いどころ・カスタム指示を完全網羅 ・ 約15分
大規模プロジェクトでのClaude Code活用戦略
大規模コードベースでの効率的なAI活用パターンとベストプラクティス ・ 約20分
.gitignoreとClaude Code ― 読み込みファイルの最適制御
ファイル探索の仕組みを理解し、ノイズを減らして精度を上げる ・ 約14分
効率的なタスク分割術 ― 1セッションの最適な使い方
タスク境界の見極めとセッション計画で生産性を最大化 ・ 約16分
Claude CodeのSkills機能入門 ― カスタムコマンドで作業を効率化
組み込みスキルからカスタムワークフローまで完全ガイド ・ 約15分
Claude Codeのフック(Hooks)でワークフローを自動化する
PreToolUse・PostToolUseフックで品質と安全性を自動で担保 ・ 約18分
カスタムスラッシュコマンドの作り方 ― 自分だけのワークフローを構築
.claude/commands/ディレクトリで独自コマンドを定義する方法 ・ 約16分
MCPサーバーでClaude Codeを拡張する ― 外部ツール連携ガイド
Model Context Protocolで無限の拡張性を手に入れる ・ 約18分
Claude CodeとVS Code・JetBrainsの連携活用法
ターミナルAIとIDEを組み合わせた最強の開発環境構築 ・ 約15分
Claude Codeでウェブサイトを0から作る実践ガイド
プロジェクト作成からデプロイまでの完全チュートリアル ・ 約20分
Claude Codeでテストコードを書かせるテクニック
単体テストからE2Eテストまで、AIによるテスト自動生成 ・ 約22分
Claude Codeでリファクタリングを効率化する
安全なコード改善をAIと一緒に進める方法 ・ 約22分
Claude Codeでドキュメントを自動生成する
README・API文書・コードコメントを効率的に作成 ・ 約20分
Claude Codeでバグを素早く見つけて修正するテクニック
エラー解析からホットフィックスまでのデバッグワークフロー ・ 約20分
Claude CodeでREST APIを設計・実装する
要件定義からテストまでAPI開発の全工程をAIと進める ・ 約25分
Claude Codeでデータベース設計を相談・実装する
ER図からマイグレーションまでDB設計をAIに相談 ・ 約22分
Claude Codeで既存プロジェクトを分析・理解する
新しいコードベースのオンボーディングをAIで加速 ・ 約22分