Lesson 4: Git 連携の基本
クラス: 初級
所要時間: 約40分
前提知識: 初級 Lesson 1〜3 完了済み、Git の基本知識(commit/push/pull)
1. 解説
Claude Code と Git の関係
Claude Code は Git を「理解」している。
- 現在のブランチを把握する
git diffの内容を読んでコードレビューする- コミットメッセージを自動生成する
- コンフリクトの解決を補助する
Claude Code が自動で行う Git 操作
| 操作 | Claude Code の動作 |
|---|---|
| ファイル編集時 | git status で変更を把握 |
| コミット依頼時 | 変更内容から適切なメッセージを生成 |
| ブランチ確認 | 現在のブランチを認識して操作 |
| 差分確認 | git diff の内容をレビューに活用 |
安全な Git 操作のルール
✅ Claude Code に任せて良い操作:
- git status / git log / git diff(読み取り専用)
- git add / git commit(ローカルの変更)
- ブランチ作成・切り替え
⚠️ 確認が必要な操作:
- git push(リモートへの反映)
- git merge / git rebase(履歴の変更)
- git reset --hard(変更の破棄)
❌ 基本的に任せない操作:
- git push --force(force push)
- リモートブランチの削除コミットメッセージの自動生成
bash
# 変更後に
「この変更に適切なコミットメッセージを提案してください」
# または直接コミット
「変更をコミットしてください。メッセージは Conventional Commits 形式で」2. 実践
Step 1: Git リポジトリを初期化
bash
mkdir -p ~/claude-practice/elementary/lesson4
cd ~/claude-practice/elementary/lesson4
git init
git config user.email "student@example.com"
git config user.name "Claude Student"
cat > README.md << 'EOF'
# Lesson 4 Project
Git連携の練習プロジェクト
EOF
git add README.md
git commit -m "initial commit"Step 2: 変更を加えて Claude Code に把握させる
bash
cat > app.js << 'EOF'
function greet(name) {
return `Hello, ${name}!`;
}
module.exports = { greet };
EOF
claudegit status と git diff を確認して、現在の変更内容を説明してください。Step 3: コミットメッセージを生成させる
変更内容に基づいて、適切なコミットメッセージを提案してください。
Conventional Commits 形式(feat:, fix:, docs: など)を使ってください。提案されたメッセージでコミット:
提案されたメッセージでコミットしてください。Step 4: ブランチ操作
feature/add-farewell という名前の新しいブランチを作成して切り替えてください。新しいブランチで変更:
app.js に farewell(name) 関数を追加してください。
`Goodbye, ${name}!` を返す関数です。この変更を適切なコミットメッセージでコミットしてください。Step 5: コミット履歴の確認
git log を確認して、これまでのコミット履歴を教えてください。
各コミットが何をしたか日本語で要約してください。Step 6: .gitignore の作成
Node.js プロジェクト用の .gitignore を作成してください。
node_modules、.env、ログファイルなどを含めてください。3. 確認課題(Assignment)
課題 4-1: ブランチとマージ
mainブランチからfeature/validationブランチを作成app.jsに入力バリデーション関数を追加してコミットmainブランチに戻り、マージ
feature/validation ブランチから main ブランチへのマージを行ってください。
マージ後に履歴を確認してください。達成条件: main ブランチに feature の変更がマージされていること
課題 4-2: コミット履歴の分析
bash
# 複数のコミットを作成
echo "v1" > version.txt && git add . && git commit -m "add version file"
echo "v2" > version.txt && git add . && git commit -m "update to v2"
echo "v3" > version.txt && git add . && git commit -m "update to v3"git log を読んで、以下を教えてください:
1. 合計コミット数
2. 最初のコミットと最新のコミットの差分
3. 最も変更量が多かったコミット達成条件: コミット履歴の分析が正確に報告されること
課題 4-3: git diff の活用
bash
# ファイルをいくつか変更(コミットしない)
cat >> app.js << 'EOF'
function add(a, b) {
return a + b;
}
EOF
echo "new content" > newfile.txtgit diff を確認して、コミット前に変更内容をレビューしてください。
問題がないか確認して、問題なければコミットメッセージを提案してください。達成条件: diff の内容が正確にレビューされ、適切なコミットメッセージが提案されること
