Git・GitHub・デプロイ入門【2026】AIエージェントに開発を任せるための土台
AIエージェントに「このページを直しておいて」と頼めば、数分でファイルが書き換わる時代になりました。便利な反面、「AIが何を変えたのか分からない」「壊れたときに元に戻せない」状態で任せるのはとても危険です。この不安を解消する仕組みがGit(ギット)とGitHub(ギットハブ)、そしてデプロイ(公開)の自動化です。IT基礎シリーズの最終章として、「AIに任せても壊れない開発の土台」をやさしく解説します。
- Git=ファイルの「セーブポイント付きタイムマシン」。いつ・誰が・何を変えたかを全部記録し、いつでも過去に戻せる
- GitHub=その記録をネット上で共有・レビューする場所。プルリクエストで「変更を見てからOKを出す」ができる
- デプロイ=作ったものを公開すること。今は「GitHubにpushしたら自動で公開」が当たり前(CI/CD)
- AIエージェントはブランチを切って作業し、プルリクエストを出す。人間は差分をレビューしてマージする。これが「AIに任せても壊れない」仕組み
Gitとは?「セーブポイント付きのタイムマシン」
Git(ギット)は、ファイルの変更履歴を記録・管理するためのソフトウェアです。こうした仕組みをバージョン管理システムと呼びます。難しく聞こえますが、やっていることはゲームの「セーブ」とほぼ同じです。
ゲームで強いボスに挑む前にセーブしておけば、負けてもそこからやり直せますよね。Gitも同じで、作業の区切りごとに「セーブポイント」を作っておけば、あとで「3日前のあの状態に戻したい」「昨日どこを変えたっけ?」がすぐに分かります。しかもGitのセーブは上書きではなく、全部残るのがポイントです。過去のどの時点にも戻れるので「タイムマシン」とも言えます。
Gitが無い世界を想像してみてください。よくあるのが、こんなファイル名の山です。
企画書.docx
企画書_修正.docx
企画書_修正2.docx
企画書_最新.docx
企画書_最新_本当に最新.docx ← どれが正しいの?何を変えたの?Gitを使うと、ファイルは常に1つのまま、「いつ・誰が・どこを・なぜ変えたか」が履歴として整然と残ります。この「なぜ」を記録できる点が、人間同士の共同作業でも、AIエージェントとの共同作業でも非常に重要になります。

5つの基本用語:リポジトリ・コミット・ブランチ・マージ・プルリクエスト
Gitの世界では、独特の用語がたくさん出てきます。まずはこの5つだけ押さえれば、AIエージェントが何をしているかが読めるようになります。
① リポジトリ(repository)=履歴付きのプロジェクトフォルダ
リポジトリは「貯蔵庫」という意味で、Gitで管理されているフォルダのことです。見た目は普通のフォルダですが、中に隠しフォルダ(.git)があり、そこに全ての履歴が保存されています。略して「リポ」「レポ」と呼ぶこともあります。
② コミット(commit)=セーブポイント
コミットは、ある時点のファイルの状態を履歴として確定させる操作です。コミットには必ずメッセージ(「トップページの見出しを修正」など)を付けます。これがあとから履歴を読むときの手がかりになります。1つのコミットは「意味のある1つの変更」にするのがコツです。
③ ブランチ(branch)=パラレルワールド
ブランチは「枝」という意味で、本流とは別の作業用の分岐を作る機能です。本流(通常 main と呼ばれる)を壊さずに、別の世界線で自由に試せます。「新しいデザインを試すブランチ」「記事を追加するブランチ」のように、作業ごとに枝を分けるのが基本です。うまくいかなければ、その枝ごと捨てればいいだけです。
④ マージ(merge)=世界線の合流
マージは、作業ブランチでの変更を本流(main)に取り込む操作です。「試してみて良かったので、正式に採用する」というタイミングで行います。同じ場所を別々に変えているとコンフリクト(衝突)が起き、どちらを採用するか人間が決める必要があります。
⑤ プルリクエスト(Pull Request/PR)=「取り込んでください」の申請書
プルリクエストは、GitHubなどのサービス上で「このブランチの変更をmainに取り込んでもいいですか?」と申請する仕組みです。申請画面では変更前と変更後の差分(diff)が色分けで表示され、他の人がコメントしたり、承認したりできます。サービスによっては「マージリクエスト(MR)」と呼ばれます。
| 用語 | ひとことで | たとえ |
|---|---|---|
| Git | 変更履歴を記録するソフト | セーブ機能付きタイムマシン |
| リポジトリ | Gitで管理されたフォルダ | セーブデータ入りのゲームカセット |
| コミット | 変更を履歴として確定 | セーブポイント |
| ブランチ | 作業用の分岐 | パラレルワールド |
| マージ | 分岐をmainに取り込む | 世界線の合流 |
| プルリクエスト | 取り込みの申請とレビューの場 | 上司への稟議書 |
| 差分(diff) | 変更前後の違い | 赤ペンでの修正箇所 |
| push / pull | GitHubへ送る/GitHubから受け取る | アップロード/ダウンロード |
| main | 本流のブランチ(公開版) | 正式版の原稿 |

