我应该使用TFS还是SVN? 我需要安装哪些程序? 如何在Visual Studio中实现它们? 对于我的个人编程来说,这是一个好习惯还是你不同意?
请打开维基百科,你需要阅读一些内容:
通过阅读,你应该更好地理解什么是源代码控制。作为程序员,我相信你会发现“保存”正在工作的内容、逐步进行更改并能够返回到这些更改的意义。
简而言之,版本控制是回到过去的能力,以便您可以阅读您在那个时刻编写的代码。
首先,除了你提到的这两个版本控制产品之外,还有许多其他版本控制产品,但我建议先熟悉SVN。
TFS价格昂贵,且与Microsoft stack绑定。
我建议先阅读这篇文章:
特别是基本概念一章。
是的,这本书与svn相关,但它也涵盖了基础知识。
当你阅读完毕后,请下载TortoiseSVN。这是一个可以连接到Windows shell的svn客户端。只有当你熟悉使用它后,才会转移到集成的svn客户端。(实际上,我不使用任何一个)AknhSVN是免费的。
源代码控制系统与您的IDE分开。您可以从命令行或图形客户端以及IDE中使用它。
关于源代码控制系统,您应该知道以下内容:
您可以从此处获取svn,因为它非常受欢迎(特别是对于开源项目),并且得到广泛支持。您可以从此处生成命令行客户端:
这是一个不错的图形界面(Windows):
这是一本免费的书,帮助你开始使用svn:
如果您需要在开发机器上设置服务器,本教程应该能够帮助您:请尝试使用Git,并考虑将您的项目托管在https://github.com/上 - 还可以查看Linus关于Git的演讲:http://www.youtube.com/watch?v=4XpnKHJAok8
有许多不同的源代码控制提供商,包括TFS、Subversion(SVN)、Perforce、CVS和Visual Source Safe等。这也是人们倾向于半信仰的领域之一,所以我会小心谨慎!
我认为大多数人都会同意Visual Source Safe不是正确的选择。它作为一个源代码控制系统相当简单,但对于教授源代码控制并没有太大帮助。TFS、SVN和Perforce往往会得到用户的好评。
在这些中,SVN是唯一免费的,所以如果您计划将其作为学习练习,我倾向于从那里开始[实际上我相信您也可以获得免费的2个用户许可证,但我不确定)。您可以通过这个学习所有基础知识,以及更高级的领域,如分支和合并。
如果你想尝试一下,我建议你下载SVN本身以及TortoiseSVN客户端,它可以在Windows资源管理器中使用(我假设你使用的是Windows,因为你提到了Visual Studio)。你可能还想看看Visual Studio的源代码控制集成,这种情况下我使用VisualSVN(有一个免费试用版),但还有另一个流行的工具名字我想不起来了(希望有人能在评论中添加)。
此外,还有一本很棒的免费电子书关于SVN,可以在这里找到。
总的来说,回答你的具体问题:
我应该使用TFS还是SVN?
SVN。
我需要安装哪些程序?
SVN本身(服务器)和TortoiseSVN。
如何在Visual Studio中实现它们?
使用VisualSVN或其他适用于Visual Studio的SVN客户端。你不需要这个来学习源代码控制,但在IDE中尝试一下是非常值得的。
这绝对是一个好习惯,无论个人编程还是其他方面。祝你好运,并希望你喜欢使用源代码控制。在我使用过的源代码控制系统中,Subversion与Tortoise是我首选的选择(我使用过VSS、Subversion(SVN)和TFS)。
Subversion有一些关于它如何工作以及版本控制的一般概念的优秀文档,这样你就可以真正理解你正在做什么以及为什么要这样做。
如果你想在Windows堆栈上设置Subversion,那么最简单的方法是使用免费的VisualSVN。然而,Visual Studio的客户端插件不是免费的。但是有许多免费的替代品,例如Tortoise。
通常情况下,您不应该自己托管子版本控制/git/任何服务器。这是耗时且容易出错的。对于小型项目,可以免费找到Subversion和Git托管,并为您提供离线备份、随时随地工作的能力以及轻松添加离线程序员到项目中的能力。如果您的需求增长,您可以支付一小笔月费。
您可以使用谷歌搜索来寻找候选人。我使用的一个是http://unfuddle.com。