在多台计算机(Mac)之间同步工作环境的最佳方式

时间:2014-02-10 18:19:32

标签: linux macos git sync

我处于不幸的位置,为了开发目的,必须保持三个独立的mac同步。我已经尽力将其减少到一台计算机,但出于法律原因这是不可能的。

所以我想保持三个mac同步。我有git repos用于所有常见的事情:点文件,每个单独的项目等。我使用Dropbox来保持文档和应用程序配置文件同步。我还使用App Store来保持同步安装的应用程序。

不同步的事情:

  • 安装了什么自制软件包
  • Rbenv环境(安装了ruby版本)
  • 宝石环境(数百种不同的宝石)
  • 在我的〜/ workspace目录中检出了大量(实际上有数百个)git存储库。由于可能出现的腐败问题,放入Dropbox不是一种选择。此外,git本身是版本控制的,它只是实际检查它们并使它们保持最新的第一部分。

希望这不是太开放,但你如何保持上述同步?

2 个答案:

答案 0 :(得分:1)

  1. Git回购。我不试图让它们保持同步。我采取了一个已知的工作结帐并制作基于日期的tarball。这些都由所有机器存储和访问。如果需要更新git repo,我会更新tarball。这不是git特定的,我使用任何公共修订系统。
  2. 对于包系统我得到一个已安装包的列表并检查它。自检脚本或构建过程的一部分可以确保一切都是最新的。
  3. 我使用的是Python,而不是Ruby,所以我使用pip和一个与virtualenv结合的需求文件,让我与实际的主机系统分开。看起来http://bundler.io/是Ruby的等价物。
  4. 基本上,假设您正在尝试针对您在桌面上执行的操作进行自动化的每小时构建过程。通过这种方式,您可以减少开发与构建与生产问题。

答案 1 :(得分:0)

如果它是您的homedirectory本地的项目或系统上的特定目录,我会使用rsync。

类似的东西:

rsync -lpru --progress --exclude="folder_to_exclude" /Users/username username@othermac:/Users/username

l用于sym链接 p代表权限 r用于递归 你是为了更新,不要每次都要改变。