最低限の基本コマンド7つ
Gitは、第5章で学んだターミナル(黒い画面)からコマンドで操作するのが基本です。最近はAIエージェントがコマンドを代わりに打ってくれることも多いですが、AIが何をしたのかを読めるように、最低限の7つは意味を知っておきましょう。
# ① このフォルダをGitで管理し始める(最初に1回だけ)
git init
# ② 今の状態を確認する(何が変わった?まだセーブしてない?)
git status
# ③ セーブ対象に加える(. は「全部」の意味)
git add .
# ④ セーブポイントを作る(-m のあとがメッセージ)
git commit -m "トップページの見出しを修正"
# ⑤ 作業用ブランチを新しく作って、そこに移動する
git switch -c fix-heading
# ⑥ GitHubに送る(アップロード)
git push -u origin fix-heading
# ⑦ GitHubの最新をもらってくる(ダウンロード)
git pull1行ずつ意味を見ていきます。
git init:今いるフォルダを「リポジトリ」にします。隠しフォルダ.gitが作られ、ここから履歴の記録が始まります。git status:「どのファイルが変更されたか」「まだコミットしていない変更はあるか」を教えてくれる、いちばんよく使う確認コマンドです。迷ったらまずこれ。git add .:変更したファイルを「次のセーブに含める候補」に入れます(ステージングと言います)。.は「このフォルダ以下すべて」。特定のファイルだけならgit add index.htmlのように書きます。git commit -m "…":候補に入れた変更をセーブポイントとして確定します。メッセージは「何を・なぜ」が分かるように書きます。git switch -c fix-heading:fix-headingという名前のブランチを新しく作り(-cは create)、そこに移ります。古い解説ではgit checkout -bと書かれていることもありますが、意味はほぼ同じです。git push -u origin fix-heading:手元のブランチをGitHub(originは「送り先のリポジトリ」の呼び名)に送ります。-uは「次からはgit pushだけで同じ場所に送る」という設定です。git pull:GitHub側の新しい変更を手元に取り込みます。他の人やAIエージェントが更新した内容を受け取るときに使います。
このほか、履歴を見る git log、変更内容を見る git diff も覚えておくと便利です。特に git diff は「AIがどこを書き換えたか」を確認するときに役立ちます。
add(候補に入れる)→ commit(セーブ)→ push(GitHubへ送る)。この3拍子を覚えれば、日常の作業の大半はこなせます。
GitHubの役割:Gitの「共有倉庫」とレビューの場
Gitは自分のパソコンの中だけでも使えます。ではGitHubは何をするのでしょうか。GitHubは、Gitのリポジトリをインターネット上に置いて、チームで共有するためのサービスです(2018年からMicrosoft傘下)。同様のサービスにGitLabやBitbucketもあります。
GitHubの主な役割は次の4つです。
| 役割 | 何ができる? | AIエージェント時代の意味 |
|---|---|---|
| 共有倉庫 | リポジトリをネット上に保管。PCが壊れても履歴が残る | クラウド上のAIエージェントも同じリポジトリにアクセスできる |
| レビュー | プルリクエストで差分を見て、コメント・承認 | AIの変更を人間がチェックする「関所」になる |
| タスク管理 | Issue(課題)で「やること」を登録・議論 | Issueを渡してAIに作業させる使い方が広がっている |
| 自動化 | GitHub Actionsでテストやデプロイを自動実行 | AIの変更を機械的にチェックしてから公開できる |
つまりGitHubは、「履歴を預ける場所」+「変更を見せ合う会議室」+「自動化の工場」です。無料プランでも個人利用なら十分に使えます(プランの内容は変わることがあるため、執筆時点(2026年9月)の情報として、最新は公式サイトで確認してください)。
.gitignoreで秘密情報を守る
Gitを使い始めたら、真っ先に覚えてほしいのが.gitignore(ギット・イグノア)です。これは「Gitで管理しない(無視する)ファイル」のリストを書いておく設定ファイルです。
なぜ必要なのか。第4章で学んだAPIキーや、第5章の環境変数ファイル(.env)には、パスワード同然の秘密情報が入っています。これをうっかりコミットしてGitHubに上げてしまうと、公開リポジトリなら世界中から見える状態になります。APIキーを自動で探し回るプログラムも存在するため、漏れたキーが悪用されて高額な請求が来る、といった事故が実際に起こり得ます。
# 秘密情報(APIキー・パスワード)は絶対にコミットしない
.env
.env.*
*.key
*.pem
credentials.json
# 自動で作られる不要ファイル
node_modules/
.DS_Store.env、.env.*:環境変数ファイル(.env.localなども含む)。APIキーの置き場所の定番です。*.key、*.pem:*は「何でも」という意味。拡張子が .key や .pem の鍵ファイルをすべて除外します。credentials.json:クラウドサービスの認証情報ファイルによくある名前です。node_modules/:Node.jsの部品置き場。自動で再作成できるうえ巨大なので、管理しません。
.gitignore は「リポジトリを作った最初」に用意するのが鉄則です。

