synchronization - 如何使用 ssh 将我的代码同步到远程机器?

标签 synchronization development-environment

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

6年前关闭。




Improve this question




对于我正在学习的当前类(class),我们正在使用远程计算机来运行我们的代码。

我在我的 MacBook 上进行本地编码,我正在寻找一种让我的本地代码在集群上保持最新的好方法。

我这样做的方式是打开一个终端以运行 SCP 以复制目录,并打开另一个终端,该终端通过 SSH 连接到集群中以制作和运行我的代码。

这对我来说似乎不太理想。有没有一种方法可以在修改文件时自动将文件发送到集群?

还是我坚持使用单行命令来移动所有内容?

最佳答案

除了分布式版本控制之外,您最好的选择是使用 rsync over ssh。我通过对每台机器执行以下操作来保持几台机器同步:

rsync -urltv --delete -e ssh /src.dir user@othermachine:/src.dir

您提到使用 MacBook - rsync 在 Mac OS X 上。据我所知,它不需要额外安装。 rsync 的美妙之处在于它查找修改并且只复制修改过的文件。它不会像分布式版本控制系统那样合并同时修改,但如果你像我一样在笔记本电脑上做一些工作,然后在桌面上做一些工作,rsync 是发送所有更改文件的最佳方式(并且只有更改的文件)在您切换模式时从一个到另一个。

注意:这里使用的 rsync 选项是:
  • -u , --update 跳过接收器上较新的文件
  • -r , --recursive 递归到目录
  • -l , --links 将符号链接(symbolic link)复制为符号链接(symbolic link)
  • -t , --times 保留修改时间
  • -v , --verbose 增加详细程度
  • --delete从 dest 目录中删除无关文件,充当 --delete-during

  • 最后,-e是允许您指定远程 shell 的选项,在本例中为 ssh

    关于synchronization - 如何使用 ssh 将我的代码同步到远程机器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/662006/

    相关文章:

    c - 是否需要互斥锁来同步 pthread 之间的简单标志?

    reactjs - 在开发模式下使用 ReactJS 在 Azure 上发布 asp.net Core 2.0 WebApp

    android - 同步 PasteBin 粘贴

    java - JAVA中Synchronized和Final的关系

    multithreading - 使用 golang sync.WaitGroup 的正确方法是什么

    JVM 中的 C?在编程期间显示错误

    java - 如何在 Linux 上安装 Java 开发环境(JDK、Maven、IDE、...) VirtualBox

    android - 如何在多个设备之间保持 Android 应用程序的数据同步?

    operating-system - 对于 Microsoft 开发人员来说,最好的操作系统是什么?

    c# - 单元测试需要读取文件。我如何使其便携?