使用源代码控制

4
我是一名非常新的程序员,我已经制作了几个基本应用程序,但有人告诉我,在学习初期就开始使用“源代码控制”会很好,这样我就可以逐渐习惯它。 我了解到,源代码控制是用于管理多个程序员编写的程序的工具,并且它直接与我的Visual Studio项目相关联。 我还相信有两个主要版本,“TFS”和“SVN”。 除此之外我就比较迷茫了,我不确定我需要什么来实现这个功能,特别是在我的个人项目上如何实现。 另外,我不知道需要安装哪些程序。
我应该使用TFS还是SVN? 我需要安装哪些程序? 如何在Visual Studio中实现它们? 对于我的个人编程来说,这是一个好习惯还是你不同意?

这是个人编程绝对应该养成的好习惯。其中最有用的之一是能够提交您当前的代码,进行一些更改以测试某些内容,然后如果更改不起作用,则回滚到上次提交。这比保存副本、手动还原文件或者在不确定更改是否有效时执行的任何其他操作都要简单得多。您也不必事先知道自己可能想要还原某些内容(这是一个很大的优点)。当事情变得更加复杂时,您还可以了解分支和合并。 - Redwood
8个回答

8

请打开维基百科,你需要阅读一些内容:

  1. 版本控制
  2. Subversion

通过阅读,你应该更好地理解什么是源代码控制。作为程序员,我相信你会发现“保存”正在工作的内容、逐步进行更改并能够返回到这些更改的意义。

简而言之,版本控制是回到过去的能力,以便您可以阅读您在那个时刻编写的代码。


4

首先,除了你提到的这两个版本控制产品之外,还有许多其他版本控制产品,但我建议先熟悉SVN

TFS价格昂贵,且与Microsoft stack绑定。

我建议先阅读这篇文章:

http://svnbook.red-bean.com/

特别是基本概念一章。

是的,这本书与svn相关,但它也涵盖了基础知识。

当你阅读完毕后,请下载TortoiseSVN。这是一个可以连接到Windows shell的svn客户端。只有当你熟悉使用它后,才会转移到集成的svn客户端。(实际上,我不使用任何一个)AknhSVN是免费的。


3

源代码控制系统与您的IDE分开。您可以从命令行或图形客户端以及IDE中使用它。

关于源代码控制系统,您应该知道以下内容:

  • 将增量更改保存到SCM(源代码管理)中,并且每次保存都会接收唯一的id /修订版
  • 您可以在任何时候检索任何修订版,因此不会丢失更改
  • 这使您有权删除未使用的代码、调试信息或重构现有功能
  • 最重要的是,它为团队的所有成员提供了这些功能,以便他们可以同时在自己的开发机器上使用相同的代码库进行工作

您可以从此处获取svn,因为它非常受欢迎(特别是对于开源项目),并且得到广泛支持。您可以从此处生成命令行客户端:

http://subversion.tigris.org/

这是一个不错的图形界面(Windows):

http://tortoisesvn.net/

这是一本免费的书,帮助你开始使用svn:

http://svnbook.red-bean.com/

如果您需要在开发机器上设置服务器,本教程应该能够帮助您:

http://blogs.vertigosoftware.com/teamsystem/archive/2006/01/16/Setting_up_a_Subversion_Server_under_Windows.aspx


2

我建议不要用Linus侮辱(部分)听众的讲话作为版本控制的最佳介绍。 - Greg Hewgill
你可能是对的。但是如果有人从零开始,我认为这是一个很好的机会从一开始就选择一个“更好的工具”。 - raoulsson
1
Git目前没有配合Visual Studio的钩子(hook)功能...这是问题作者(OP)其中之一的要求。 - Jeff Fritz

1

有许多不同的源代码控制提供商,包括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中尝试一下是非常值得的。

这绝对是一个好习惯,无论个人编程还是其他方面。祝你好运,并希望你喜欢使用源代码控制。

阅读其他答案中提到的,Visual Studio中用于SVN的另一个客户端是AnkhSVN(http://ankhsvn.open.collab.net/),它是免费的。我自己没用过,所以无法评论它。 - Rob Levine
本来第一段可以加1分,但是后面没有跟进。 - Richard

0

我发现这篇文章非常清晰易懂。(它推荐使用SVN)。


0

在我使用过的源代码控制系统中,Subversion与Tortoise是我首选的选择(我使用过VSS、Subversion(SVN)和TFS)。

Subversion有一些关于它如何工作以及版本控制的一般概念的优秀文档,这样你就可以真正理解你正在做什么以及为什么要这样做。

如果你想在Windows堆栈上设置Subversion,那么最简单的方法是使用免费的VisualSVN。然而,Visual Studio的客户端插件不是免费的。但是有许多免费的替代品,例如Tortoise。


0

通常情况下,您不应该自己托管子版本控制/git/任何服务器。这是耗时且容易出错的。对于小型项目,可以免费找到Subversion和Git托管,并为您提供离线备份、随时随地工作的能力以及轻松添加离线程序员到项目中的能力。如果您的需求增长,您可以支付一小笔月费。

您可以使用谷歌搜索来寻找候选人。我使用的一个是http://unfuddle.com


我尊重地不同意自己托管Git存储库很耗时或容易出错的观点。 我发现使用git非常容易。 实际上,据我所知这是使用git的唯一方式。 如果您的源代码控制系统不如git易于使用,那么可能您的源代码控制系统存在应该修复的错误。但是,你提到的随处工作和备份是有好处的。 - Noah Lavine

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接