Windows 上让 Git 自动同步:NSSM 服务 + 实时监听实战
目录 1. 引言 1.1 自动化 Git 的介绍 1.2 传统手动推送痛点 1.3 我为何需要自动同步 2. 如何想到这个方案 2.1 背景:Linux 学习带来的启发 2.2 一段经历:用 OpenClaw 部署 NSSM 服务 2.2.1 原因 2.2.2 解决问题 2.2.3 开始执行步骤 3. 思路与方案定型 4. 需求分析 5. 验证方案可行性 6. 列出可行的方案 7. 项目实施的大纲 8. 详细步骤 8.1 一次性准备 8.1.1 在本地建一个仓库 8.1.2 安装 Git 8.1.3 SSH 准备 8.2 底层一步一步是怎么实现的 8.2.1 监听文件变化 8.2.2 事件泵 + 防抖 8.2.3 自动提交推送 8.2.4 服务化(NSSM) 8.2.5 定时拉取 9. 核心脚本设计(PowerShell) 9.1 脚本文件构成 9.2 推送守护脚本设计(git_sync_realtime_xxx.ps1) 9.3 定时拉取脚本设计(change_fetcher_generic.ps1) 9.4 设计上的几个关键决定 10. 遇到的问题与解决方法(最重要的关键部分) 10.1 bat 中文乱码 10.2 SSH 私钥带口令,自动化服务无法使用 10.3 git 的 “dubious ownership” 安全保护 10.4 GitHub 端口 22 被拦截 10.5 服务“已标记为删除”(错误 1072) 10.6 定时拉取间隔写死 10.7 FileSystemWatcher 实时监听不触发 10.8 服务 PAUSED(启动失败循环) 11. 安全设计:主仓库只推送 + 镜像区 11.1 为什么这样设计 11.2 两条线分别怎么做 11.3 安全边界(一定要分清) 11.4 配套安全措施 11.5 结论 12. 验证结果 13. 下载与体验 14. 总结与展望 摘要:本文记录我从“AI 机器人老挂机”的痛点出发,到用 NSSM 把 OpenClaw 网关变成 Windows 服务,再到把“Git 自动同步”做成一个完整工具包并打包发布的完整过程。全文包含:方案对比、详细步骤、核心脚本设计、8 个真实踩坑记录、安全设计、验证结果。全程由我提出需求、检查验证、确定改进方向,代码与排错由 AI 辅助完成。 ...