生成AIのためのGit入門 第2章:GitなしでClaude Codeを使うと何が危ないのか

Claude Codeは、とても強力な開発支援ツールです。

コードベースを読み、ファイルを編集し、コマンドを実行し、複数ファイルをまたいだ作業も手伝ってくれます。Claude Code公式ドキュメントでも、Claude Codeはコードベースを理解し、ファイル編集やコマンド実行、開発ツール連携ができるエージェント型のコーディングツールだと説明されています。

便利ですね。

でも、ここで大事なことがあります。

強力な道具ほど、使い方を間違えると影響も大きくなります。

Claude CodeをGitなしで使うのは、セーブせずにゲームを進めるようなものです。

うまくいっている間は問題ありません。

でも、失敗したときに戻れません。

新人エンジニアのうちは、AIが作ったコードを見ると「動いているから大丈夫そう」と感じるかもしれません。

しかし、開発では「動いたかどうか」だけでなく、「どこを変えたか」「なぜ変えたか」「元に戻せるか」がとても大切です。

危険1:どのファイルが変わったかわからなくなる

Claude Codeに作業を依頼すると、1つのファイルだけでなく、複数のファイルを変更することがあります。

たとえば、次のように依頼したとします。

ログイン機能を追加してください。

この依頼に対して、Claude Codeは次のようなファイルを変更するかもしれません。

ファイル変更内容の例
LoginController.javaログイン処理の入口を追加する
UserDao.javaメールアドレスでユーザーを検索する処理を追加する
LoginDto.javaログインフォーム用のデータを追加する
login.htmlログイン画面を追加する
application.properties設定を追加する

複数ファイルをまとめて変更できるのは便利です。

でも、Gitがないと「結局どのファイルが変わったのか」を確認しにくくなります。

作業後にエラーが出たとき、どこから調べればよいのかわからなくなります。

たとえるなら、部屋の片づけを友達に頼んだら、机、本棚、クローゼット、引き出しまで全部変わっていたような状態です。

きれいになっているかもしれません。

でも、どこに何が移動したのかわからないと困りますよね。

Gitがあれば、git statusで変更されたファイル一覧を確認できます。

git status

Gitの公式リファレンスでも、status、diff、commit、restoreなど、変更状態の確認や復元に関わるコマンドが基本機能として整理されています。

Claude Codeを使うなら、まず「AIが何を変えたか」を見える状態にしましょう。

危険2:不要な変更に気づけない

Claude Codeは、指示をもとに最善だと思う変更を提案します。

ただし、AIが行った変更が、すべてあなたの意図通りとは限りません。

たとえば、DAOの1メソッドだけを直してほしかったのに、次のような変更が入ることがあります。

意図していた変更実際に入るかもしれない変更
検索条件を1つ追加するSQL全体の書き方が変わる
バグを1つ直す関連メソッド名まで変更される
DTOに項目を追加する既存のコンストラクタまで書き換わる
テストを追加する既存テストの期待値も変更される

もちろん、必要な変更の場合もあります。

でも、不要な変更の場合もあります。

Gitがないと、不要な変更に気づきにくくなります。

Gitがあれば、git diffで変更内容を確認できます。

git diff





git diffは、変更前と変更後の差分を見るコマンドです。

差分とは、「どこがどう変わったか」という違いです。

学校の作文でたとえるなら、先生が赤ペンで直してくれた部分です。

どの文章が消され、どの文章が追加されたかが見えます。

AIが変更したコードも、必ず赤ペンを見るように確認してください。

危険3:元に戻せなくなる

GitなしでClaude Codeを使う最大の危険は、元に戻せなくなることです。

たとえば、Claude Codeにこう頼んだとします。

このクラスをリファクタリングしてください。

リファクタリングとは、外から見た動きは変えずに、コードの内部構造を整理することです。

たとえるなら、部屋の広さや家具の数は変えずに、使いやすい配置に並べ替えるようなものです。

うまくいけば、コードは読みやすくなります。

でも、失敗すると、前よりわかりにくくなったり、動かなくなったりします。

Gitがない場合、手作業で元に戻すしかありません。

これはとても大変です。

特に複数ファイルに変更が入った場合、完全に元に戻すのは難しくなります。

一方で、Gitを使って作業前にコミットしていれば、戻せます。

コミットとは、変更履歴を保存することです。

写真でたとえるなら、作業前の状態を撮っておくことです。

模様替えをする前に部屋の写真を撮っておけば、失敗しても元の配置に戻せますよね。

Gitのコミットも同じです。

危険4:レビューができなくなる

AIが作ったコードは、人間がレビューする必要があります。

レビューとは、コードが正しいか、読みやすいか、危険な処理がないかを確認する作業です。

Gitがないと、レビューが難しくなります。

なぜなら、完成したファイルだけ見ても、どこが変わったのかわかりにくいからです。