git add . で「全部まとめて」コミットしがちじゃ。だからこそ、.gitignoreという「持ち出し禁止リスト」を最初に置いておくのが大事なんじゃぞ。AIへの指示に「.envはコミットしないこと」と書き添えるのも効果的じゃデプロイとは?CI/CDと「pushしたら自動公開」
デプロイ=作ったものを「お客さんが使える場所」に置くこと
デプロイ(deploy)は「配置する・展開する」という意味で、完成したプログラムやWebサイトを、本番のサーバーに置いて公開することです。自分のパソコンの中で動いているだけでは、誰も見ることができません。第6章で学んだクラウドなどに置いて初めて、インターネット上の人が使えるようになります。
昔は、完成したファイルをFTPという方法で手作業でサーバーにアップロードするのが一般的でした。しかし手作業には「上げ忘れ」「古いファイルで上書き」「どれを上げたか分からない」といったミスがつきものです。
CI/CD=チェックと公開の自動化
そこで登場したのがCI/CDという考え方です。
- CI(Continuous Integration/継続的インテグレーション):変更をpushするたびに、自動でテストやチェックを走らせること。「壊れた変更」を早く見つけられます。
- CD(Continuous Delivery / Deployment/継続的デリバリー・デプロイ):チェックに通った変更を、自動で本番(または本番直前)まで届けること。
これを実現する代表的な道具がGitHub Actionsです。リポジトリに設定ファイル(YAML形式)を置いておくと、「mainにpushされたら、このチェックを実行して、通ったら公開する」といった手順をGitHubが自動で実行してくれます。
name: check
on:
pull_request: # プルリクエストが作られたら動く
jobs:
test:
runs-on: ubuntu-latest # GitHubが用意するLinuxマシンで
steps:
- uses: actions/checkout@v4 # リポジトリを取ってきて
- run: node check.js # チェック用スクリプトを実行細かい書き方は覚えなくて大丈夫です。「いつ(on)」「どこで(runs-on)」「何をするか(steps)」を書く設定ファイルだ、と分かれば十分です。チェック用スクリプトが「問題あり」で終了すると、GitHub上でそのプルリクエストに赤い×印が付き、マージ前に気づけます。
「pushしたら自動公開」のホスティングサービス
Webサイトの場合、さらに手軽な方法があります。Cloudflare PagesやVercel、Netlifyといったホスティングサービスは、GitHubのリポジトリと連携しておくだけで、mainにpushされるたびに自動でビルド・公開してくれます。自分でGitHub Actionsの設定を書かなくても、CI/CDのCD部分がほぼ自動で手に入るイメージです。
多くのサービスでは、main以外のブランチをpushすると「プレビューURL」という確認用の仮公開ページも自動で作ってくれます。「本番に出す前に、実際の見た目を確認する」ことが簡単にできるわけです(機能や無料枠の範囲は執筆時点(2026年9月)の情報です。各公式ドキュメントで最新を確認してください)。

