我有 2 台机器,一台是我编写代码的计算机,一台是我运行代码的远程机器。我想在我的机器上编码并在将代码保存到远程机器时同步代码。我知道我可以将 ssh 用于该目的,但我想在我的机器的硬盘上工作,因为它更快。是否有任何解决方案可以定期将我的本地副本同步到远程副本?非投递箱
问问题
212 次
2 回答
2
标准工具是rsync
:
rsync -r<various other options - check man for which you need> . sshuser@host:/remote/dir
然而,出于开发目的,它更容易使用git
(您使用 vcs,不是吗?)。设置有点复杂,但优点是您可以通过 git push 手动完成,并且在 rsync 单独检查每个文件时只发送您的更改(差异):
- 在测试机器(运行代码的机器)上创建一个裸存储库
- 像这里
post-receive
描述的那样添加一个钩子 - 利润(当你想同步时只需 git push)
的缺点git
是它不适合大型和/或二进制文件,例如图像(以及纯 git)。
两种解决方案都不会自动同步。我相信这是一项功能,因为您通常想确切地知道自己正在运行什么,并且要么立即同步(“这是关键的安全修复”),要么仅在您执行某些操作时进行同步 - 即使进行测试时您也不想同步正在编写一个函数。
如果您确实想这样做,您可以随时添加一个 cron 条目来执行此操作。
于 2013-08-12T08:43:15.880 回答