繁体   English   中英

版本控制与您自己协调

[英]Version control to coordinate with yourself

对于我业余时间的编程,我有一台台式机和一台笔记本电脑(两台都是Mac机,但我怀疑这会对这个问题产生影响)。 我已经在他们两个上安装了VMware,使用Linux映像来运行我的代码。 它们是相同的图像,所以我在两个地方都有相同的环境。

诀窍是我喜欢对我的所有编码使用版本控制,即使我没有与其他人协调。 我希望在我使用的任何系统上看到我的代码的最新版本。

我不想一直依赖于网络访问 - 我可能在没有Wi-Fi的情况下进行编码(是的,它很少见,但有些地方仍处于石器时代)。 我正在考虑使用git,但是如果我在本地提供了存储库,那么像SVN这样的东西也可以。 或者笔记本电脑可能成为SVN服务器,桌面也可以访问它。

有没有人以前做过这种事情? 任何陷阱/陷阱/经验教训?

如果您无法随时访问网络,我强烈推荐使用git。

但是,如果您仍然需要使用subversion存储库,那么通过使用git-svn ,您仍然可以充分利用这两个世界。

好吧,我绝对建议您查看分布式系统而不是Subversion。 这将满足您不依赖于网络访问的要求,并且可能更适合您的工作流程。 分布式VCS的主要选择是gitMercurial (也称为“hg”)和Bazaar (或“bzr”)。 我个人的偏好是Mercurial,但它们都相当可比。

但是,Mercurial确实拥有的一件事(在你的情况下它会非常有用)是“hg serve”命令。 你可以在这里阅读: 非正式分享“hg serve” 基本上它设置了一个非常简单(临时)的服务器,允许通过网络提取存储库。 我一直使用它来保持我的台式机和笔记本电脑之间的代码同步。 如果我在笔记本电脑上进行了一些更改,我只需在那里运行“hg serve”,然后从桌面“hg pull”,或者反之亦然,如果我一直在桌面上工作。

总的来说,我肯定建议调查分布式系统,我认为他们会尽力设置你想要的环境。 网上有大量有关使用所有这些信息的信息。 我没有花太多时间与其他人,但如果你想尝试Mercurial, 这本免费的在线书籍几乎涵盖了你开始所需的一切

无论您做什么,请确保定期备份您的存储库。 如果您的笔记本电脑存放您的存储库,则尤其如此 您还需要考虑如果您的笔记本电脑被盗会发生什么。 最好使用git并将存储库保留在桌面上。

作为已经提到的Git的替代品,我强烈推荐Bazaar 它是一个分布式VCS,就像git一样,虽然存在一些差异。

对于(当然有点偏颇)比较,请查看此页面

如果你是在简单(设置)之后,SVN很好。 它在没有网络连接的情况下工作,因为您的整个历史记录保存在每个同步的PC上,并且SVN + SSH是TRIVIAL设置的。 它使用SSH的内置功能来运行程序,所以如果你设置了SSH服务器,你只需要创建一个存储库,一切正常......没有任何服务器设置。

这也可以作为您的备份,因为您在同步的每台计算机上都有整个存储库。

分布式版本控制系统也很有意思,但我认为前期投资更高,但它的优势在于您无需连接即可保存到存储库(如果您单独工作,则不是太关键,但能够在任何地方检查点和回滚可以有它的优点)。

当您无权访问存储库时,SVN变得非常难以使用。 由于我在一台计算机上完成了所有的开发工作,所以我对SVN做得很好,但是你可能觉得它不那么容易。 从我所听到的,这正是git旨在处理的问题 - 它允许您进行在本地副本中注册的提交,然后在您访问它时将它们全部上传到存储库。

您可以考虑购买SVN主机 - 它们相当实惠,让您不必处理自己的网络连接:

http://www.google.com/search?hl=en&q=svn+hosting&btnG=Google+Search&aq=f&oq=

我最喜欢的VCS是darcs,因为它支持补丁挑选。 它是一个分布式VCS,非常容易使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM