对于我业余时间的编程,我有一台台式机和一台笔记本电脑(两台都是Mac机,但我怀疑这会对这个问题产生影响).我已经在他们两个上安装了VMware,使用Linux映像来运行我的代码.它们是相同的图像,所以我在两个地方都有相同的环境.
诀窍是我喜欢对我的所有编码使用版本控制,即使我没有与其他人协调.我希望在我使用的任何系统上看到我的代码的最新版本.
我不想一直依赖于网络访问 - 我可能在没有Wi-Fi的情况下进行编码(是的,它很少见,但有些地方仍处于石器时代).我正在考虑使用git,但是如果我在本地提供了存储库,那么像SVN这样的东西也可以.或者笔记本电脑可能成为SVN服务器,桌面也可以访问它.
有没有人以前做过这种事情?任何陷阱/陷阱/经验教训?
如果您无法随时访问网络,我强烈推荐使用git.
但是,如果您仍然需要使用subversion存储库,那么通过使用git-svn,您仍然可以充分利用这两个世界.
好吧,我绝对建议您查看分布式系统而不是Subversion.这将满足您不依赖于网络访问的要求,并且可能更适合您的工作流程.分布式VCS的主要选择是git,Mercurial(也称为"hg")和Bazaar(或"bzr").我个人的偏好是Mercurial,但它们都相当可比.
但是,Mercurial确实拥有的一件事(在你的情况下它会非常有用)是"hg serve"命令.你可以在这里阅读:与"hg serve"的非正式分享.基本上它设置了一个非常简单(临时)的服务器,允许通过网络提取存储库.我一直使用它来保持我的台式机和笔记本电脑之间的代码同步.如果我在笔记本电脑上进行了一些更改,我只需在那里运行"hg serve",然后从桌面"hg pull",或者反之亦然,如果我一直在桌面上工作.
总的来说,我肯定建议调查分布式系统,我认为他们会尽力设置你想要的环境.网上有大量有关使用所有这些信息的信息.我没有花太多时间与其他人,但如果你想尝试Mercurial,这本免费的在线书籍几乎涵盖了你开始所需的一切.