Claude Codeのクラウド環境編:gitとGitHubを、実際に動かして理解する。
🎯 終わると分かること
- ✓記録(コミット)を積む → 過去に戻す → 最新に戻す、を実際にやった
- ✓ブランチを分ける → 合流(マージ)→ わざと衝突(コンフリクト)→ GitHubのPRでMerge、まで手を動かした
- ✓記録してない変更は戻せない/DBはGitHubの外で守られない、を実験で確認した
ステップ 1 / 3
ステップ1:記録して、過去に戻って、最新に戻る
⏱ 約10分グレー表示=完了済み。読み直しはこのままどうぞ
💡
これで何がラクになる? = AIの作業はぜんぶ記録(コミット)で巻き戻せる。——1回やれば、安心して任せられる。
☝️ 貼り先=Claude Codeクラウド(claude.ai/code)の新しいセッション。この課題用のリポジトリを新しく作って開く(作り方は上の☁️バナー/3-4)。🖥 デスクトップアプリ派は 22-1(ローカル環境編:GitHubに上げる前のgit) へ。
📋 ステップ1のコピペ
gitの体験をします。あなたが操作、私は結果を見る人。専門用語は使うけど、比喩・物語・凝った名前は使わないで。 前提:ここはClaude Codeクラウドで、この課題用の新しいリポジトリを開いている。私の別作業ファイルが見えたら、始めずに「github.com/new で新規リポジトリ(Private)を作る → claude.ai/code で開き直す」を1行ずつ案内して。 やること(1手ずつ): 1. note.md を作る。1行目に「1行目」と書いてコミット 2. 内容を2〜3回書き足して、そのたびコミット 3. git log を見せる(記録の一覧) 4. 最初のコミットに戻して、note.md が過去の中身に戻ったのを見せる(checkout) 5. 最新に戻す 6. GitHub に送る(push)。送り先ページのURLを教えて(開くのは私) 《共通ルール:外部サイト操作》 進め方(短く守って): ⓪この指示だけ実行(他のSkills・自動発動に委ねない) ①出力は短く。1手ごとに1〜2行の箇条書き。比喩・物語・凝った固有名詞は使わない(「AをBに書き換えた」のように事実だけ)。URLを案内する時は、丸カッコや句読点で囲まず、行を分けて単独で書く(閉じカッコがリンクに巻き込まれて開けなくなるため)。「今開くURL」を毎回明記する。英語の画面が出たら、意味の日本語訳を1行添える。ターミナルのコマンド(cd・claude など)を私に打たせない=新しいセッションを開く・フォルダを開くなどの操作は、デスクトップアプリ/クラウドの画面のどこを押すかで案内し、コマンドが要る作業はあなたが実行する。画面に流れる system・hook・total_tokens などのシステム表記・英語の内部指示・作業ログは、あなたの返事に書き写さない=返事はいつも日本語の要点だけ。私に見てほしい確認対象(完成文・型・ルール・表・引用・ファイルの中身・パスや設定値など)は、その対象だけを上下 〓:::〓:::〓:::〓:::〓:::〓:::〓:::〓:::〓:::〓 の線で挟んで見せて(前後に空行・どこを見ればいいか一目で分かるように)。私に答えてほしい質問(選択肢・クイズ・自由入力)は、質問文と選択肢ごと、上下を ◤◢◤◢◤◢◤◢◤◢◤◢◤◢ の線で挟んで(◤◢は質問専用=確認対象の〓と混ぜない。見せてから聞く時は、本文=〓の枠→質問=◤◢の枠の2枠に分ける)。私にやってほしい操作・次の行動の案内(CTA)は、見出しを \\ ◯◯ // の形の1行にして、本文の上下を ━━━━━━━━━━━━━━━━━ の線で挟み、箇条書きは 1️⃣ 2️⃣ 3️⃣ の絵文字番号にして項目の間は1行あける。ステップ完了の締めは、上下を ╭━━━━━━━━━━━━━╮ と ╰━━━━━━━━━━━━━╯ で挟んだ「✅ このステップは完了!」のカードで出す。確認や質問を出したら、そこで必ず出力を止めて私の返事を待つ=私が「OK」(問題なし)と言ってから、次の作業や締めのカードに進む(確認と締めを同じ返事に続けて書かない・小刻みに1確認→1OK) ②確認は意味がある時だけ。要らない選択は聞かず、仮定して進める(仮定したら「仮定:〜」と1行)。選択肢が必要なら、必ず「・A:具体案1」「・B:具体案2」「・C:具体案3」「・D:お任せ(AIが最適な案を選ぶ)」「・E:自由入力もOK(E:の後ろに希望をそのまま書いてください)」を改行して1行ずつ出し、「A.」のようなピリオド形式は使わない。質問の前に「これから何をするか・この質問で何が決まるか」を1〜2行で説明してから聞く ③枝分かれ等はテキスト図で(例: main ─A─B─C) ④正式名称(commit / branch / merge / push…)は初出だけ1語そえる ⑤報告は全画面スクショだけでOK(各ステップの最後に1枚だけ・つまずいた時だけ都度。「できた」の言葉は不要。スクショが来たら報告として扱う。撮り方=Mac ⌘⇧3/Win PrtScn → チャットに ⌘V) ⑥終わったら最後にこれだけ出す: ✅ ステップ1おわり(記録→過去に戻る→最新→GitHubへ) 次:課題ページで「✅ このステップの記録と巻き戻しが終わった!」を押す → ステップ2のコピペを貼る
🏃 貼るだけ
AIが実行、あなたはスクショを撮って貼るだけ。
過去に戻って、最新に戻れたらクリア。
過去に戻って、最新に戻れたらクリア。

