端末間同期

母艦と Air、どちらで作業しても
情報が一致する Git 基本ループ

2台の Mac を works リポジトリ経由でズレなく同期するための、日々の Git 運用。覚えることは「始める前に pull・離れる前に push」だけ。

THE GOLDEN RULE

鉄則は2つだけ

① そのMacで始める前に pull(相手Macの変更を取り込む)/ ② そのMacを離れる前に push(相手Macが取り込めるよう送る)。
この2つを守れば、母艦↔Air は常に一致します。

日々回す3コマンド

# ① 作業を始める前 — 相手Macの変更を取り込む
git pull --rebase origin main

# ② 作業したら — 区切りごとに保存
git add -A
git commit -m "何をやったか一言"

# ③ そのMacを離れる前に必ず — 相手Macへ送る
git push origin main

※ このリポジトリは pull.rebase=true 設定のため git pull は自動で rebase になり、履歴が一直線に保たれます。

AUTO-SYNC

実は "半自動" ── hook が同期を肩代わりする

Claude Code で作業する場合、works の hook が3方向で面倒を見ます。Claude Code 経由なら基本ほったらかしでも同期されます。

タイミングhook が自動でやること
セッション開始時自動 pull(ff-only = 衝突しない範囲だけ安全に取り込む)
毎ターン終了時未 push のコミットを自動 push
セッション終了時未コミットの変更を自動 commitpush

※ 普通のターミナルで手作業したときは hook は動きません。その場合は上の3コマンドを自分で回してください。

CONFLICT

両方の Mac で同じファイルを触ったら

片方を push し忘れたまま、もう片方で同じファイルを進めると pull で衝突します。落ち着いて次の順で解消します。

  1. git pull --rebase origin main を実行(衝突ファイルが表示される)
  2. 表示されたファイルを開いて、残す内容に直す
  3. git add <直したファイル>git rebase --continue
  4. git push origin main で送る

最良の予防策は、そもそも衝突させないこと ── 「離れるとき必ず push・始める前に必ず pull」を徹底すれば、衝突はほぼ起きません。

THREE LANES

git で "同期されない" 3つに注意

「両Macで情報を一致」させる経路は3レーンに分かれています。git が運ぶのは①だけ。②③は別の仕組みが担います。

レーン中身同期の担い手
① gitコード・スキル・ドキュメント(リポジトリ全部)上の3コマンド / auto-sync hook
② メディア収録動画・完成動画・画像Google Drive(works 内は symlink で参照)
③ 秘密・設定API キー・トークン・~/.claude 共通設定移行キット install.sh / 設定同期 apply.sh

つまり「完全一致」= ① git を回す + ② Drive が同期済み + ③ キー・設定を配布 の3点セット。日常運用で意識するのは①のループだけで十分です。