Lecture 15Gitの基本とバージョン管理
変更履歴を安全に管理するためのGitの基本用語を理解します。
Lecture 02 でGitをインストールしましたが、ここからは 使い方 に踏み込みます。 ややこしい用語はたくさんありますが、最初に押さえるのは commit、branch、diff の3つだけ。 全部 ゲームのセーブ機能 に例えれば、するっと頭に入ります。
このレクチャーでは、3つの用語の意味と、AI開発のときに 非エンジニアこそGitを使うべき理由 を整理します。
1commit = セーブポイント
commit は ゲームのセーブポイント です。 「ここまで進めた状態」を1つのまとまりとして記録します。 後から「あのセーブまで戻りたい」と思ったときに、ここに戻れます。
commitには 必ずメッセージ をつけます。 「何を変えたか」「なぜ変えたか」を1〜2行で残しておく。 これは 未来の自分への手紙 です。3か月後の自分が読んだとき、判断できる文章になっていれば合格です。
- 悪い例:
fix、update(何をしたか分からない) - 良い例:
サイドバーのレクチャー番号がズレるバグを修正 - Codexはメッセージも書いてくれます。一緒に内容を確認するクセをつけます。
2branch = 並行プレイの作業ライン
branch(ブランチ)は、本線とは別の作業ライン を作る仕組みです。 ゲームで言うなら、本編のセーブデータを汚さずに「別ファイルで実験プレイをする」ようなものです。
AI開発では特に効きます。 AIに大きな変更を任せるとき、本線(main)から枝分かれしたbranchで作業すれば、 うまくいかなくても 本線は無傷のまま。実験的な依頼を出しやすくなります。
- 本線(
main):いつでも公開できる、安定した状態。 - 作業branch(例:
feature/sidebar):新機能を試す場所。完成したら本線に合流(マージ)させる。 - 失敗したらbranchごと捨ててOK。本線には傷がつかない。
3diff = 変更前後の差分
diff(ディフ)は 変更前と変更後の差 を見せてくれる機能です。 赤字=消えた行、緑字=追加された行、と色分けされています。
AIに何かを任せた直後は、必ずdiffを見てください。非エンジニアこそ、diffを見るクセが守りになる からです。 関係ないファイルが変わっていないか、消えてはいけない行が消えていないか、を一目でチェックできます。

4GitHubを使った基本の開発フロー
ハンズオンでは、GitとGitHubを次の流れで使います。 最初はコマンドを覚える必要はありません。いま自分がどの段階にいるかを説明できればOKです。
- Clone:GitHubのリポジトリを自分のPCへ持ってくる。
- Branchを作る:
mainから分かれた作業場所を作る。 - 変更する:Codexに実装や修正を依頼する。
- Diffを見る:何が変わったかを確認する。
- Commitする:問題ない変更をセーブポイントとして保存する。
- Pushする:自分のPCにあるcommitをGitHubへ送る。
- Pull Requestを作る:mainへ入れてよいか、チームで確認する。
mainには直接作業しない
main は「いつでも公開できる本線」として扱います。 何かを直すときは、まずbranchを作り、そのbranchでCodexに作業してもらいましょう。 これだけで、失敗しても本線に影響しにくくなります。
5AI開発でこそGitが効く
AIは速く、たくさん変更します。だからこそ 巻き戻せる安心感 がないと、 大胆な依頼ができません。Gitは、その安心感そのものです。
- commitしてから依頼する:直前の状態に戻れるようにしておく。
- 大きな変更はbranchで:失敗したらbranchを捨てれば終わり。
- 依頼直後はdiffを見る:関係ない変更が混ざっていないかチェック。
AIに任せたら、すぐ git diff を見る
Codexの返答が「完了しました」と返ってきても、すぐコミットせず、 まず 「変更されたファイルを diff で見せてください」 と頼みましょう。 意図しない変更があれば、その場で取り消せます。 この一手間が 事故を激減 させます。
現在のGit状態をCodexに説明してもらう
まずはdiffの読み方に慣れます。何かを変更した直後に、Codexに 翻訳役 をしてもらうのが近道です。
- 「現在のGit状態を確認して、変更されたファイルと変更内容を初心者向けに説明してください」とCodexに依頼する。
- 返答の中で「赤字=消えた行」「緑字=追加された行」が読み取れるかを確認する。
- 問題なければ「コミットメッセージを提案してください」と続けて依頼し、内容を確認してからコミットする。
6理解確認チェックリスト
- commit はセーブポイント、メッセージは未来の自分への手紙だと理解している。
- branch は本線を汚さない作業ラインだと説明できる。
- diff は変更前後の差分で、AIの変更後に必ず見るクセがついている。
- Clone、branch、diff、commit、push、Pull Requestの順番を大まかに説明できる。