Win / mac 双机协作基础设施:网站代码 git 化部署 + 个人文件双向同步。本文说明架构与常用命令。
~/Projects/site-code(真实编辑位置,Win /c/Users/Kun.li/Projects/site-code)
│ git push(一次推双远端)
├─▶ GitHub: imlikun/site-code(备份A)
└─▶ ECS 裸仓: /srv/sync/site-code.git(备份B,denyNonFastForwards 物理防覆盖)
└─ post-receive hook → /www/wwwroot/preview.appin.site(预览,单向投影)
正式发布: /usr/local/bin/site-deploy.sh [commit](铁律守卫 + 自动备份 + 可回滚)
~/.sync/sync.sh (11 命令:init/lock/unlock/heartbeat/pull/push/audit/status/handoff/takeover/restore)
配置: ~/.sync/sync.conf(HOST_NAME: Win=autumn, mac=mac)
仓库: sync-workspace(GitHub 备份A + ECS /srv/sync/backup.git 备份B + Gitee 对账)
~/Projects/site-codeimlikun/site-code(私有)ssh://root@101.133.136.140/srv/sync/site-code.git/www/wwwroot/preview.appin.site → preview.appin.site/www/wwwroot/appin.site → appin.site/usr/local/bin/site-deploy.sh~/Projects/site-code/tools/macos-deploy-guide.md(三次握手协议)~/.sync/sync.sh status # 查看双机同步状态
~/.sync/sync.sh push # 本机 → 对端
~/.sync/sync.sh pull # 对端 → 本机
~/.sync/sync.sh audit # 差异对账
site-deploy.sh # 发布 main(铁律守卫)
site-deploy.sh <commit> # 发布指定 commit
site-deploy.sh --force # 跳过守卫(慎用)
denyNonFastForwards,强制非快进会被拒,防覆盖历史。macos-deploy-guide.md 三次握手,ECS 状态文件 /srv/sync/macos-setup/status.json 确认成败。