AIエージェントとGit:「AIに任せても壊れない」仕組み
ここまでの知識が、AIエージェント時代にどうつながるのかを見ていきましょう。
2026年現在、Claude Code(Anthropic)、Codex(OpenAI)、GitHub Copilotのコーディングエージェントなど、ファイルを読み書きし、コマンドを実行して開発を進める「コーディングエージェント」が広く使われています。これらのツールの多くは、GitやGitHubと組み合わせて使うことが前提になっています。たとえばGitHub Copilotのコーディングエージェントは、GitHubのIssue(課題)を割り当てると、自分でブランチを作って作業し、プルリクエストを作成する形で動きます。Claude CodeやCodexも、ブランチでの作業やプルリクエストの作成まで任せられます(各ツールの細かな機能は更新が速いため、執筆時点(2026年9月)の情報として公式ドキュメントで確認してください)。
なぜGitがあると「任せても壊れない」のか
理由は、Gitの仕組みがAIの弱点をちょうど補ってくれるからです。AIエージェントは作業が速い一方で、「指示を少し取り違える」「関係ないファイルまで直してしまう」といったミスをゼロにはできません。Gitがあると、こうしたミスに次の3段構えで対処できます。
| Gitの仕組み | AIに任せるときの効果 |
|---|---|
| ブランチ | AIは本番(main)とは別の枝で作業するので、途中で失敗しても公開中のサイトには一切影響しない |
| プルリクエスト+差分 | AIが「どのファイルの・どの行を・どう変えたか」が全部見える。人が確認してからしか本番に入らない |
| コミット履歴 | マージ後に問題が見つかっても、その変更を取り消して(git revert など)元に戻せる |
この流れのポイントは、「AIが書く、人間がハンコを押す」という役割分担です。AIに直接本番を触らせるのではなく、必ずプルリクエストという関所を通す。さらにCI(自動チェック)を組み合わせれば、人間が見落とすようなミスも機械が止めてくれます。
- 変更されたファイルの一覧:頼んだ内容と関係ないファイルが変わっていないか
- 変更の量:「見出しを1つ直して」なのに数百行変わっていたら要注意
- 秘密情報:APIキーやパスワードらしき文字列が入っていないか
- プレビューURL:実際の見た目が意図どおりか
- 自動チェックの結果:緑のチェックが付いているか、赤い×がないか

