在多台计算机(Mac)之间同步工作环境的最佳方法 [英] Best way to sync work environments between multiple computers (Macs)

查看:1184
本文介绍了在多台计算机(Mac)之间同步工作环境的最佳方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

不幸的是,出于开发目的,必须使三个独立的Mac保持同步.我已经尽力将其简化为一台计算机,但是由于法律原因,这是不可能的.

I'm in the unfortunate position of having to keep three separate macs in sync for development purposes. I've already tried everything I could to reduce it down to one computer, but it's just not possible for legal reasons.

因此,我想使三个Mac保持同步.对于所有常见的事情,我都有git repos:点文件,每个单独的项目等.我使用Dropbox来使文档和应用程序配置文件保持同步.我还使用App Store保持同步安装了哪些应用程序.

So I'd like to keep the three macs in sync. I have git repos for all the usual things: dot files, each individual project, etc. I use Dropbox to keep documents and application profile files in sync. I also use the App Store to keep what applications are installed in sync.

不同步的事物:

  • 安装了哪些Homebrew软件包
  • Rbenv环境(安装了哪个版本的ruby)
  • 宝石环境(数百种宝石)
  • 在我的〜/workspace目录中检出了大量(实际上是数百个)git库.由于可能会出现损坏问题,因此无法放入Dropbox.此外,git本身是受版本控制的,它只是实际检出它们并使它们保持最新状态的第一步.

希望这还不是开放式的,但是如何使以上内容保持同步?

Hopefully this isn't too open ended, but how do you keep the above in sync?

推荐答案

  1. Git仓库.我不会尝试使它们保持同步.我进行了一次已知的工作结帐,并创建了一个基于日期的tarball.这些被所有机器存储和访问.如果需要更新git repo,请更新tarball.这不是特定于git的,我可以使用任何公共修订版系统来做到这一点.
  2. 对于软件包系统,我获得了已安装软件包的列表,并检入.自检脚本或构建过程的一部分可以确保所有内容都是最新的.
  3. 我使用Python,而不是Ruby,因此我使用pip和一个与virtualenv耦合的要求文件,以使我与实际的主机系统分离.看起来 http://bundler.io/与Ruby是等效的.
  1. Git repos. I don't try to keep them in sync. I take a known working checkout and make a date based tarball. These are stored and accessed by all machines. If a git repo needs to be updated I update the tarball. This is not git specific, I do this with any public revision system.
  2. for package systems I get a list of installed packages and check that in. A self check script or part of the build process can ensure everything is up to date.
  3. I use Python, not Ruby so I use pip and a requirements file coupled with virtualenv to keep me separate from the actual host system. It looks like http://bundler.io/ is the Ruby equivalent.

基本上,假设您正在尝试针对台式机上进行的工作进行每小时一次的自动化构建过程.这样您就可以减少开发,构建和生产方面的问题.

Basically, imagine that you are trying to make an automated, hourly build process for what you are doing on your desktop(s). This way you have less dev vs. build vs. production issues.

这篇关于在多台计算机(Mac)之间同步工作环境的最佳方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