レビューで見たいのは、完成品だけではありません。

変更点です。

レビューで確認したいこと理由
追加されたコード必要な処理か確認するため
削除されたコード消してよい処理だったか確認するため
変更された条件式仕様が変わっていないか確認するため
変更されたSQL取得条件や更新条件が正しいか確認するため

Gitがあると、レビュー対象がはっきりします。

git diffで差分を見れば、「AIが何を変えたのか」を中心に確認できます。

新人エンジニアは、AIが作ったコードを読むだけでなく、AIが変えた差分を読む習慣をつけてください。

差分を見る力は、実務でかなり重要です。

危険5:動いていた機能を壊しても気づきにくい

Claude Codeに新しい機能を追加してもらったとします。

新機能は動いた。

でも、既存機能が壊れた。

このようなことは普通に起こります。

たとえば、検索機能を直したつもりが、一覧表示に影響するかもしれません。

ログイン処理を直したつもりが、ユーザー登録処理に影響するかもしれません。

データベースのSQLを直したつもりが、削除済みデータまで表示されるようになるかもしれません。

Gitがあると、どの変更が原因で壊れたのかを追いやすくなります。

コミット単位で変更が分かれていれば、「この変更のあとからおかしくなった」と調べられます。

Gitなしで作業を進めると、いろいろな変更が混ざってしまいます。

そうなると、原因探しがとても難しくなります。

料理でたとえるなら、味がおかしくなったあとに、塩、砂糖、醤油、スパイスを全部一気に入れていたような状態です。

何が原因で味が変わったのか、わかりませんよね。

Gitで小さく変更を分けておけば、「この調味料を入れたあとに味が変わった」と追いやすくなります。

危険6:AIに任せた作業を説明できなくなる

実務では、コードを書くだけでは足りません。

なぜその変更をしたのか、説明できる必要があります。

たとえば、先輩からこう聞かれるかもしれません。

「このSQLの条件を変えた理由は?」

「このメソッドを分けた理由は?」

「この例外処理を追加した理由は?」

このときに、「Claude Codeがそう書いたからです」では弱いです。

AIを使っても、最終的にコードの責任を持つのは人間です。

Gitで差分を確認していれば、変更内容を理解しやすくなります。

さらに、コミットメッセージを書くことで、変更の理由も残せます。

git commit -m "ログイン時のユーザー検索条件を修正"





コミットメッセージは、変更内容に名前を付けるようなものです。

ノートの見出しに似ています。

見出しがあると、あとから内容を探しやすいですよね。

GitなしでClaude Codeを使うと起きる問題まとめ

問題起きることGitがある場合
変更ファイルがわからないどこを直したか追えないgit statusで確認できる
不要な変更に気づけない意図しない修正が混ざるgit diffで確認できる
元に戻せない手作業で復旧する必要があるコミットやrestoreで戻しやすい
レビューできない完成品だけを見ることになる差分レビューができる
原因調査が難しいどの変更で壊れたかわからない履歴から追いやすい
説明できないAI任せの変更になるコミット単位で理由を残せる

Claude Codeを使う前に最低限やること

GitなしでClaude Codeを使う危険性を避けるために、最低限次の流れを習慣にしましょう。

git status




まず、現在の変更状態を確認します。

git diff




次に、未コミットの変更があれば内容を確認します。

git add .
git commit -m "作業前の状態を保存"




必要であれば、Claude Codeに作業を依頼する前にコミットします。

この状態にしておけば、AIの変更を安全に試せます。

最初は少し面倒に感じるかもしれません。

でも、事故が起きたときに必ず助かります。

自転車に乗る前にヘルメットをかぶるようなものです。

毎回は面倒に感じても、転んだときに守ってくれます。

第2章のまとめ

GitなしでClaude Codeを使うと、速く作れる反面、変更を管理できなくなる危険があります。

Claude Codeは複数ファイルを編集し、コマンド実行もできる強力な開発ツールです。だからこそ、変更履歴を管理できるGitと組み合わせる必要があります。

覚えておきたいこと内容
Gitなしは危険変更範囲が見えず、元に戻しにくい
AIの変更は確認するgit diffで差分を見る
作業前に状態を保存するコミットしてからClaude Codeに依頼する
説明責任は人間にあるAIが書いたコードでも自分で理解する

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

GitなしでClaude Codeを使うのは、セーブせずにボス戦へ行くようなものです。

勝てるかもしれません。

でも、負けたときのダメージが大きすぎます。

Claude Codeを使う前に、まずGitで今の状態を確認する。

AIが作業した後に、Gitで差分を確認する。

この習慣が、AI時代の開発生産性を支える基本になります。

次章では、Claude Codeに作業させる前に必ず確認したいGitコマンドを、具体的に解説します。

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

投稿者プロフィール

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

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