从源代码控制开始

时间:2020-03-06 14:26:37  来源:igfitidea点击:

对于想尝试某种源代码控制以及进入ASP.NET的新旅程的人,对于从何处开始,有何建议? SVN,VSS,CVS ...我什至不知道从哪里开始!

解决方案

Eric Sink的Source Control HOWTO。

阅读它,然后下载Subversion(免费)或者Vault(单个用户免费)并开始使用它。

特定于Subversion,但它对版本控制基础知识有很好的理解。

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

如果我们只是入门,我建议我们通读免费的Subversion书。它是一种广泛使用的系统,是免费的,一旦我们开始使用,它应该相对容易理解。

如果我们是100%.NET,并且拥有MSDN开发人员许可证,请为工作组运行TFS。它非常简单和扎实。

如果我们没有许可证,请查看Subversion。它是一个不错的,免费的源代码控件,其中包含用于Visual Studio集成的插件。

只要确保我们远离视觉资源就可以了。

最初,我是使用乌龟svn来介绍svn的,很喜欢它,后来又有一家公司使用Visual Sourcesafe,这是我错过使用乌龟的方式。

必须第二次阅读Subversion书。另外,该软件是免费的,可以在大多数环境中运行,并且易于使用。

我们可以开始浏览该站点。

https://stackoverflow.com/questions/tagged/source-control

获得《使用Subversion进行实用版本控制》一书的副本,它将入门。

图片http://ecx.images-amazon.com/images/I/51XYQTP2BYL.SL500_AA240.jpg

实用系列中有两本我读过的最好的书,可着手进行版本控制。它们具有SVN和CVS的版本。我真的很喜欢他们关于标签和分支的章节。

我认为最简单的方法是通过某个免费提供商获得免费的SVN服务器。我用Assembla。

然后,如果我们使用的是Windows,则应下载TortoiseSVN。到目前为止,这是最容易使用的Subversion客户端。

首先将当前项目导入到存储库中,然后就可以开始了。

我建议从SVN开始,比其他一些更容易掌握。

乌龟是一个好的开始。它很容易安装并与Windows Shell集成,这意味着右键单击文件夹/文件等时,一切都非常直观。文档也相当不错。

我们还需要SVN服务器/主机才能连接到...我可以推荐可免费注册并为我们提供SVN服务器的Assembla。

我认为,如果我们已经拥有Viual Source Safe,并且我们是使用VS进行开发的单一开发人员,那将是非常好的。它是一个简单的系统,对于小型的单个开发人员项目来说已经足够好了。对于小型项目,我已经使用了多年,没有任何麻烦。易于管理和备份。

我相信,关键点在于分布式版本控制系统(例如mercurial或者git)。有一些使用它的优点:

  • 我们不需要设置中央存储库(它需要繁琐的服务器设置)
  • 我们可以使用电子邮件或者其他方法与朋友共享变更集(修订),并将变更安全地集成到存储库中。
  • 我们可以轻松地修改修订历史记录(rebase,git支持),这是SVN无法完成的。

我将根据我们愿意花多少钱来推荐Subversion或者Visual Studio Team Foundation Systems。

查看Visual SVN(针对顽固的VS粉丝的Subversion),它与Visual Studio集成良好:http://www.visualsvn.com/

既然还没有人提及,我建议我们也考虑一下Git。甚至还有一个免费的源托管服务:github。

使用哪种源代码控制实际上取决于环境,企业文化以及公司中项目处理方式的一般情况。在Team Foundation中,较新的" Visual Source Safe"比VSS过去曾有过之而无不及。并且在一个或者几个地点的Microsoft商店中很不错。我也非常成功地使用了Subversion,它很好地集成到Eclipse中。我不喜欢放下产品,因为我猜所有产品都有其优点和缺点。但是我上面提到的两个是非常好的源/版本控制产品。如果我们只是入门,并且想弄清点子,学习源代码控制实践和一般概念,请下载CVS或者Subversion之类的开源产品,加载并试用。

http://www.ericsink.com/scm/source_control.html提供了一些很好的信息。

-我正在重新编辑此评论,以注意它看起来像其他人链接到上一篇文章中的该源代码管理链接。 :)该死,我不是第一个发布它的人。

仅安装工具是不够的。我们需要了解特定技术的工作方式(例如SVN)以及整个源代码树应该如何工作:最佳结构,标记,分支,合并等等。由于我们使用SVN,因此我建议使用Subversion Book。它对源代码管理概念有一些很好的解释。

我建议尝试使用免费的分布式版本控制系统。它们中的大多数都非常容易在个人PC上进行设置,并附带完善的文档。
这是我的最爱
1.集市
2.水银
3. Git(据我所知仅适用于基于* nix的系统)