実例:このサイトの「AIが作業→人が確認→公開」の流れ
AIエージェント研究所は、この章の仕組みそのもので運用しています
いま読んでいるこのサイトは、HTMLとCSSだけでできた静的サイトで、全ページをGitで管理し、GitHubに置いています。記事の追加やデザインの変更は、次の流れで行っています。
- 作業ブランチを切る:AIエージェント(Claude Code)が、mainとは別の作業ブランチを作る
- AIが変更する:記事ファイルの作成・修正、トップページやサイトマップへの登録などをAIが行い、コミットする
- 自動チェックを実行:Node.jsで書いた
build.jsが、全ページ共通のフッター(広告表記を含む)を各ページに流し込む。表記を入れられないページが1つでもあるとエラー(exit 1)で止まり、そのままでは公開に進まない - プルリクエスト:変更内容をプルリクエストにまとめる
- 人が確認してマージ:差分と見た目を人が確認し、問題なければmainにマージ
- Cloudflare Pagesで自動公開:mainの更新をCloudflare Pagesが検知して自動でデプロイ
実際にGitの履歴を数えてみると、2026年9月時点でmainにある25件のコミットすべてに、AIとの共同作業を示す「Co-Authored-By: Claude …」という記録が付いています。件名に「(#5)」のようなプルリクエスト番号が付いたコミットもあり、プルリクエスト経由で取り込まれたことが履歴から追えます。
より詳しい仕組み(build.jsの設計や自動チェックの中身)は、開発者向け記事【自社事例】AIエージェント(Claude Code)でメディアサイトを運用する仕組みで公開しています。
🤖 AIエージェントとやってみよう
ChatGPTやClaudeに、そのまま貼り付けて使えるプロンプト例です。分からない部分はAIに質問しながら進めましょう。
やってみよう①:はじめてのGitを、先生付きで体験する
あなたはGitの先生です。私はプログラミング未経験です。
自分のパソコン(Windows / Mac のどちらかを最初に質問してください)で、
次の流れを1ステップずつ一緒にやりたいです。
1. Gitのインストール確認(git --version)
2. 練習用フォルダを作って git init
3. memo.txt を作って add → commit
4. memo.txt を書き換えて git diff で差分を見る
5. もう一度 commit して git log で履歴を見る
1ステップごとに「打つコマンド」「そのコマンドの意味」「成功したときの画面の例」を示し、
私が結果を貼り付けたら次に進んでください。やってみよう②:安全な .gitignore を作ってもらう
これからAIのAPIキーを使う小さなWebアプリを作り、GitHubで管理します。
使う言語は(Python / Node.js)です。
- APIキーなどの秘密情報を絶対にコミットしないための .gitignore を作ってください
- 各行に「なぜ除外するのか」を初心者向けのコメントで書いてください
- 最後に「うっかりAPIキーをpushしてしまったときの対処手順」を
優先度の高い順に3つ教えてくださいやってみよう③:AIエージェントの変更をレビューする練習
私は非エンジニアですが、AIエージェントが作ったプルリクエストを
レビューする立場になりました。
以下に git diff の結果を貼ります。
1. どのファイルの何が変わったかを、専門用語を使わずに箇条書きで説明してください
2. 「依頼内容:トップページの見出しの誤字を直す」と比べて、
関係なさそうな変更や、気になる点があれば指摘してください
3. 秘密情報(APIキー・パスワードらしき文字列)が含まれていないか確認してください
(ここに git diff の結果を貼る)よくあるつまずきと対処法
| つまずき | 何が起きている? | 対処法 |
|---|---|---|
git push で「rejected」と言われる | GitHub側に、手元にない新しい変更がある | 先に git pull で取り込んでから、もう一度push |
| 「CONFLICT(コンフリクト)」と出た | 同じ箇所を別々に変更していて、Gitがどちらを採用すべきか判断できない | ファイル内の <<<<<<< 〜 >>>>>>> の部分を見て、残す内容を決める。AIに「このコンフリクトの意味を説明して」と聞くのも有効 |
| コミットしたのにGitHubに反映されない | commitは手元のセーブだけ。まだ送っていない | git push を実行する |
| mainで直接作業してしまった | 作業用ブランチを作り忘れた | コミット前なら git switch -c 新ブランチ名 で変更ごと新しいブランチに移れる |
| .envをコミットしてしまった | 秘密情報が履歴に残った | まずキーを無効化・再発行。そのうえで .gitignore に追加し、git rm --cached .env で管理対象から外す |
| pushしたのにサイトが更新されない | 自動デプロイが失敗している、または別ブランチにpushした | ホスティングサービスのデプロイ履歴画面でエラーを確認。mainへの反映かどうかも確認 |

よくある質問
GitとGitHubは何が違うの?
Gitは、ファイルの変更履歴を記録する「道具(ソフトウェア)」で、自分のパソコンの中だけでも動きます。GitHubは、Gitで管理している履歴をインターネット上に置いて、チームやAIエージェントと共有・レビューするための「サービス(場所)」です。Gitがセーブ機能、GitHubがセーブデータを預けて皆で見られるクラウド倉庫、とイメージしてください。
プログラミングをしない人でもGitを覚える意味はある?
あります。AIエージェントに作業を任せるほど、「AIが何を変えたか」を確認し、まずければ元に戻す手段が必要になります。Gitはその確認と巻き戻しの仕組みそのものです。コマンドを全部覚える必要はなく、コミット・ブランチ・プルリクエストの意味と、差分の見方が分かれば十分に役立ちます。
APIキーを間違えてGitHubに上げてしまったらどうする?
まず、そのAPIキーを発行元の管理画面ですぐに無効化(削除)し、新しいキーを発行してください。ファイルを消してコミットし直しても、Gitの履歴には古い内容が残るため、キーを無効化するのが最優先です。そのうえで、.gitignoreに.envなどを追加して再発を防ぎます。
AIエージェントに直接mainブランチを変更させてもいい?
個人の練習用なら問題ありませんが、公開中のサイトや業務システムではおすすめしません。AIには作業用ブランチで変更させ、プルリクエストで差分を人間が確認してからmainにマージする流れにすると、ミスがあっても公開前に止められ、万一のときも元に戻せます。
まとめ|シリーズ完走おめでとうございます
第7章では、AIエージェントに開発を任せるための土台として、Git・GitHub・デプロイを学びました。
- Gitは「セーブポイント付きのタイムマシン」。コミットで履歴を残し、ブランチで安全に試し、マージで取り込む
- GitHubは履歴の共有倉庫で、プルリクエストが「変更を見てからOKを出す」関所になる
- .gitignoreで秘密情報を最初から除外する。漏れたらまずキーを無効化
- CI/CDと「pushしたら自動公開」のホスティングで、チェックと公開を自動化できる
- AIがブランチで作業→PR→人がレビュー→マージ、が「AIに任せても壊れない」仕組み
IT基礎シリーズ全7章で身についたこと
ここまで読み進めてくださった方、本当にお疲れさまでした。全7章を通して、次のような「AIエージェントの全体地図」が手に入ったはずです。
| 章 | 学んだこと | AIエージェントでいうと |
|---|---|---|
| 第1章 Web | ブラウザとサーバーのやりとり・HTTP | すべての通信の土台 |
| 第2章 フロントエンド | HTML・CSS・JavaScript | 人とAIの接点(画面) |
| 第3章 バックエンド | サーバー側の処理・DB・認証 | 司令塔 |
| 第4章 API・JSON | APIキー・リクエスト・レスポンス | 頭脳(AIモデル)と手足(ツール) |
| 第5章 サーバー・Linux | ターミナル・コマンド・環境変数 | 動く場所 |
| 第6章 クラウド | AWS・Google Cloud・Azure・サーバーレス | 借りる・広げる |
| 第7章 Git・デプロイ | バージョン管理・PR・CI/CD | 作る・直す・公開する流れ |
このシリーズのゴールは「全部自分で書けるようになること」ではなく、「AIに指示を出し、結果の正しさを判断し、公開まで持っていける」ことでした。AIが提案した構成の意味が分かり、エラーがどの層の問題か当たりをつけられ、秘密情報を守り、Gitでレビューして公開できる——ここまで来れば、あなたはもうAIエージェントの「現場監督」です。

次のステップとして、Claude Code×広告媒体API連携入門から始まる開発者向けシリーズに進んでみてください。「コードはまだ不安」という方は、全体をもう一度IT基礎ロードマップで振り返ったり、AIエージェントとは?で仕組みを復習したりするのもおすすめです。
基礎を身につけたら、次は「仕事」につなげる
独学で進めるのも十分可能ですが、「最短で実務レベルにしたい」「転職・副業につなげたい」なら、次の記事も参考にしてください。
- AIスキル・プログラミングが学べるオンラインスクール比較8選【2026】:独学で詰まる前に。給付金の対象コースで費用を抑える方法も
- AIで独立するには?未経験から案件を取る6ステップ【2026】:自動化・開発スキルを案件にする。フリーランスエージェントの選び方も