Skip to content

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

claude
git 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: ブランチとマージ

  1. main ブランチから feature/validation ブランチを作成
  2. app.js に入力バリデーション関数を追加してコミット
  3. 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.txt
git diff を確認して、コミット前に変更内容をレビューしてください。
問題がないか確認して、問題なければコミットメッセージを提案してください。

達成条件: diff の内容が正確にレビューされ、適切なコミットメッセージが提案されること


自己チェックリスト


次の型

Lesson 5: コードの追記と修正 →

Claude Code Dojo