⏳
途中でやめてOK。同じチャットで「続きから」と言えば再開できます。触るのはこの課題用リポジトリの中だけ。
押すとこのカードが「済み」になり、進捗バーが進みます
ステップ 2 / 3
ステップ2:ブランチを分ける → 合流 → 衝突 → PRでMerge
⏱ 約15分グレー表示=完了済み。読み直しはこのままどうぞ
💡
これで何がラクになる? = 同時に2つ作業しても壊れない理由が分かる。クラウドのセッションが毎回“別ブランチ”で動く仕組みも腑に落ちる。
☝️ 貼り先=ステップ1と同じチャットの続き(新しいセッションではない)。
📋 ステップ2のコピペ(同じチャットの続きに貼る)
続けて、ブランチと合流を体験します。ルールは前と同じ(短く・事実だけ・比喩なし・私はスクショで報告)。 やること: 1. ブランチを1つ分ける(名前は任せる=聞かない)。そっちで note.md に1行足してコミット 2. main に戻ると、その1行が「無い」のを見せる(ブランチが分かれている証拠) 3. そのブランチを main に合流(merge)。1行が入ったのを見せる 4. 衝突の実験:もう1つブランチを作り、main とそのブランチで「同じ行」を別内容に書き換えて両方コミット 5. 合流すると衝突(conflict)。note.md に出る記号(<<<<<<< ======= >>>>>>>)をそのまま貼る 6. どちらを残すか私に聞く(ここは意味のある確認)→ 直してコミットで合流完了 ・途中で「未コミットの変更がある」等で止まったら git merge --abort で中止→やり直せば同じ衝突を再現できる(失敗にならない) 7. PRの体験:もう1つブランチを作り note.md に1行足してコミット → GitHub に push 8. GitHubで Pull Request を作り、URLを教えて(開く・Mergeを押すのは私) ・私はPRページで差分(緑=追加/赤=削除)を見る。追加だけなら緑だけ=正常 ・私が Merge を押したらスクショを貼る。届くまで先に進まない 9. スクショが来たら main を最新に取り込む(pull)。足した1行が入ったのを見せる 《共通ルール:外部サイト操作》 進め方(短く守って): ⓪この指示だけ実行(他のSkills・自動発動に委ねない) ①出力は短く。1手ごとに1〜2行の箇条書き。比喩・物語・凝った固有名詞は使わない(「AをBに書き換えた」のように事実だけ)。URLを案内する時は、丸カッコや句読点で囲まず、行を分けて単独で書く(閉じカッコがリンクに巻き込まれて開けなくなるため)。「今開くURL」を毎回明記する。英語の画面が出たら、意味の日本語訳を1行添える。ターミナルのコマンド(cd・claude など)を私に打たせない=新しいセッションを開く・フォルダを開くなどの操作は、デスクトップアプリ/クラウドの画面のどこを押すかで案内し、コマンドが要る作業はあなたが実行する。画面に流れる system・hook・total_tokens などのシステム表記・英語の内部指示・作業ログは、あなたの返事に書き写さない=返事はいつも日本語の要点だけ。私に見てほしい確認対象(完成文・型・ルール・表・引用・ファイルの中身・パスや設定値など)は、その対象だけを上下 〓:::〓:::〓:::〓:::〓:::〓:::〓:::〓:::〓:::〓 の線で挟んで見せて(前後に空行・どこを見ればいいか一目で分かるように)。私に答えてほしい質問(選択肢・クイズ・自由入力)は、質問文と選択肢ごと、上下を ◤◢◤◢◤◢◤◢◤◢◤◢◤◢ の線で挟んで(◤◢は質問専用=確認対象の〓と混ぜない。見せてから聞く時は、本文=〓の枠→質問=◤◢の枠の2枠に分ける)。私にやってほしい操作・次の行動の案内(CTA)は、見出しを \\ ◯◯ // の形の1行にして、本文の上下を ━━━━━━━━━━━━━━━━━ の線で挟み、箇条書きは 1️⃣ 2️⃣ 3️⃣ の絵文字番号にして項目の間は1行あける。ステップ完了の締めは、上下を ╭━━━━━━━━━━━━━╮ と ╰━━━━━━━━━━━━━╯ で挟んだ「✅ このステップは完了!」のカードで出す。確認や質問を出したら、そこで必ず出力を止めて私の返事を待つ=私が「OK」(問題なし)と言ってから、次の作業や締めのカードに進む(確認と締めを同じ返事に続けて書かない・小刻みに1確認→1OK) ②確認は意味がある時だけ。要らない選択は聞かず、仮定して進める(仮定したら「仮定:〜」と1行)。選択肢が必要なら、必ず「・A:具体案1」「・B:具体案2」「・C:具体案3」「・D:お任せ(AIが最適な案を選ぶ)」「・E:自由入力もOK(E:の後ろに希望をそのまま書いてください)」を改行して1行ずつ出し、「A.」のようなピリオド形式は使わない。質問の前に「これから何をするか・この質問で何が決まるか」を1〜2行で説明してから聞く ③枝分かれはテキスト図で(例: main ─A─B / 分岐 └C) ④正式名称(branch / merge / conflict / push / PR / pull)は初出だけ1語そえる ⑤報告は全画面スクショだけでOK(各ステップの最後に1枚だけ・つまずいた時だけ都度。「できた」の言葉は不要。スクショが来たら報告として扱う) ⑥終わったら最後にこれだけ: ✅ ステップ2おわり(分岐→合流→衝突→PRでMerge) 次:課題ページで「✅ このステップのブランチと合流とPRが終わった!」を押す → ステップ3のコピペを貼る
🏃 分岐 → 合流 → 衝突 → PR
Mergeボタンは自分で押す。
<<<<<<< の記号と、PRの差分ページの両方を見ればクリア。
<<<<<<< の記号と、PRの差分ページの両方を見ればクリア。


