使用2台独立计算机的1名程序员使用的VCS有什么好处?

时间:2011-08-31 13:18:25

标签: windows visual-studio-2010 version-control

我正在学习在Windows上用C#编程。一位开发人员朋友建议,因为我刚刚开始,所以开始使用VCS可能是一个好主意,所以我习惯了。我一直在阅读Git,Mercurial和Bazaar,我很难在他们之间挑选。我已经查看SO上的帖子数量,询问类似问题,但没有发现任何与同一用户在不同计算机上使用VCS有关的问题。

所以,在担心使用哪个VCS之前,我的朋友建议的是什么 - 养成为任何/所有项目使用VCS的习惯,还是有点矫枉过正?

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

  • 我在家和工作中编程。无论我在哪里(使用不同的计算机),我都需要能够推/拉。
  • 我是一个隐私坚果,特别是因为我刚开始。我更喜欢私人存储库,而不是公共/开放。还是我太偏执了?我不反对开源,但作为一个初学者,我想保持我的工作私密(现在无论如何)。
  • 我希望能够将VCS用于多个项目(现在是小项目,但我希望以后能够处理更大的项目)。
  • 我是Windows用户,因此Windows和Visual Studio集成/支持将是一个巨大的优势

我目前的VCS方法:

  • 使用碳酸盐进行日常备份
  • 使用Windows Mesh在家庭和工作计算机之间同步文件
  • 注明旧代码的更改日期/时间和更改原因

让我们说我可以做得更好。

非常感谢任何和所有评论。谢谢。

2 个答案:

答案 0 :(得分:3)

使用版本控制绝对是一个很好的习惯,可以为独奏程序员提供一些好处:

  • 您可以将您的历史记录及其背后的原因保留在您的代码之外,这将使其更整洁,更易于阅读。
  • 它可以让你有一些缓冲 - 你可以自信地编码,如果一切都发生了可怕的错误,你总能回到原来的位置。
  • 在您的个人情况下,它可以让您的计算机之间轻松实现同步,尽管您已经有了解决方案。

我无法真正对你所谈论的不同版本控制系统进行比较,因为我没有使用过Bazaar而我只用了很短的时间来评估它(3年前 - 我没有之所以选择它,是因为可用的Windows客户端不是很好,但那是3年前,软件在那段时间发生了很大变化)

我认为版本控制系统对你的情况并不重要。我会说你应该和他们每个人快速玩,并决定哪个更适合你。基础源控制系统的差异不太可能像客户的质量那样影响您。

我使用过Mercurial,可以说TortoiseHg和VisualHg都是Windows的好客户。 TortoiseHg与Windows资源管理器集成(但如果你想要的话,还有一个独立的客户端)。 VisualHg是一个Visual Studio插件,它将TortoiseHg与VS集成在一起。

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

我使用bitbucket.org(对于Mercurial) - 它可以免费使用,您可以拥有任意数量的私有存储库。

答案 1 :(得分:0)

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

具体要求:

  

我在家里和工作中进行编程。我需要能够推/拉   无论我在哪里(使用不同的电脑)。

任何分布式版本控制(DVCS)都可以轻松支持此功能。幸运的是,git,mercurial和bazaar都是DVCS,所以你对它们都很好。

  

我是一个隐私坚果,特别是因为我刚开始。我会   更喜欢私人储存库而不是公共/开放。或者我是谁   太偏执了?我并不反对开源,但作为初学者,我愿意   喜欢保持我的工作私密(现在无论如何)。

任何VCS都会支持这一点,虽然它确实否定了某些VCS选择的一些好处(例如github)。

在你提到的三个中,我认为bazaar和mercurial拥有最好的Windows支持。两者都至少在某种程度上具有视觉工作室集成。我同意你应该在选择之前尝试一下,可能是按照集市,mercurial,git的顺序。