生成AIのためのGit入門 第3章:Claude Codeに作業させる前に必ず確認するGitコマンド

Claude Codeに作業をお願いする前に、必ずGitで現在の状態を確認しましょう。

なぜなら、作業前の状態がぐちゃぐちゃだと、Claude Codeが変更した内容と、自分がすでに変更していた内容が混ざってしまうからです。

たとえるなら、料理を始める前にキッチンを片づけるようなものです。

まな板の上に前の料理の材料が残ったまま、新しい料理を始めたら混乱しますよね。

開発でも同じです。

Claude Codeに作業させる前に、Gitで「今どんな状態なのか」を確認する必要があります。

Git公式ドキュメントでは、git statusは作業ツリーの状態を表示し、未追跡ファイルや変更されたファイルを確認できるコマンドだと説明されています。

作業前に確認したいGitコマンド一覧

まず、Claude Codeに依頼する前に確認したい基本コマンドを整理します。

コマンド目的使うタイミング
git status変更されたファイルを確認する作業前に必ず実行する
git diff変更内容の差分を見る未コミットの変更があるとき
git branch今いるブランチを確認するmainに直接作業していないか確認するとき
git switch作業ブランチへ移動する別ブランチで作業したいとき
git pullリモートの最新状態を取り込む作業開始前に最新化したいとき

新人エンジニアのうちは、まずこの5つだけで十分です。

全部を完璧に覚える必要はありません。

ただし、Claude Codeに作業を頼む前にgit statusを見る習慣だけは、必ず身につけてください!

まずgit statusで現在地を確認する

最初に実行するコマンドはgit statusです。

git status




git statusは、現在の作業状態を確認するコマンドです。

主に次のことがわかります。

確認できること意味
変更されたファイルすでに編集されたファイルがある
新しく作られたファイルまだGitに管理されていないファイルがある
ステージ済みのファイル次のコミット対象になっているファイルがある
今いるブランチmainなのか作業ブランチなのか確認できる

作業前のgit statusで、次のように表示されたら理想的です。

On branch feature/login
nothing to commit, working tree clean




working tree cleanとは、作業ディレクトリに未コミットの変更がない状態です。

簡単に言うと、机の上が片づいている状態です。

この状態なら、Claude Codeが変更した内容だけを追いやすくなります。

git statusで変更が出たらすぐClaude Codeに頼まない

git statusを実行して、次のように表示されたとします。

Changes not staged for commit:
  modified:   src/main/java/com/example/demo/model/dao/UserDao.java

Untracked files:
  src/main/java/com/example/demo/model/dto/UserDto.java




この状態でClaude Codeに作業を依頼すると、自分の変更とAIの変更が混ざります。

混ざると、あとから見たときにこうなります。

「このUserDao.javaの変更は、自分がやったんだっけ?」

「Claude Codeが直したんだっけ?」

「UserDto.javaは必要なファイルだっけ?」

この混乱は、かなり危険です。

まず、変更内容を確認しましょう。

git diff




git diffは、変更前と変更後の差分を確認するコマンドです。Git公式ドキュメントでも、git diffは作業ツリーとコミット、またはコミット同士などの差分を表示するコマンドとして説明されています。:contentReference[oaicite:1]{index=1}

git diffで変更内容を確認する

git diffを使うと、ファイルの中身がどのように変わったかを確認できます。

git diff




たとえば、UserDao.javaでSQLが変更されていたとします。

git diffを見ることで、次のようなことがわかります。

確認するポイント見る理由
WHERE句が変わったか検索条件が変わるため
JOINが増えたか取得するデータ範囲が変わるため
deleted_at IS NULLが消えていないか削除済みデータが表示される危険があるため
PreparedStatementの番号がずれていないかSQLエラーや意図しない検索につながるため

git diffは、AI開発における確認窓です。

Claude Codeにコードを書かせるとしても、差分を見るのは人間の仕事です。

ここをサボると、AIが書いたコードを理解しないまま進めることになります。

新人エンジニアほど、git diffを読む習慣をつけましょう。

差分を読む力は、そのままコードレビュー力になります。

今の変更を残すか、戻すか、コミットするか決める

作業前に未コミットの変更があった場合、選択肢は主に3つです。

選択肢使う場面
コミットする必要な変更として保存したいとき
戻す不要な変更だったとき
別ブランチに退避する今の変更を別作業として残したいとき

必要な変更なら、コミットしてからClaude Codeに作業を依頼します。

git add .
git commit -m "作業前の変更を保存"




不要な変更なら、戻します。

git restore ファイル名




ただし、git restoreは変更を戻すコマンドなので、実行前に本当に消してよい変更か確認してください。

ノートの下書きを消しゴムで消すようなものです。

消したあとに「やっぱり必要だった」となると困ります。

git branchでmainにいないか確認する

次に確認したいのがブランチです。

git branch




git branchは、ブランチを確認するコマンドです。

Git公式ドキュメントでは、git branchの-rはリモート追跡ブランチ、-aはローカルとリモートの両方のブランチを表示すると説明されています。

たとえば、次のように表示されます。

* main
  feature/login
  feature/search




*が付いているブランチが、現在いるブランチです。

この例ではmainにいます。

Claude Codeに作業を頼む前にmainにいるなら、基本的には作業ブランチへ移動したほうが安全です。

mainは、完成したコードを置く本線のような場所です。

