我正在学习在Windows上用C#编程。一位开发人员朋友建议,因为我刚刚开始,所以开始使用VCS可能是一个好主意,所以我习惯了。我一直在阅读Git,Mercurial和Bazaar,我很难在他们之间挑选。我已经查看SO上的帖子数量,询问类似问题,但没有发现任何与同一用户在不同计算机上使用VCS有关的问题。
所以,在担心使用哪个VCS之前,我的朋友建议的是什么 - 养成为任何/所有项目使用VCS的习惯,还是有点矫枉过正?
如果这是一个好习惯,那么我正在寻找具有以下要求的解决方案:
我目前的VCS方法:
让我们说我可以做得更好。
非常感谢任何和所有评论。谢谢。
答案 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的顺序。