AIエージェントが大量にファイルを書き換える時代、「コミット」というセーブポイントさえあれば何度でも安心して試せる。Git コミットの仕組みを、ゲームのセーブや写真撮影のたとえを使って非エンジニアにもわかりやすく解説します。
AIエージェントにファイルの編集を任せる時代になりました。しかし、「AIが間違えたら?」「元に戻せるの?」という不安を持つ人も多いはずです。その答えが、Gitの「コミット」です。
本記事では、コミットの考え方と使い方、AIエージェントと組み合わせるときの注意点を、非エンジニアの方にも分かるように整理します。あわせて、うっかり使うと取り返しがつかなくなる操作と、その安全な代わりの方法も紹介します。
1. コミットとは「セーブポイント」のこと
ゲームで言えば、セーブせずにボスに挑むようなものです。負けたら最初からやり直し。誰でも一度は経験があるのではないでしょうか。コミットは、このセーブの行為そのものです。
作業を始める前、機能を追加した後、その日の作業を終える前。コミットするたびに「ここに戻れる」という地点が増えていきます。
2. そもそもGitとは何者なのか
Gitは、Linuxという基本ソフト(OS)を開発していたリーナス・トーバルズ氏が2005年に作った、ファイルの変更履歴を記録するための無料のソフトです。それまでLinuxの開発チームが使っていた管理ツールが使えなくなったことから、自分たちで作ることにし、わずか数週間で最初の版ができたと言われています。2025年に誕生から20年を迎え、今では世界で最も広く使われる変更履歴の管理ツールになっています。
もともとは大勢のプログラマーが同時に開発するための仕組みですが、「変更履歴を記録し、いつでも過去の状態に戻せる」という性質は、文章、画像、設定ファイルなど、プログラム以外のファイルにもそのまま役立ちます。
3. コミットの基本と、メッセージの書き方
コミットは「その瞬間の写真を撮る」イメージです。次の一行で、その時点のファイルの状態が記録されます。
git add . && git commit -m "作業前の状態"
「-m」のあとの文字はメモ書きで、後で見返すときの目印になります。「修正」「更新」のような曖昧な言葉だけだと、どの時点に戻ればよいか分からなくなります。「問い合わせフォームの追加」「画像の変換」のように、何をしたかが一目で分かる言葉を選びましょう。AIエージェントに作業を任せる場合は、「作業前の状態」のような決まった言葉で自動的にコミットさせる運用でも十分役に立ちます。
なお、「git add .」はフォルダの中の変更をまとめて記録の対象にする命令です。記録してはいけないファイル(後述)を先に除外しておかないと、それも一緒に記録されてしまいます。
4. コミットはどの範囲のファイルに効くのか
コミットは、パソコン全体には効きません。「git init」でGitの管理を始めたフォルダ(リポジトリ)の中だけが対象です。
複数のプロジェクトを1つの親フォルダにまとめ、その親フォルダでGitの管理を始めれば、一度の操作で全部をまとめて記録できます。新しいプロジェクトをそのフォルダの中に追加すれば、次の「git add .」で記録の対象に含まれます。
注意したいのは、親フォルダの中に、すでに独立してGitの管理をしているフォルダがある場合です。そのフォルダは親フォルダからは中身が記録されず、別のリポジトリとして扱われます。このとき、中にある「.git」フォルダを削除して親にまとめる方法が紹介されることがありますが、「.git」フォルダを削除すると、そのフォルダのそれまでの履歴がすべて消えます。GitHubなどに同じ履歴が残っていない限り、元に戻せません。どちらか一方にまとめたい場合は、先に丸ごとバックアップを取り、詳しい人に相談してから進めましょう。多くの場合は、別々のリポジトリのまま、それぞれでコミットするほうが安全です。
5. GitとGitHubは別物
「コミット=GitHubにアップロード」と思っている人も多いのですが、それは誤解です。
比較項目 | Git | GitHub |
|---|---|---|
正体 | ツール(ソフト) | サービス(Webサイト) |
動く場所 | 自分のパソコンの中 | インターネット上 |
ネット接続 | 不要 | 必要 |
社外秘のファイル | パソコンの中で完結する | 送るとネット上に置かれる(非公開の設定も可能) |
コミットはパソコンの中で完結します。GitHubへの送信(プッシュ)は、明示的に操作しない限り起きません。逆に言えば、パソコンが壊れれば、手元の履歴も一緒に失われます。大切なプロジェクトは、GitHubの非公開リポジトリや、別の場所へのバックアップも組み合わせておくと安心です。
6. 戻し方は一つではない:安全な順に使い分ける
「元に戻す」といっても、確認だけしたいのか、一部だけ戻したいのか、全部を戻したいのかで、使う命令が変わります。ここで大切なのは、取り返しのつかない命令ほど最後に使うことです。
やりたいこと | 命令 | 危険度 |
|---|---|---|
過去のセーブポイントの一覧を見る | git log | 安全(見るだけ) |
何が変わったかを見比べる | git diff | 安全(見るだけ) |
今の変更を一時的に退避する | git stash -u | 比較的安全(あとで取り出せる。-uを付けると新しく作ったファイルも退避される) |
特定のファイルだけ、最後に記録した状態に戻す | git restore ファイル名 | 注意(そのファイルの未記録の変更は消える) |
過去のコミットを打ち消す新しいコミットを作る | git revert | 比較的安全(履歴は残る) |
直前のセーブポイントに完全に戻す | git reset --hard | 危険(コミットしていない変更がすべて消える) |
「git reset --hard」は強力ですが、コミットしていない変更を跡形もなく消します。いきなり使う前に、git logとgit diffで「何が起きたか」を確認し、残したい変更がないかを見てからにしましょう。迷ったら、git stash -uで今の状態をいったん退避しておけば、あとで取り出せます(-uを付けると、新しく作ったファイルも一緒に退避されます)。
また、git reset --hardで戻しても、AIが新しく作ったファイル(まだ一度も記録していないファイル)は残ります。不要なら確認したうえで手で削除します。
7. コミットしてはいけないもの
パスワードやAPIキーなど、絶対に漏れてほしくない情報は、コミットの対象から外します。コミットは「その時点のファイル」を記録する仕組みなので、うっかり秘密の情報が書かれたファイルを記録すると、その情報は履歴の中に残り続けます。
対策として、Gitには「.gitignore」という設定ファイルがあり、「このファイルやフォルダは記録しない」と指定できます。認証情報を保存する「.env」ファイルなどは、プロジェクトを始めるときに最初に登録しておきましょう。
もし誤って機密情報をコミットしてしまったら、最優先はそのキーやパスワードを無効にして作り直すことです。履歴から消しても、一度記録された情報はすでに複製されている可能性があるからです。「消してから作り直す」ではなく「作り直してから消す」の順番を徹底しましょう。
8. AIエージェントとの組み合わせ方
AIエージェントは便利ですが、間違えることもあり、しかも人間よりはるかに速く、大量のファイルを変更します。コミットがあれば、「やってみて、ダメなら戻す」というサイクルを気軽に回せます。
- コミットする:作業前の状態をセーブする
- AIに依頼する:作業を任せる
- 確認する:git diffなどで何が変わったかを見る
- うまくいけば:もう一度コミットして次の作業へ。だめなら:セーブポイントに戻す
Claude Codeには、指示を送るたびにファイルの状態を記録し、「/rewind」で巻き戻せる「チェックポイント」という機能もあります。手軽で便利ですが、AIがコマンド(ターミナル)経由で行った削除や移動は記録されず、一定期間が過ぎると記録も消えます。公式にも「Gitの代わりではない」と説明されています。チェックポイントは会話の中での手軽な取り消し、Gitは長く残るセーブポイント、と使い分けましょう。
セッションを始めるたびに自動でコミットする仕組みを作っておけば、コマンドを覚えていなくても、安全網が張られた状態で作業を始められます。大切なのはコマンドの暗記ではなく、「戻れる場所がある」前提でAIに任せる、という考え方です。
9. よくある誤解と、はじめの一歩
- 「コミットすればどんなミスも100%戻せる」:コミットしていない変更や、メールの送信、外部サービス上のデータの削除など、フォルダの外で起きたことは戻せません
- 「コミットは開発者だけのもの」:文章、資料、設定ファイルなど、プログラム以外のファイルにも同じように使えます
- 「毎回コミットするのは面倒」:作業開始時に自動でコミットする仕組みを作れば、手間を意識せずに済みます
- 「記録した内容を消したいときは履歴を削除すればよい」:履歴の削除は、操作を誤ると他の履歴まで壊れます。慣れないうちは、正しい内容で新しくコミットし直すほうが安全です
はじめの一歩は、次の順番がおすすめです。
- Gitを入れる(Macはターミナルで「git --version」と打つとインストールの画面が出る。Windowsは公式サイトからGit for Windowsを入れる)
- 管理したいフォルダで「git init」を一度だけ実行する
- 「.env」など、記録してはいけないファイルを「.gitignore」に登録する
- 作業を始める前に「git add . && git commit -m "作業前の状態"」を打つ習慣をつける
- AIエージェントを使っているなら、「作業前にコミットしておいて」と頼む
- 戻したいときは、いきなりgit reset --hardを使わず、まずgit logとgit diffで確認する
10. まとめ
- コミットは「セーブポイント」。作業前にコミットしておけば、AIに大胆な作業を任せても戻れる
- 効くのは「git init」したフォルダの中だけ。内側のフォルダの「.git」を削除すると、そのフォルダの履歴がすべて消えるので注意
- GitとGitHubは別物。コミットはパソコンの中で完結し、バックアップは別に考える
- 戻し方は、git log・git diffで確認してから。git reset --hardは未記録の変更をすべて消すので最後の手段
- パスワードやAPIキーは.gitignoreで除外。誤って記録したら、まずキーを作り直す
- Claude Codeのチェックポイントは手軽な取り消し。長く残るセーブポイントはGitで作る
