对于我正在学习的当前课程,我们使用远程计算机来运行我们的代码.
我在MacBook上本地编码,我正在寻找一种在群集上保持本地代码最新的好方法.
我这样做的方法是打开一个终端来运行SCP来复制目录,另一个终端通过SSH进入集群来制作和运行我的代码.
这对我来说似乎不太理想.有没有办法在修改文件时自动将文件发送到集群?
还是我坚持使用单行命令移动一切?
如果你可以使用rsync,那可能是最好的方法.
使用sshfs(融合)挂载远程文件夹是一个选项吗?您可以直接编辑文件,也可以使用rsync,unison或任何文件夹到文件夹同步工具.
除了分布式版本控制之外,您最好的选择是使用sync上的rsync.我通过在每个机器上执行以下操作来保持几台机器同步:
rsync -urltv --delete -e ssh /src.dir user@othermachine:/src.dir
您提到使用MacBook - rsync在Mac OS X上.据我所知,它不需要额外安装.而rsync的优点在于它寻找修改并且仅复制修改过的文件.它没有像分布式版本控制系统那样合并同时修改,但是如果你像我一样在笔记本电脑上做一些工作然后在桌面上工作,rsync是发送所有已更改文件的最佳方式切换模式时(和仅更改的文件)从一个到另一个.
注意:这里使用的rsync选项是:
-u
, - update跳过接收器上较新的文件
-r
, - recursive recurse into directories
-l
, - 将符号链接复制为符号链接
-t
, - 保留修改时间
-v
, - verbose增加详细程度
--delete
从dest dirs删除无关文件,充当 --delete-during
最后,-e
是允许您指定远程shell的选项,在本例中为ssh