鉄道でたとえるなら、本線の線路です。

実験的な作業を本線で直接やると、ほかの人にも影響が出ます。

新しい機能や修正は、作業用の支線で進めましょう。

git switchで作業ブランチに移動する

既存の作業ブランチへ移動するには、git switchを使います。

git switch feature/login




Git公式ドキュメントでは、git switchは指定したブランチへ切り替えるコマンドで、作業ツリーとインデックスがそのブランチに合うよう更新されると説明されています。

新しくブランチを作って移動する場合は、次のように書きます。

git switch -c feature/claude-login-fix




-cは、新しいブランチを作成して切り替える指定です。

Claude Codeに作業を依頼するときは、作業内容がわかるブランチ名にしましょう。

作業内容ブランチ名の例
ログイン修正feature/claude-login-fix
検索機能追加feature/search-condition
DAO整理refactor/user-dao
テスト追加test/add-user-dao-test

ブランチ名は、作業内容がわかる名前にするのが大切です。

new-branchやtestのような名前だけだと、あとから見たときに何の作業かわかりません。

git pullで最新状態にしてから作業する

チーム開発では、自分が作業していない間に、ほかの人がコードを更新していることがあります。

そのため、Claude Codeに作業させる前に、最新状態を取り込むことが大切です。

git pull




git pullは、リモートリポジトリから変更を取得して、現在のブランチに取り込むコマンドです。Git公式ドキュメントでは、git pullはリモートリポジトリの変更を現在のブランチへ取り込むコマンドで、デフォルトではfetchのあとにmergeを行うと説明されています。

リモートリポジトリとは、GitHubなどに置かれた共有用のリポジトリです。

リポジトリとは、ソースコードと変更履歴を管理する保管場所です。

学校でたとえるなら、チーム全員が見られる共有ノートのようなものです。

自分の手元のノートが古いまま作業すると、ほかの人の変更とぶつかる可能性があります。

作業前に共有ノートの最新ページを確認する。

それがgit pullです。

ただし、未コミットの変更がある状態でgit pullしない

git pullは便利ですが、未コミットの変更がある状態で実行すると、変更が混ざってわかりにくくなることがあります。

そのため、基本の順番は次の通りです。

git status
git diff
git add .
git commit -m "現在の作業を保存"
git pull





または、不要な変更なら戻してからpullします。

git status
git diff
git restore ファイル名
git pull





大切なのは、作業前にきれいな状態を作ることです。

Claude Codeに任せる前のGit確認は、車の運転前点検に似ています。

タイヤ、ブレーキ、燃料を確認してから走る。

開発では、status、diff、branch、pullを確認してからAIに作業させる。

この順番を守るだけで、事故はかなり減ります。

Claude Codeに依頼する直前のおすすめ手順

新人エンジニア向けに、Claude Codeへ依頼する直前の手順をまとめます。

git status




まず、現在の作業状態を確認します。

git branch




次に、今いるブランチを確認します。

git switch -c feature/claude-task-name




必要なら、新しい作業ブランチを作ります。

git pull




リモートの最新状態を取り込みます。

git status




最後に、作業前の状態がきれいか確認します。

理想は次の表示です。

nothing to commit, working tree clean




この状態になってから、Claude Codeに依頼します。

Claude Codeに依頼する例:
ユーザー登録処理に入力チェックを追加してください。
既存の命名規則に合わせてください。
変更後にどのファイルを修正したか説明してください。

Claude Codeに依頼するときは、ただ「直して」ではなく、条件も一緒に伝えるとよいです。

伝えること
目的ユーザー登録処理に入力チェックを追加する
守ってほしいルール既存の命名規則に合わせる
変更範囲ControllerとDTOだけを変更する
確認してほしいこと修正後に変更ファイルを説明する

Gitで作業前状態を整え、Claude Codeへの指示も具体的にする。

この2つを組み合わせると、AI開発の事故はかなり減ります。

作業前チェックリスト

Claude Codeに作業させる前に、次のチェックリストを使ってください。

チェック確認内容
1git statusで未コミットの変更を確認したか
2git diffで既存の変更内容を確認したか
3mainではなく作業ブランチにいるか
4必要ならgit pullで最新状態にしたか
5作業前にworking tree cleanになっているか
6Claude Codeへの指示内容が具体的か

このチェックリストは、最初は面倒に感じるかもしれません。

でも、慣れると1分もかかりません。

そして、その1分があとで30分、1時間の手戻りを防ぎます。

開発では、速く始めることより、安全に始めることが大切な場面があります。

AIを使うときほど、この意識が重要です。

第3章のまとめ

Claude Codeに作業させる前には、Gitで現在の状態を確認しましょう。

特に大切なのは、git status、git diff、git branch、git switch、git pullです。

コマンド役割
git status作業状態を確認する
git diff変更内容を確認する
git branch今いるブランチを確認する
git switch作業ブランチへ移動する、または作成する
git pullリモートの最新状態を取り込む

一言でまとめるなら、こうです。

Claude Codeに作業させる前のGit確認は、AI開発の作業前点検です。

git statusで机の上を確認する。

git diffで残っているメモを見る。

git branchで作業場所を確認する。

git pullで共有ノートを最新にする。

この流れを身につけると、Claude Codeの便利さを安全に活かせます。

次章では、ブランチを切るだけでAI開発がかなり安全になる理由を解説します。

セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。