你有沒有遇過這個困境:在公司電腦精心設定好的 AI 工具,回到家用另一台電腦又要重新設定一遍?每次換電腦就像搬家一樣,設定檔、快捷指令、工作記憶通通要重來。
這篇文章記錄我如何解決這個問題——用 Git 讓 Windows(公司)和 Mac(家用)兩台電腦完全同步 Claude Code 的所有設定,存檔後最慢一小時內另一台就會自動更新,不需要任何手動操作。
這個方案能解決什麼問題?
- 設定不同步 :換電腦就要重新設定 MCP 伺服器、自訂指令、技能包
- 記憶消失 :Claude 幫你記住的專案背景、偏好設定,換台電腦就不見了
- API Key 管理麻煩 :每台電腦都要手動填入,還有安全風險
- 手動備份容易忘 :改了設定忘記備份,電腦出問題就全沒了
同步的是什麼內容?
Claude Code 的設定都存在
~/.claude/
資料夾裡,只同步真正有用的部分:
| 同步的內容 | 說明 |
|---|---|
| settings.json | MCP 伺服器設定 |
| commands/ | 自訂快捷指令 |
| skills/ | 技能包檔案 |
| projects/memory/ | 跨對話的專案記憶 |
不同步的部分(對話記錄、暫存檔、session 資料)透過
.gitignore
排除,因為這些是各台電腦獨立的。
整體架構
Mac(家用)
↕ git push / pull
自架 Git Server
↕ git push / pull
Windows(公司)
設定過程:遇到的問題與解法
問題一:API Key 不能直接放進 Git
settings.json 裡面直接寫著 n8n 和 Brevo 的 API Key 明文,同步到 Git 倉庫非常危險。
解法
:把 API Key 改存到系統環境變數,settings.json 只放佔位符
${N8N_MCP_TOKEN}
。這樣 Git 裡面的設定檔是乾淨的,換電腦只需要在新電腦設定一次環境變數即可。
問題二:sync.sh 在 Windows 跑不了
原本寫好的同步腳本是 bash 格式,Mac 沒問題,但 Windows PowerShell 完全不認識。
解法
:另外寫一個 PowerShell 版本的同步腳本(
claude-sync.ps1
),再用 Windows 工作排程器(Task Scheduler)設定每小時自動執行。
問題三:Task Scheduler 需要管理員權限
設定工作排程器時出現「存取被拒」錯誤。
解法 :在 PowerShell 圖示上按右鍵 → 以系統管理員身分執行,再重新執行設定指令。
問題四:projects/ 資料夾的取捨
projects/ 裡面有很多對話記錄不應該同步,但裡面的 memory/ 資料夾(Claude 的專案記憶)和 CLAUDE.md(專案設定)卻非常重要。
解法 :精確設定 .gitignore,排除 *.jsonl、tool-results/、subagents/,但保留 memory/ 和 CLAUDE.md。
自動同步效果
- 在 Windows 改了一個技能包設定 → 自動 commit + push
- Mac 最慢一小時後自動 pull 到最新版本
- 完全不需要手動操作,背景靜默執行
- 如果兩台同時有改動,腳本會自動 rebase 合併
帶來的效益
- 省時 :不再需要在兩台電腦重複設定,每次設定只要做一次
- 安全 :API Key 不進 Git,設定檔可以放心版本控制
- 有備份 :所有設定都在 Git 倉庫,電腦壞掉也不怕
- 有記錄 :每次設定變更都有 commit 記錄,可以隨時回溯
- 可擴展 :之後加第三台電腦,只需要 git clone 一行指令
這套流程建立後,換電腦的焦慮感大幅降低。Claude Code 的設定不再是「跟著電腦走」,而是「跟著你走」。