Windows 对于使用两台独立计算机的程序员来说,什么是好的VCS?

Windows 对于使用两台独立计算机的程序员来说,什么是好的VCS?,windows,visual-studio-2010,version-control,Windows,Visual Studio 2010,Version Control,我正在学习在Windows上用C语言编程。一位开发人员朋友建议,由于我刚刚起步,所以开始使用VCS可能是一个好主意,这样我就可以习惯了。我一直在阅读Git、Mercurial和Bazaar,我很难在它们之间做出选择。我看了很多关于SO的帖子,问了一些类似的问题,但没有发现任何关于同一用户在不同的计算机上使用VCS的交易 因此,在考虑使用哪种风投之前,我朋友的建议是真的吗?养成在任何/所有项目中使用风投的习惯,或者这是一种过度使用吗 如果这是一个好习惯,那么我正在寻找具有以下要求的解决方案: 我

我正在学习在Windows上用C语言编程。一位开发人员朋友建议,由于我刚刚起步,所以开始使用VCS可能是一个好主意,这样我就可以习惯了。我一直在阅读Git、Mercurial和Bazaar,我很难在它们之间做出选择。我看了很多关于SO的帖子,问了一些类似的问题,但没有发现任何关于同一用户在不同的计算机上使用VCS的交易

因此,在考虑使用哪种风投之前,我朋友的建议是真的吗?养成在任何/所有项目中使用风投的习惯,或者这是一种过度使用吗

如果这是一个好习惯,那么我正在寻找具有以下要求的解决方案:

  • 我在家里和工作中都编程。我需要能够推/拉,无论我在哪里(使用不同的计算机)
  • 我是一个隐私狂,尤其是因为我刚刚开始。我更喜欢私人的而不是公开的。还是我太偏执了?我并不反对开源,但作为一个初学者,我想把我的工作保密(至少现在)
  • 我希望能够在多个项目中使用VCS(目前是小项目,但我希望以后处理更大的项目)
  • 我是一个Windows的家伙,所以Windows和Visual Studio的集成/支持将是一个巨大的优势
我当前的VCS方法:

  • 使用碳酸钙进行日常备份
  • 使用Windows Mesh在家庭和工作计算机之间同步文件
  • 注释掉带有日期/时间和更改原因的旧代码
让我们说我可以做得更好


非常感谢您的任何意见。谢谢。

使用版本控制绝对是一个好习惯,为solo程序员提供了一些好处:

  • 您可以将您的历史记录及其背后的原因保留在代码之外,这将使代码更整洁、更易于阅读
  • 它为混乱提供了一种缓冲——你可以满怀信心地编写代码,如果一切都出了大问题,你总能回到起点
  • 在您的个人情况下,它将允许您的计算机之间轻松同步,尽管您已经有了解决方案
我真的无法很好地比较您所谈论的不同版本控制系统,因为我没有使用Bazaar,我只使用Git对其进行了一段时间的评估(3年前-我没有选择它,因为可用的Windows客户端不是很好,但那是3年前的事了,当时软件发生了很多变化)

我认为版本控制系统对你的情况没有多大影响。我想说的是,你应该和他们中的每一个人快速地玩一玩,然后决定哪一个更适合你。底层源代码管理系统中的差异不太可能像影响客户机的质量那样影响您

我使用过Mercurial,可以说Ortoisehg和VisualHg都是Windows的好客户机。TortoiseHg与Windows资源管理器集成(但如果您需要的话,也有一个独立的客户端)。VisualHg是一个VisualStudio插件,它集成了OrtoiseHg和VS

如果您确实不想使用公共源代码管理提供程序,则可以继续使用Windows Mesh来保持工作和家庭存储库的同步。不过我建议不要这样做——纯粹是因为Windows Mesh似乎正在做一项源代码管理系统专门设计的工作


我使用(对于Mercurial)-它是免费的,您可以拥有任意多个私有存储库。

我强烈建议对所有项目使用版本控制。一个非常强大的好处是,它允许您轻松地使用不同的分支,这对于开发新功能和维护多个版本非常有帮助(例如,project X在工作中使用版本n,因此您需要维护它,但您对开发版本n+1感兴趣)。此外,如果你想要一份编程工作,如果你不使用版本控制,许多雇主不会把你当回事

关于具体要求:

我在家里和工作中都编程。我需要能够推/拉 不管我在哪里(使用不同的计算机)

任何分布式版本控制(DVCS)都可以轻松地支持这一点。幸运的是,git、mercurial和bazaar都是DVC,所以您可以很好地使用它们中的任何一个

我是一个隐私狂,尤其是因为我刚刚开始。我会的 喜欢私人的而不是公开的。还是我在 太偏执了?我并不反对开源,但作为一个初学者,我会 我喜欢把我的工作保密(至少现在)

任何风投公司都会支持这一点,尽管它确实否定了某些风投公司选择(如github)的一些好处


在您提到的三个窗口中,我认为bazaar和mercurial具有最好的windows支持。两者至少在某种程度上都具有VisualStudio集成。我同意你在选择之前应该先试用一下,可能是按照bazaar、mercurial、git的顺序。

既然你提到了git,应该注意的是git+Windows并不是理想的团队。它在Linux下工作正常(对于Linux内核开发之类的任务,惊喜,惊喜),但Windows实现是。。。嗯。。。充其量只是平庸。TortoiseSVN(举一个同样免费的替代品的名字)比Git在Windows下提供的任何东西都更加友好和轻量级。