2台の Mac を works リポジトリ経由でズレなく同期するための、日々の Git 運用。覚えることは「始める前に pull・離れる前に push」だけ。
pull(相手Macの変更を取り込む)/
② そのMacを離れる前に push(相手Macが取り込めるよう送る)。# ① 作業を始める前 — 相手Macの変更を取り込む
git pull --rebase origin main
# ② 作業したら — 区切りごとに保存
git add -A
git commit -m "何をやったか一言"
# ③ そのMacを離れる前に必ず — 相手Macへ送る
git push origin main
※ このリポジトリは pull.rebase=true 設定のため git pull は自動で rebase になり、履歴が一直線に保たれます。
Claude Code で作業する場合、works の hook が3方向で面倒を見ます。Claude Code 経由なら基本ほったらかしでも同期されます。
| タイミング | hook が自動でやること |
|---|---|
| セッション開始時 | 自動 pull(ff-only = 衝突しない範囲だけ安全に取り込む) |
| 毎ターン終了時 | 未 push のコミットを自動 push |
| セッション終了時 | 未コミットの変更を自動 commit + push |
※ 普通のターミナルで手作業したときは hook は動きません。その場合は上の3コマンドを自分で回してください。
片方を push し忘れたまま、もう片方で同じファイルを進めると pull で衝突します。落ち着いて次の順で解消します。
git pull --rebase origin main を実行(衝突ファイルが表示される)git add <直したファイル> → git rebase --continuegit push origin main で送る最良の予防策は、そもそも衝突させないこと ── 「離れるとき必ず push・始める前に必ず pull」を徹底すれば、衝突はほぼ起きません。
「両Macで情報を一致」させる経路は3レーンに分かれています。git が運ぶのは①だけ。②③は別の仕組みが担います。
| レーン | 中身 | 同期の担い手 |
|---|---|---|
| ① git | コード・スキル・ドキュメント(リポジトリ全部) | 上の3コマンド / auto-sync hook |
| ② メディア | 収録動画・完成動画・画像 | Google Drive(works 内は symlink で参照) |
| ③ 秘密・設定 | API キー・トークン・~/.claude 共通設定 | 移行キット install.sh / 設定同期 apply.sh |
つまり「完全一致」= ① git を回す + ② Drive が同期済み + ③ キー・設定を配布 の3点セット。日常運用で意識するのは①のループだけで十分です。