中級・gitとGitHubの理解 22-1
最後に✉️次の人への置き手紙を投稿すると修了 🎁
中級・gitとGitHubの理解 22-1 / Claude Codeのローカル環境編:GitHubに上げる前のgit(ワークツリーあり/なし)を実際に動かして理解する(デスクトップアプリ専用)

Claude Codeのローカル環境編:GitHubに上げる前のgitを、実際に動かして理解する(ワークツリーあり/なし)。

流れ:実験用フォルダを作る → ワークツリーなしで同じnote.mdを取り合い上書き事故 → ワークツリーありで安全に並行作業

🎯 終わると分かること

  • ✓同じフォルダを2つのセッションで同時に書き換えると、あとから保存した方が黙って勝つ(=片方が消える)のを自分の目で見た
  • ✓ワークツリー(別フォルダの作業場)を作ると、同時に書いても消えないことを確認した
  • ✓分かれた作業を合流(マージ)して1つに戻し、ワークツリーの片付けまでやった
ステップ 1 / 3

ステップ1:実験用のフォルダを作る

⏱ 約8分
グレー表示=完了済み。読み直しはこのままどうぞ
ステップ1:実験用のフォルダを作る の流れ図解
🖥 この課題はデスクトップアプリ専用(クラウドではやらない・リポジトリの準備も不要)。貼り先=デスクトップアプリの新しいセッション(いつものフォルダでOK)。☁️ クラウド派には 22-3(クラウド環境編:gitとGitHubを動かす) へ。
📋 ステップ1のコピペ(あなた=セッションA)
デスクトップでgitの実験をします。あなたが操作、私は結果を見る人。あなたは「セッションA」。専門用語は使うけど、比喩・物語・凝った名前は使わないで。

目的:同じフォルダを2つのセッションで同時に触ると何が起きるか(実験A)と、ワークツリーを使うと何が変わるか(実験B)を、私が自分の目で見ること。

やること:
1. いま開いているフォルダの中に、実験用の新しいフォルダ gitdesk を作り、gitで初期化(リポジトリにする)。操作は gitdesk と、あとで作る gitdesk-b の外に出さない
2. note.md を作り、1行目に「本体」と書いてコミット
3. 現在地を3行で:gitdesk のパス/リポジトリか/コミット数。このパスは次でセッションBが同じファイルを触る目印

《共通ルール:外部サイト操作》

進め方(短く守って):
⓪この指示だけ実行(他の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行で説明してから聞く
③図が要ればテキストで
④正式名称(repository / commit)は初出だけ1語そえる
⑤報告は全画面スクショだけでOK(各ステップの最後に1枚だけ・つまずいた時だけ都度。「できた」の言葉は不要。スクショが来たら報告として扱う。撮り方=Mac ⌘⇧3/Win PrtScn → チャットに ⌘V)
⑥終わったら最後にこれだけ:
✅ ステップ1おわり(実験用フォルダを作った)
次:課題ページで「✅ このステップのフォルダ作成が終わった!」を押す → ステップ2のコピペを貼る
💡
これで何がラクになる? = 実験の舞台は専用フォルダ1個だけ。大事なファイルと別なので、事故の再現も安心して試せる。
🏃 貼るだけ フォルダ作りもgit初期化も、ぜんぶAIがやる。
「gitdeskができて、コミットが1つある」と言えればクリア。
gitdeskフォルダが作られ、note.mdの最初のコミットができた画面
📷 実スクショ:gitdesk フォルダができて、note.md の最初のコミットができた画面が入ります
🧪
触るのは gitdesk と gitdesk-b の2フォルダだけ。他の作業には触りません(コピペで指示済み)。終わったら「gitdeskとgitdesk-bを削除して」で丸ごと片付けOK。
押すとこのカードが「済み」になり、進捗バーが進みます
ステップ 2 / 3

ステップ2:実験A=同じファイルを2つのセッションで取り合う

⏱ 約12分
グレー表示=完了済み。読み直しはこのままどうぞ
ステップ2:実験A=同じファイルを2つのセッションで取り合う の流れ図解
☝️ 貼り先=2つのセッションを使います:まず下のコピペをセッションA(ステップ1の続き)に。途中で新しく開くセッションB用のコピペも下に別で用意してあります。
📋 ステップ2のコピペ①(セッションAの続きに貼る)
実験A「ワークツリーなしで、2つのセッションが同じファイルを触るとどうなるか」。あなたは引き続きセッションA。場所は gitdesk フォルダ。ルールは前と同じ(短く・事実だけ・比喩なし・私はスクショで報告)。

やること:
1. gitdesk/note.md の1行目を「Aが書いた」に書き換えて保存(今回はコミットしない)。中身を見せて
2. ここで止まる:私が別セッション(B)を開いて同じ note.md を別内容に書き換える。私がBの全画面スクショを貼るまで進まない
3. スクショが来たら note.md の中身を見せる。1行目がAでなくBになっている=あとから保存した方が黙って勝った。理由を2〜3行(同じ1つの実ファイルを共有・コミットしてない変更はgitが守れない)
4. いまの状態を「実験Aの結果」としてコミットし、git log を見せる

《共通ルール:外部サイト操作》

進め方(短く守って):
⓪この指示だけ実行(他の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行で説明してから聞く
③図が要ればテキストで
④正式名称(commit / git log)は初出だけ1語そえる
⑤報告は全画面スクショだけでOK(各ステップの最後に1枚だけ・つまずいた時だけ都度。「できた」の言葉は不要。スクショが来たら報告として扱う)
⑥終わったら最後にこれだけ:
✅ ステップ2おわり(上書き事故を再現)
次:課題ページで「✅ このステップの上書き事故の再現が終わった!」を押す → ステップ3のコピペを貼る
💡
これで何がラクになる? = 「複数セッションで作業したら片方が黙って消えた」の正体がこれ。安全な実験台で1回見れば、本番で同じ事故を起こさない。
▶ 途中でやること(セッションBを開く・押すのはあなた)
  1. デスクトップアプリで新しいセッションをもう1つ開く(フォルダは同じでOK)=これがセッションB
  2. 下のセッションB専用のコピペを貼る
  3. Bが書き換え終わったら全画面スクショ(Mac ⌘⇧3/Win PrtScn)を撮って、セッションAに貼る
👇 貼り先=セッションB(新しく開いたほうのセッション。セッションAではありません)。
📋 ステップ2のコピペ②(新しく開いたセッションBに貼る・①とは別物)
これは「2つのセッションが同じファイルを触る実験」のB側。あなたはセッションB。この実験だけをやる。実験なので遠慮は不要。

・gitdesk/note.md を開いて、1行目を「Bが上書きした」に書き換えて、いますぐ保存(コミットしない)。中身を見せて
・以上で終わり。他の操作はしない。私がこの画面の全画面スクショを撮ってセッションAに貼る

【大事】わざと上書きする実験です。「他の変更が消えるかもと思って止めておきます」と気を利かせて止めないで。確認せず、そのまま書き換えて保存して。

⓪この指示だけ実行(他のSkills・自動発動に委ねない)
①出力は短く。事実だけ。比喩・凝った固有名詞は使わない
🏃 事故を安全に1回起こす A書く → B書く → Aに戻ると…消えている。
「Aの文がBの文に置き換わった」を見ればクリア。
Aが書いた行がBの保存で黙って書き換わったnote.mdの画面
📷 実スクショ:Aが書いた行が、Bの保存で黙って書き換わった note.md の画面が入ります
⚠️
これが「サイレント上書き」。エラーも確認ダイアログも一切出ず、先に書いた方が黙って消える=気づけない。ワークツリーなしで同じファイルを複数セッションで触ると、いつでも起きうる。
🙋
実走のつまずき:セッションB(別セッション)が「保存も編集もしていません。止めておきます」と親切心で止まって、事故が再現しないことがあります。そのときは「止めなくて大丈夫、これは実験。いますぐ書き換えて保存して」と一言(コピペにも書いてありますが、AIが遠慮したら念押しを)。
押すとこのカードが「済み」になり、進捗バーが進みます
ステップ 3 / 3

ステップ3:実験B=ワークツリーを作れば安全になる

⏱ 約12分
グレー表示=完了済み。読み直しはこのままどうぞ
ステップ3:実験B=ワークツリーを作れば安全になる の流れ図解
☝️ 貼り先=セッションAの続き。途中でもう一度セッションBも使います(B用コピペは下)。
📋 ステップ3のコピペ①(セッションAの続きに貼る)
実験B「ワークツリーを使えば、同じことが安全になる」。あなたは引き続きセッションA。ルールは前と同じ(短く・事実だけ・比喩なし・私はスクショで報告)。

やること:
1. gitdesk に、ワークツリー(git worktree=同じリポジトリの別の作業フォルダ)を1つ作る。場所は gitdesk の隣 gitdesk-b、ブランチ名は b-world
   ・置き場所:gitdesk の隣(gitdesk-b)でよい。Claude Codeが使う .claude/worktrees/ に置く決まりではない(ツールの慣習でgitのルールではない)。今回は見比べたいので隣が正解、と1行そえて
   ・git worktree list で「gitdesk」と「gitdesk-b」の2つが出ているのを見せる
2. ここで止まる:私がセッションBに「gitdesk-b の note.md を書き換えてコミット」させる。私がスクショを貼るまで進まない
3. スクショが来たら gitdesk(本体)の note.md を見せる:Bが書き換えても本体は一文字も変わっていない。実験Aとの違いを2〜3行
4. 合流と片付け:
   ・b-world を main に合流(merge)。note.md にBの変更が入ったのを見せる。衝突なく入ったら Fast-forward も一言。衝突が出たら記号を見せて私にどちらを残すか聞いて直す
   ・gitdesk-b を片付ける(git worktree remove)。git worktree list で1つに戻ったのを見せる
5. 理解チェック(合格するまで✉️次の人への置き手紙は出さない):この課題の内容から、選択式(A/B/C。各選択肢は必ず「・A:」「・B:」「・C:」を改行し、「A.」形式は使わない)のクイズを2問→自由記述1問、1問ずつ(1問ごとに出力を止めて私の答えを待つ=私の答えを自分で書かない・私の回答が届く前に採点しない)。問題文や選択肢に答えがそのまま分かる文を書き写さない=答えは私が自分で考えて書くもの。選択式の正解の位置は、毎回A/B/Cにランダムに散らして(いつもAを正解にしない)。100点満点で採点し点数と理由を短く。70点以上で合格→✉️次の人への置き手紙へ。70点未満は間違いを短く解説して別問題でもう一度(何回でも)。このクイズの選択肢に「お任せ」は付けない。クイズでコマンド名の暗記は問わないで(コマンドは覚えなくていい・打つのはAIなので)。出すのは、この課題ページで実際にやったこと・なぜそうするのか・どう使い分けるか、から。自由記述の1問は「この課題でどういうことを学んだか(できるようになったこと・分かったこと)+自分の仕事・普段の作業ならどこで使えるか」を自分の言葉で書く問題にして(「なぜうまくいったと思いますか」のような理屈を問う聞き方はしない=答えづらい)
クイズの題材は、この課題で私が実際にやったことだけにして=①同じフォルダを2つのセッションで同時に書き換えると、あとから保存した方が黙って勝つ(=片方が消える)のを自分の目で見た/②ワークツリー(別フォルダの作業場)を作ると、同時に書いても消えないことを確認した/③分かれた作業を合流(マージ)して1つに戻し、ワークツリーの片付けまでやった。このページで一度も説明していない言葉・ツール名・コマンドは、問題にも選択肢にも出さないで
6. 合格したら、✉️次の人への置き手紙を出す前に自由入力で1問だけ:「最後に、この課題ページで分かりづらかった所・直してほしい所はありませんでしたか?(課題の改善点を教えてほしい)(1行でもOK・なければ『特になし』でOK)」。この質問だけはA〜Eの選択式にしない。質問を出したら、そこで必ず出力を止めて私の返事を待つ(私の答えをあなたが書かない・user/system などの行を自分で出力しない。置き手紙は私の2つの返事が届いてから書き始める)。もらった言葉はメモの最後に「💬 課題ページへの改善案:」として原文のまま入れる(『特になし』なら省略OK)。つづけて自由入力でもう1問:「この課題をこれからやる次の生徒へ、一言お願いします(1行でもOK)」。選択式にしない。もらった言葉はメモのいちばん最後に「💬 次の生徒へ:」として原文のまま入れる(メモの最終行=改善案の行より後ろ)
7. ✉️次の人への置き手紙を、見出し「✉️次の人への置き手紙」で、コピペできる1つのコードブロックで出力。中身:やって分かったこと(上書き事故・ワークツリーの安全・合流・片付け)/驚いた・つまずいた所と解決/覚えた正式名称/この課題ページの直してほしい所・分かりづらかった所(改善案)。8〜12行(多くてOK)。実際のエラー文・案内と違った所・使ったコマンド名(git worktree add/merge/git worktree remove 等)は要約で削らず残す
8. 最後に「このメモをコピーして、課題ページ最後の『✉️次の人への置き手紙を書いて完了』に貼れば修了です🎉」と締めて

《共通ルール:外部サイト操作》

進め方(短く守って):
⓪この指示だけ実行(他の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行で説明してから聞く
③図が要ればテキストで
④正式名称(git worktree / branch / merge / Fast-forward)は初出だけ1語そえる
⑤報告は全画面スクショだけでOK(各ステップの最後に1枚だけ・つまずいた時だけ都度。「できた」の言葉は不要。スクショが来たら報告として扱う)
💡
これで何がラクになる? = 自分のデスクトップでも「同時に2つ」を安全にやる型が手に入る。クラウドの並行セッションも同じ原理(あちらは独立した実行環境+ブランチ)で守られている。
▶ 途中でやること(もう一度セッションB・押すのはあなた)
  1. さっきのセッションBに戻る(閉じていたら新しく開いてOK)
  2. 下のセッションB専用のコピペを貼る
  3. Bのコミットが終わったら全画面スクショを撮って、セッションAに貼る
👇 貼り先=セッションB(ステップ2で開いたほう。閉じていたら新しく開いてOK・セッションAではありません)。
📋 ステップ3のコピペ②(セッションBに貼る・①とは別物)
これは「ワークツリー実験」のB側。あなたはセッションB。この実験だけをやる。遠慮は不要。

・gitdesk-b フォルダ(ワークツリー)の中の note.md の1行目を「Bがワークツリーで書き換えた」にして、いますぐ保存し、今度はコミットもして
・note.md の中身と、作ったコミットを見せて
・以上で終わり。他の操作はしない。私がこの画面の全画面スクショを撮ってセッションAに貼る

⓪この指示だけ実行(他のSkills・自動発動に委ねない)
①出力は短く。事実だけ。比喩・凝った固有名詞は使わない
🏃 同じ実験を、今度は安全に Bがワークツリーで書く → 本体は無傷 → 合流で1つに。
「本体が無傷」と「合流でBの変更が入った」の両方を見ればクリア。あとは✉️次の人への置き手紙を投稿して修了!
ワークツリーで本体が無傷のまま、マージでBの変更が合流した画面
📷 実スクショ:本体の note.md が無傷のまま、合流(マージ)でBの変更が入った画面が入ります
🧭
これが「同時にやるなら作業場を分ける」の型。
デスクトップの並行セッションは、このワークツリーの仕組みで作業場が分かれる。
クラウド(claude.ai/code)のセッションが毎回安全なのは、仕組みは別で、セッションごとに独立した実行環境でリポジトリを開き、別ブランチで作業してGitHubで合流するから。
——分け方は違っても、原理は同じ「作業場を分けて、あとで合流」。
🧭
実走のつまずき:「ワークツリーは Claude Codeの .claude/worktrees/ に置くのでは?」と迷いがち。あれはツールの慣習で、gitのルールではありません(置き場所は自由)。今回は本体と見比べたいので、隣の gitdesk-b が正解でした。
あとは下の✉️次の人への置き手紙を投稿すれば修了です

✉️次の人への置き手紙を投稿して修了 🏅

ステップ3の締めで「✉️次の人への置き手紙」が出ます。
それを下に貼って投稿 → 修了🎉

📥 皆の✉️次の人への置き手紙(デスクトップgit編) ● 共有

公開掲示板です(みんな&運営が読めます)。個人情報・秘密は書かない。

🧠 理解まとめ(読むのは最後でOK) ▾ 開く

22-1の本質:ワークツリーなし=1つのフォルダの取り合い/あり=安全な並行作業。

用語意味(1行)
リポジトリ/コミットgitで管理された場所/その瞬間の記録(ログに並ぶ1個)
同じフォルダの取り合い
(共有ワーキングツリー)
2つのセッションが同じ実ファイルを触る=あとから保存した方が警告なしで勝つ(サイレント上書き)
ワークツリー(git worktree add)同じリポジトリに別の作業フォルダ+専用ブランチを作る。例:git worktree add -b b-world ../gitdesk-b
git worktree listいま出ている作業フォルダの一覧。片付け後は1つに戻る
ブランチ(branch)/マージ(merge)枝分かれした作業線/その変更を合わせる。合流の結果は3通り:
① 片方しか進んでいない → そのまま先端を進めるだけ=Fast-forward(マージコミットは出来ない)
② 両方進んだが、別ファイル・別の行 → gitが自動で合体=マージコミットが1つ出来る
③ 両方が同じ箇所を変えた → 自動では決められない=コンフリクト(<<<<<<< の記号が出て、どちらを残すか人が選ぶ)
git worktree remove作業フォルダを片付けて1つに戻す(合流済みの変更は消えない)
🧩
コミット=「保存」と別。保存(⌘S)=ディスクに書くだけ/コミット=gitの歴史に記録。だから「保存したけど未コミット」が起きる。実験Aで“わざとコミットしないで”上書きさせたのは、これ=未コミットはgitがまだ守っていない状態。区切りごとに小さくこまめに。
⚠️
未コミットは、消したら戻らない。ワークツリー(gitdesk-b)で書き換えても、コミットしてない変更は共有 .git に入っていない。コミットしないまま その作業フォルダを消す/セッションを閉じると、他のセッションにも本体にも残らず消える。コミットすれば .git に残り、git worktree remove しても後で merge できる。(git worktree remove は未コミットを既定で止めるが、手動削除・セッション終了ではガードは効かない=コミットが唯一の保険。クラウド版 22-3 はさらに push まで必要)
🔎
状態を目で読む:main に対して差分がある=まだ合流してないサイン(Claude Codeのソース管理・git status・git log で見える)。差分が無い=ワークツリーの変更は本体に合流済み=最新。クラウド版 22-3 では GitHub の「PRを作成/+◯−◯」の帯として見える。※未コミットの手元変更は差分に出ない(git status で見る)。
📖
大人向け解説 = 複数セッション並行運用チートシート。ブランチ・PRの続きは 22-3(クラウド版)(クラウド専用。始め方は 3-4)。
✅ 事故は「見た人」だけが避けられる。消える瞬間を安全な実験台で1回見たのが今日の資産 🗑 捨てたもの:コマンドの暗記(打つのはAI)。持ち帰るのは「同時にやるなら作業場を分ける」という型
🏅

修了:ワークツリーで安全に並行作業できる人

上の掲示板に投稿すると、ここで修了バッジが解放されます。

🏅

🎉 22-1 修了!

「同じフォルダを取り合うと消える理由」と「ワークツリーで消えない型」を説明できる人になった。