在此处查看列表:

http://en.wikipedia.org/wiki/List_of_revision_control_software

签出Subversion(SVN)开始。正如其他文章所建议的那样,有一本非常出色的免费电子书,不仅涵盖了如何使用SVN,而且还是有关这些概念的绝佳起点。

对于易于设置的服务器,请从VisualSVN中检出免费服务器。

如果使用Visual Studio,则可以使用其加载项(成本)或者开源的Ankh SVN加载项。如果我们正在使用其他IDE,则Tortoise SVN会与Windows中的资源管理器集成。

这里的很多人都为我们提供了介绍和全面的操作方法方面的建议,这些都可以告诉我们如何做自己想做的事情。

此外,对于新手,我将提供三点建议,让他们知道我们想要什么:

1)一切都由版本控制(即,我们编写的所有内容)。

对项目文件进行版本控制。对测试用例进行版本控制。对用于复制内容的任何小脚本进行版本控制。对待办事项列表进行版本控制。绝对是版本控制设计笔记。一旦我们熟悉了命令,它就不花钱了,总有一天,我们会为从未想过要回滚的文件的历史感到高兴。

2)当我们对更改感到满意时,请立即将其签入。并全部检查。

如果我们按顺序进行工作(这种情况并非总是会发生,我们可能会分心,但这是一种好习惯),那么在每个新步骤开始时,结帐中应包含0个修改后的文件。我们甚至可能希望签入未完成的无效代码,具体取决于情况。

3)当我们达到一个里程碑时,请对其进行标记。

甚至是我们自己的个人目标(英寸鹅卵石)。如果我们不喜欢标记,则只需记下日期和时间(在我们猜中它是版本控制的文件中)。如果某个特定版本由于某种原因("我完成了后端","我已将其发送给其他人查看")而令人难忘,则我们想确切知道其中的内容。与存储库相比,诊断某些类型的错误要比调试器更快。

Visual Source Safe(VSS)对初学者来说很好,因为我们不会知道所缺少的内容。当我们需要更复杂的东西时,请担心要购买其他产品。

如今,我将从分布式系统开始。它们更易于设置(我们无需设置服务器和/或者在线查找一个:只需"初始化"一些随机目录并开始执行工作即可),并且与集中式一样容易/难以理解那些。

人们在选择分布式修订控制系统时应注意以下几点:

  • 吉特
  • 达奇
  • 汞(汞)

如果我们陷在Windows中,我将远离Git(至少暂时如此)。 Windows上似乎正在支持Git,但是我还没有尝试过。

对我使用过的产品的评论:

VSS已有一段时间(几年)没有使用它了,当时它已经满足了我们想要的基础,但是我们经常遇到各种问题,因此我们积极寻求更好的解决方案。如果我们有免费的访问权限,那么接触到它们的实现以查看当时有什么不同的方式来解决问题(这可能已经与其他产品同步了)也不会有什么坏处。 。

CVS在以前的公司中使用过此工具,并与tortoiseCVS的原始作者一起工作,因此我在认为这是一个不错的开源解决方案方面有些偏见。我建议个人从这里开始,一切都容易获得和广泛使用。

Perforce我们公司现有的源代码控制解决方案,在团队中得到了广泛的认可。人们也可以在两个可供选择的用户界面之间进行选择,并获得良好的命令行支持(对于工具交互至关重要)。如果我们正在评估一家公司,我肯定会将其包括在列表中以供查看。

从Subversion开始。该文档在线,并且《 Pragmatic Programmers Svn》这本书很棒。

如果我们使用的是Windows,则还可以使用TortoiseSvn(免费)进行资源管理器集成,或者使用VisualSvn(商业)进行Visual Studio集成。对于Mac,Versions看起来像是一个不错的独立客户端,并且XCode 3内置了svn集成。不过,我还是会在命令行中使用svn客户端花费一些时间来真正弄清楚自己在做什么。

熟悉svn的工作方式后,我们可以使用Git,Bazaar或者Mercurial等分布式版本控制系统,但是我已经看到足够多的专业开发人员在围绕版本控制的基本知识上遇到了麻烦(分支合并等)在开始使用分布式系统之前,我首先会对此感到满意。

远离Visual SourceSafe(VSS)。是便便代码不安全。有关为什么不使用VSS的信息,请参见这些链接。

尝试Unfuddle获取免费的托管SVN源代码控制。

Subversion / TortoiseSVN的另一票,但请注意,它与FAT32家用NAS搭配使用效果不佳。

颠覆