svn - 版本控制与自己协调

标签 svn git version-control

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

诀窍是我喜欢对我的所有编码使用版本控制,即使我不与其他人协调时也是如此。我想在我使用的任何系统上查看我的代码的最新版本。

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

有没有人做过这种事?有什么陷阱/陷阱/经验教训吗?

最佳答案

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

但是,“hg serve”命令是 Mercurial 优于其他命令的一件事(这对您的情况非常有帮助)。你可以在这里阅读:Informal sharing with "hg serve"。基本上,它设置了一个非常简单的(临时)服务器,允许通过网络 pull 您的存储库。我一直使用它来保持台式机和笔记本电脑之间的代码同步。如果我在笔记本电脑上做了一些更改,我只需在笔记本电脑上运行“hg serve”,然后从桌面运行“hg pull”,反之亦然,如果我一直在桌面上工作的话。

总的来说,我肯定会建议研究分布式系统,我认为它们会在设置您想要的那种环境方面做得最好。网上有大量关于使用它们的信息。我没有花太多时间在其他人身上,但如果你想尝试 Mercurial,this free online book covers pretty much everything you'll need to get started

关于svn - 版本控制与自己协调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/503892/

相关文章:

git - 我如何编辑一个包含数百个 merge 和 merge 冲突的 Git 提交?

git - 如何使用 Git 查看文件在哪些提交中被重命名?

django - 我应该将我的南迁移保留在版本控制中吗?

eclipse - 请升级您的 Subversion 客户端.... 如何?

git - 从 master checkout 后删除分支

git 相当于 svnversion

git - BitBucket 和 GitHub 如何使用特殊的 SSH key 进行 push/pull?

git - 执行 'git commit --amend' 后如何推送到 repo

java - JAXB XJC 可以禁止在生成的类中创建注释吗?

svn - 支持 SVN 的 UBUNTU 上的 PHP/JS/HTML/CSS IDE