🧭
衝突(コンフリクト)は事故じゃない。gitは勝手に消さず「ここが食い違う」と止めて2つ並べ、どっち?と聞く仕組み。1回自分で起こして直せば、もう怖くない。
押すとこのカードが「済み」になり、進捗バーが進みます
⚙️ 補足:pushしただけでPRが勝手にできてる?(Claude Codeの設定) ▾ 開く
自分で頼んでいないPRがもうできていても、壊れていない。Claude Codeの設定がそうなっているだけ。

- ブランチ名が
claude/…で始まる =「ブランチプレフィックス」(ローカル・クラウド共通) - push しただけで PR ができている =「プルリクエストを自動的に作成する」がON(クラウドのセッションだけ)
- そのPRに「Draft」と付いている =「ドラフトとして作成」がON。Mergeするには、PRページで「Ready for review」を押してから
- PRにClaudeがコメントや直しを入れている =「プルリクエストの自動修正」がON
- Mergeやクローズの後、デスクトップのセッションが自動で片付く =「自動アーカイブ」がON
🔎
ステップ2でAIに「もうPRができています」と言われたら、新しく作らずそれを使えばOK。この設定は Claude Code の設定画面の「プルリクエスト」の節で自分で変えられる。ON/OFFは人によって違う=勝手にPRができない人はOFFなだけ(どちらでも課題は進む)。
ステップ 3 / 3
ステップ3:戻せる削除・戻せない削除(+DBの話)
⏱ 約8分グレー表示=完了済み。読み直しはこのままどうぞ
💡
これで何がラクになる? = 「gitがあれば何でも戻せる」は半分ウソ。戻せる物と戻せない物の境界を1回見ておくと、本番で事故らない。
☝️ 貼り先=同じチャットの続き。
📋 ステップ3のコピペ(同じチャットの続きに貼る)
続けて、破壊の実験を2つ。実験はこの課題で作ったファイルだけでやること。 やること: 1. コミット済みの note.md をわざと削除 → git restore で元通りに戻す(記録済みは戻せる) 2. memo.txt を作って1行書く。今回はコミットしない → 削除 → 戻そうとしても戻せないのを見せる(記録してない物は戻せない) 3. 3〜4行で短く教えて(正式名称つき): ・本番のWebサービスにはデータベース(DB)=お客さんのデータがある ・DBは GitHub の外=git や PR では戻せない ・GitHubに入るのは「DBをこう変える指示書」=マイグレーションだけ ・DB本体はバックアップで守る 4. 理解チェック(合格するまで✉️次の人への置き手紙は出さない):この課題の内容から、選択式(A/B/C。各選択肢は必ず「・A:」「・B:」「・C:」を改行し、「A.」形式は使わない)のクイズを2問→自由記述1問、1問ずつ(1問ごとに出力を止めて私の答えを待つ=私の答えを自分で書かない・私の回答が届く前に採点しない)。問題文や選択肢に答えがそのまま分かる文を書き写さない=答えは私が自分で考えて書くもの。選択式の正解の位置は、毎回A/B/Cにランダムに散らして(いつもAを正解にしない)。100点満点で採点し点数と理由を短く。70点以上で合格→✉️次の人への置き手紙へ。70点未満は間違いを短く解説して別問題でもう一度(何回でも)。このクイズの選択肢に「お任せ」は付けない。クイズでコマンド名の暗記は問わないで(コマンドは覚えなくていい・打つのはAIなので)。出すのは、この課題ページで実際にやったこと・なぜそうするのか・どう使い分けるか、から。自由記述の1問は「この課題でどういうことを学んだか(できるようになったこと・分かったこと)+自分の仕事・普段の作業ならどこで使えるか」を自分の言葉で書く問題にして(「なぜうまくいったと思いますか」のような理屈を問う聞き方はしない=答えづらい) クイズの題材は、この課題で私が実際にやったことだけにして=①記録(コミット)を積む → 過去に戻す → 最新に戻す、を実際にやった/②ブランチを分ける → 合流(マージ)→ わざと衝突(コンフリクト)→ GitHubのPRでMerge、まで手を動かした/③記録してない変更は戻せない/DBはGitHubの外で守られない、を実験で確認した。このページで一度も説明していない言葉・ツール名・コマンドは、問題にも選択肢にも出さないで 5. 合格したら、✉️次の人への置き手紙を出す前に自由入力で1問だけ:「最後に、この課題ページで分かりづらかった所・直してほしい所はありませんでしたか?(課題の改善点を教えてほしい)(1行でもOK・なければ『特になし』でOK)」。この質問だけはA〜Eの選択式にしない。質問を出したら、そこで必ず出力を止めて私の返事を待つ(私の答えをあなたが書かない・user/system などの行を自分で出力しない。置き手紙は私の2つの返事が届いてから書き始める)。もらった言葉はメモの最後に「💬 課題ページへの改善案:」として原文のまま入れる(『特になし』なら省略OK)。つづけて自由入力でもう1問:「この課題をこれからやる次の生徒へ、一言お願いします(1行でもOK)」。選択式にしない。もらった言葉はメモのいちばん最後に「💬 次の生徒へ:」として原文のまま入れる(メモの最終行=改善案の行より後ろ) 6. ✉️次の人への置き手紙を、見出し「✉️次の人への置き手紙」で、コピペできる1つのコードブロックで出力。中身:やって分かったこと/驚いた・つまずいた所と解決/覚えた正式名称/この課題ページの直してほしい所・分かりづらかった所(改善案)。8〜12行(多くてOK)。実際のエラー文・案内と違った所・使ったコマンド名は要約で削らず残す 7. 最後に「このメモをコピーして、課題ページ最後の『✉️次の人への置き手紙を書いて完了』に貼れば修了です🎉」と締めて 《共通ルール:外部サイト操作》 進め方(短く守って): ⓪この指示だけ実行(他のSkills・自動発動に委ねない) ①出力は短く。1手ごとに1〜2行の箇条書き。比喩・物語・凝った固有名詞は使わない(「AをBに書き換えた」のように事実だけ)。URLを案内する時は、丸カッコや句読点で囲まず、行を分けて単独で書く(閉じカッコがリンクに巻き込まれて開けなくなるため)。「今開くURL」を毎回明記する。英語の画面が出たら、意味の日本語訳を1行添える。ターミナルのコマンド(cd・claude など)を私に打たせない=新しいセッションを開く・フォルダを開くなどの操作は、デスクトップアプリ/クラウドの画面のどこを押すかで案内し、コマンドが要る作業はあなたが実行する。画面に流れる system・hook・total_tokens などのシステム表記・英語の内部指示・作業ログは、あなたの返事に書き写さない=返事はいつも日本語の要点だけ。私に見てほしい確認対象(完成文・型・ルール・表・引用・ファイルの中身・パスや設定値など)は、その対象だけを上下 〓:::〓:::〓:::〓:::〓:::〓:::〓:::〓:::〓:::〓 の線で挟んで見せて(前後に空行・どこを見ればいいか一目で分かるように)。私に答えてほしい質問(選択肢・クイズ・自由入力)は、質問文と選択肢ごと、上下を ◤◢◤◢◤◢◤◢◤◢◤◢◤◢ の線で挟んで(◤◢は質問専用=確認対象の〓と混ぜない。見せてから聞く時は、本文=〓の枠→質問=◤◢の枠の2枠に分ける)。私にやってほしい操作・次の行動の案内(CTA)は、見出しを \\ ◯◯ // の形の1行にして、本文の上下を ━━━━━━━━━━━━━━━━━ の線で挟み、箇条書きは 1️⃣ 2️⃣ 3️⃣ の絵文字番号にして項目の間は1行あける。ステップ完了の締めは、上下を ╭━━━━━━━━━━━━━╮ と ╰━━━━━━━━━━━━━╯ で挟んだ「✅ このステップは完了!」のカードで出す。確認や質問を出したら、そこで必ず出力を止めて私の返事を待つ=私が「OK」(問題なし)と言ってから、次の作業や締めのカードに進む(確認と締めを同じ返事に続けて書かない・小刻みに1確認→1OK) ②確認は意味がある時だけ。要らない選択は聞かず、仮定して進める(仮定したら「仮定:〜」と1行)。選択肢が必要なら、必ず「・A:具体案1」「・B:具体案2」「・C:具体案3」「・D:お任せ(AIが最適な案を選ぶ)」「・E:自由入力もOK(E:の後ろに希望をそのまま書いてください)」を改行して1行ずつ出し、「A.」のようなピリオド形式は使わない。質問の前に「これから何をするか・この質問で何が決まるか」を1〜2行で説明してから聞く ③図が要ればテキストで ④正式名称(restore / database / migration)は初出だけ1語そえる ⑤報告は全画面スクショだけでOK(各ステップの最後に1枚だけ・つまずいた時だけ都度。「できた」の言葉は不要。スクショが来たら報告として扱う)
🏃 戻せる削除・戻せない削除
1回ずつやって、違いを見る。
「戻せた」と「戻せなかった」の両方を見ればクリア。あとは✉️次の人への置き手紙を投稿して修了!
「戻せた」と「戻せなかった」の両方を見ればクリア。あとは✉️次の人への置き手紙を投稿して修了!

🧪
破壊の実験は、この課題で作ったファイルだけ。自分の大事なファイルでは試さない。
あとは下の✉️次の人への置き手紙を投稿すれば修了です
✉️次の人への置き手紙を投稿して修了 🏅
最終章の終幕で「✉️次の人への置き手紙」が出ます。
それを下に貼って投稿 → 修了🎉
📥 皆の✉️次の人への置き手紙(git編) ● 共有
公開掲示板です(みんな&運営が読めます)。個人情報・秘密は書かない。
🧠 理解まとめ(読むのは最後でOK) ▾ 開く
22-3の本質:読むだけにしない=全部1回、本当に動かした。
| 用語 | 意味(1行) |
|---|---|
| リポジトリ | gitで管理された場所(この課題用の1つ) |
| コミット(commit) | その瞬間の全ファイルの記録。ログに並ぶ1つ1つ=戻れる地点 |
| git log | コミットの一覧(いつ・何を記録したか) |
| チェックアウト(checkout) | 過去のコミットの状態に戻す |
| ブランチ(branch) | 同じリポジトリから枝分かれした、もう1本の作業線 |
| マージ(merge) | ブランチの変更を1つに合わせる |
| コンフリクト(conflict) | 同じ行を別々に変えた時、どちらか選ぶまで合流を止める仕組み |
| GitHub | クラウドの保管場所。送る=push/取り込む=pull |
| プルリクエスト(PR) | 「このブランチを合流させたい」の申請。差分(緑=追加/赤=削除)を見てMerge |
| git restore | 記録済みの状態まで戻す |
| 未コミットの変更 | 記録していない=gitでは戻せない |
| DB / マイグレーション | お客さんのデータはGitHubの外。入るのは変更指示書だけ |
🧩
コミット=「保存」と別。保存(⌘S)=ディスクに書くだけ/コミット=gitの歴史に記録。だから「保存したけど未コミット」が起きる。コミットは動作でもあり、“記録の塊”(ログに並ぶ1個)でもある。区切りごとに小さくこまめに。
🔗
commit → push → PR → merge の順(PRは“push”じゃない)。
・commit=手元で、今いるブランチに記録
・push=そのブランチを GitHub に載せる(← コミットを GitHub に載せるのはこれ)
・PR=「このブランチを main に合流させて」という提案(差分を見せる。ブランチ間)
・merge=提案を承認して実際に合流(GitHubのMergeボタン/手元の
PRとmergeは「提案」と「実行」の関係。手元で完結する合流(PRなし)はデスクトップ版 22-1 で体験できます。
・commit=手元で、今いるブランチに記録
・push=そのブランチを GitHub に載せる(← コミットを GitHub に載せるのはこれ)
・PR=「このブランチを main に合流させて」という提案(差分を見せる。ブランチ間)
・merge=提案を承認して実際に合流(GitHubのMergeボタン/手元の
git merge でも可)PRとmergeは「提案」と「実行」の関係。手元で完結する合流(PRなし)はデスクトップ版 22-1 で体験できます。
⚠️
クラウドは commit だけでなく push まで。セッションは使い捨て。未コミット=終了で消える/コミットだけで push してない=別セッションや本番に無く、消え得る。
+◯−◯/「PRを作成」が出る=GitHubに届いた合図。🔎
状態を目で読む:
+◯−◯/「PRを作成」/差分が出てる=main へ未反映のコミットがある(未合流)。消えて出ない=合流済み・最新。※未コミットの手元変更は差分に出ない(git status で見る)。デスクトップ版 22-1 のワークツリーでも同じ考え方。❓
よくあるつまずき
・止まった → 同じチャットで「続きから」
・衝突で英語
・「未コミットの変更がある」で止まった → merge --abort → やり直せば同じ衝突を再現
・戻せない削除で
・分からない言葉 → その場でAIに聞けば1分
・止まった → 同じチャットで「続きから」
・衝突で英語
CONFLICT (content): Merge conflict in … → 故障でなく成功サイン・「未コミットの変更がある」で止まった → merge --abort → やり直せば同じ衝突を再現
・戻せない削除で
error: pathspec … did not match any file(s) → 記録してない証拠・分からない言葉 → その場でAIに聞けば1分
📖
大人向け解説 = 複数セッション並行運用チートシート。
✅ 決め手は全部1回、本当に動かしたこと。分かった気で終わらせない
🗑 捨てたもの:コマンドの暗記(打つのはAI)。持ち帰るのは用語と仕組みの地図
🏅
修了:gitとGitHubを実際に動かせる人
上の掲示板に投稿すると、ここで修了バッジが解放されます。