当然可以!rsync 是一个点对点的工具,你完全可以在不同的电脑上配置它来和同一台 VPS 进行同步。这是一个非常棒的扩展思路,能让你在多台设备上拥有一致的流畅开发体验。
我们来分解一下如何实现这个需求。
核心逻辑
你的 VPS 是 “代码的唯一真实来源 (Single Source of Truth)”。你的家里的电脑和单位的电脑都作为这台 VPS 的 “开发客户端”。
- 当你在家里开发时,家里的电脑通过
rsync从 VPS 拉取最新的代码,并在本地运行npm start进行预览。 - 当你在单位开发时,单位的电脑也通过
rsync从 VPS 拉取最新的代码,并在本地运行npm start进行预览。
你需要确保在切换开发地点时,代码状态是同步的。
实现方案:两种工作流
这里有两种工作流,推荐第一种,因为它更安全、更符合规范。
方案一:Git + Rsync 结合(强烈推荐)
这个方案结合了 Git 的版本控制能力和 rsync 的实时同步能力,是最健壮和专业的做法。
工作流程:
-
开始工作前(在家里或单位):
- 第一步:使用
git pull。先通过 SSH 登录到 VPS,进入项目目录,运行git pull确保 VPS 上的代码是最新的(如果你的同事也参与开发的话)。 - 第二步:运行
rsync。在你的本地电脑(家里/单位)上,运行rsync命令,将 VPS 上的代码(主要是src等源文件)同步到本地。# 在本地电脑上运行 rsync -avz --delete --exclude "node_modules" --exclude ".git" user@your_vps_ip:/path/to/project/ ./ - 第三步:启动本地服务。在本地运行
npm install(如果依赖有变动) 和npm start。
- 第一步:使用
-
开发过程中:
- 保持本地的
watch + rsync进程运行,它会持续将 VPS 上的代码变更拉取到你的本地机器。# 在本地电脑上运行 watch -n 1 'rsync -avz --delete --exclude "node_modules" --exclude ".git" user@your_vps_ip:/path/to/project/ ./' - 你在 VPS 上使用 Gemini CLI 或手动编码,所有变更都会实时反映在本地浏览器上。
- 保持本地的
-
结束工作时(非常重要!):
- 第一步:在 VPS 上提交代码。工作完成后,在 VS Code SSH 终端里,使用 Git 将你在 VPS 上做的所有修改提交。
# 在 VPS 上运行 git add . git commit -m "feat: 完成了某个功能" git push origin main - 第二步:停止本地进程。关闭本地的
npm start和watch进程。
- 第一步:在 VPS 上提交代码。工作完成后,在 VS Code SSH 终端里,使用 Git 将你在 VPS 上做的所有修改提交。
下次换到另一台电脑(比如从家到单位)时,重复“开始工作前”的步骤。这样 git pull 会把你在上一个地点提交的代码更新到 VPS,然后 rsync 再把最新的代码同步到你当前的电脑。
优点:
- 安全:所有代码变更都有 Git 记录,不会因为
rsync误操作而丢失工作。 - 清晰:工作开始和结束的界限很明确。
- 协作友好:即使有其他同事,这个流程也能很好地工作。
方案二:纯 Rsync 双向同步(不推荐,但可行)
如果你是个人开发者,觉得每次都 git commit 很麻烦,可以考虑双向同步。但这种方式有数据覆盖的风险,请谨慎使用。
核心思想:
- 从 VPS 到本地:用
rsync将远程变更拉取下来(和你现在的做法一样)。 - 从本地到 VPS:当你需要在本地做一些微调时(比如修改一个配置文件),可以反向运行
rsync将本地的变更推送到 VPS。
你需要两个 rsync 命令脚本或别名:
-
pull-from-vps(从 VPS 拉取到本地)rsync -avz --delete --exclude "node_modules" --exclude ".git" user@your_vps_ip:/path/to/project/ ./ -
push-to-vps(从本地推送到 VPS)rsync -avz --delete --exclude "node_modules" --exclude ".git" ./ user@your_vps_ip:/path/to/project/注意: 源和目的地的位置反过来了。
工作流程:
- 开始工作前:在当前电脑上运行
pull-from-vps,确保本地代码和 VPS 完全一致。 - 开发中:运行
watch + pull-from-vps实时同步。 - 结束工作时:确保所有你想保留的修改都已经在 VPS 上了。如果你在本地做了修改,记得运行
push-to-vps。
巨大风险:
如果你在单位的电脑上修改了文件 A,但忘记 push,然后回到家,直接运行了 pull-from-vps,那么你家里的电脑会从 VPS 拉取旧版本的代码,可能会覆盖你在单位电脑上未同步的修改!
因为没有 Git 这样的版本控制系统作为中介,纯 rsync 工作流非常依赖你清晰的记忆和严格的操作纪律。
结论与建议
是的,rsync 可以在多台电脑上工作。
最佳实践是采用“方案一:Git + Rsync 结合”的工作流。
- Git 作为你代码的“存档点”和“历史记录”,保证了工作的安全性和可追溯性。
- Rsync 作为你开发过程中的“高速通道”,保证了开发的流畅体验。
这样,无论你身在何处,用哪台电脑,都可以通过简单的 git pull -> rsync -> npm start 流程,快速进入一个高效且一致的开发环境。
720

被折叠的 条评论
为什么被折叠?



