Getting started with Version Control我需要实现版本控制,即使是在家中进行开发也是如此。 我已经阅读了有关Subversion在过去几年中的出色表现,并打算全力以赴地学习这一知识,直到我听说Git是即将推出的版本控制系统。 在这种情况下,我应该推迟一下,看看哪一个排名第一吗? 它们的相对优势是什么? 我注意到Git的一个问题是功能齐全的GUI并不多,这对我团队中的许多用户而言都很重要。 另外,不介意关于如何开始使用另一种的建议。 (教程等) 关于版本控制,最重要的是: 刚开始使用它 不使用版本控制是一个可怕的想法。如果您不使用版本控制,请立即停止阅读并开始使用它。 转换非常容易
选择哪一个都没关系。只需选择最简单的一种即可使用,然后开始记录代码的历史记录。以后您始终可以迁移到另一个(D)VCS。 如果您正在寻找易于使用的GUI,请查看TortoiseSVN(Windows)和Versions(Mac)(建议无编码方式建议) 编辑:
这个。如果您不知道版本控制可以为您做些什么,那么使用git是没有意义的。 编辑2: 刚刚在reddit上看到了此链接:Subversion备忘单。 svn命令行的快速参考。 使用subversion,它易于设置,易于使用,并且具有许多工具。将来的任何修订系统都将具有从SVN导入的功能,因此,如果您的需求不断增长,就好像您不能随心所欲。 Subversion书籍是学习该工具的最佳选择。可能还有其他快速入门教程,但是《本书》是您会发现的最好的单一参考。 Git具有一些不错的功能,但是除非您已经使用了CVS或Subversion等更标准的功能,否则您将无法欣赏它们。我绝对会同意以前的海报,并从Subversion开始。
如果您是版本控制的新手,请阅读以下内容: 选择SVN。如果您以前从未使用过源代码管理,那么对您而言,无论哪种方式都无关紧要。 同样,使用源代码控制系统也不会涉及大量的学习。如果您学习一个,则可以在以后轻松地切换到另一个。 SVN是一个很棒的工具,它应该满足您的大多数需求。而且自从问世以来,它就拥有GUI工具(例如TortoiseSVN)的公平共享者。 选择SVN。 我已经使用了RCS,CVS,SCCS,SourceSafe,Vault,perforce,subversion和git。 我已经评估了BitKeeper,Dimensions,arch,bazaar,svk,ClearCase,PVCS和Synergy。 如果今天必须启动新的存储库,则选择git。把手放下。 它是免费,快速且正在积极开发中的。 您可以使用git-svn将其用作任何Subversion存储库的客户端。 摇晃。 有关大多数基本概念的友好说明,请参见版本控制的可视指南。这篇文章对SVN非常友好。
我发现git实际上更容易做到这一点,因为您不需要服务器,也不必担心输入URL等。您的版本控制内容仅位于项目内的 5秒的简介(假设您已安装)
下次您进行一些更改
只要您这样做,git就可以为您服务。如果您搞砸了,那么您的代码在不错的git存储库中是安全的。这很棒
根据我自己的经验,我不会推荐git作为版本控制的简介。我已经使用了几个月,我的印象是它非常强大,并且-我现在已经部分了解了它-相当直观。但是,即使我多年来一直使用版本控制,学习曲线也非常陡峭。它也表现得太强了-它支持许多不同的工作流程和开发模型,但是有关"最佳"使用方式的唯一指南是在Google搜索中深入了几页,这对于新手来说也很棘手。起来 就是说,从git的空白开始实际上可能会更容易-我的VCS经验全部是集中版本控制(CVS,SVN,Perforce ...),而git的部分困难(正在进行中!)了解分布式模型的含义。我简要浏览了其他DVCS,例如Bazaar和Mercurial,它们似乎对新手更友好。 无论如何,正如其他人所说的,Subversion可能是适应版本控制思想和获得VCS好处(回滚,分支,协作开发,更容易的代码审查等)的实践经验的最简单方法。 哦,别以CVS开始。它仍然在实际使用中并具有优势,但是恕我直言,它有太多的历史怪癖和实现问题(非原子提交!),不是学习的好方法。 在我目前的工作中,我的前任没有使用任何类型的版本控制。在他保存所有项目的至少3个不同的地方只有一堆文件夹。可以期望任何随机项目文件夹至少找到一个文件夹名称" project(OLD)"和一个名为" project"的文件夹 使用版本控制,您无需复制"安全"构建。您真的不必担心IDE会破坏您正在处理的文件(我正在看着您,REALBasic 5.5),因为它每天都很容易提交(阅读:保存)。 不用说,我发现版本控制存在的第二天就安装了它。 同样,TortoiseSVN使提交数据库的操作就像右键单击一个文件夹一样容易。 我的投票投向了Subversion。它非常强大,但易于使用,并且具有一些出色的工具,例如TortoiseSVN。 但是正如其他人在我之前说过的那样,请开始使用它。源代码控制是软件开发过程中如此重要的部分。没有"严肃"的软件项目,就应该没有它。 如果要避免任何命令行工作,也请尝试使用服务器的Visual svn。 如果您使用的是Mac OSX,我发现http://www.versionsapp.com/">版本是SVN的不可思议的(免费)GUI前端。 Git优于Subversion,但在前沿方面有点不足。 我想说的是,如果您才刚刚起步,那就快点走吧;设置一个免费帐户@ http://github.com 他们在现场有用于设置和使用git的教育资料。 不要等选择一个,然后去。所有系统都有其优缺点。您的力量可能枯竭,计算机被盗,或者您忘记撤消主要更改,并且所有代码都被浪费,而您正等着看谁能胜出。 使用TortoiseSVN(如果是Mac,则为version.app)。只需安装即可。如果需要托管代码的地方,请访问http://beanstalkapp.com/
如果您选择使用Subversion,并且希望托管自己的svn服务器,则有一个非常漂亮,简单的基于Windows的服务器,称为VisualSVN服务器。它掩盖了设置apache服务器的复杂性,您基本上只需下一步下一步即可。 http://www.visualsvn.com/server/ 使用公共服务的类似beantalk可能更容易,但是有些人喜欢拥有自己的存储库,以提高速度或提高安全性。 SubVersion是您的最佳选择,正如Karl Seguin指出的,迁移到另一个版本控制系统将不是问题。 SVN在客户端(TortoiseSVN)中也非常容易使用GUI。
http://www.snee.com/bobdc.blog/2007/08/getting_started_with_subversio.html 在版本控制系统之间切换并不难。正如其他人提到的,重要的是尽快开始使用任何东西。与不使用源代码控制相比,使用源代码控制的好处大大超过了不同类型的源代码控制之间的区别收益。 请记住,无论使用什么版本的源代码管理,您都可以通过将旧系统中的文件放到磁盘上,然后将这些原始文件导入到新系统中,来进行暴力转换到另一个系统。 此外,作为软件开发人员,熟悉源代码控制基础知识是一项非常非常重要的技能。 如果在窗户盒上,一个快速且肮脏的解决方案是CVSNT。易于使用,只需对其进行设置即可,并且效果很好。 我自己更喜欢SVN,但这是快速使用的好工具。 当我决定必须使用代码版本控制系统时,我四处寻找有关入门的良好教程,但没有找到任何可以帮助我的教程。 因此,我为客户端简单地安装了SVN Server和Tortoise SVN,并深入研究了深层次,我不了解如何使用它。 开始在实际工作中使用SVN,但请尝试花些时间摆弄Git和/或Mercurial。 SVN对于生产而言相当稳定,但是最终您将面临一个需要分布式SCM的场景,届时您将得到适当的配置,新系统将足够成熟。 在阅读Wil Shipleys博客后,我开始使用Subversion。 因此,我开始检入代码,一台计算机和dreamhost帐户。然后,在我不小心删除了一个函数并保存了我的项目之后,我知道我处于" dudu"深处,但是通过Subversion,我只是签出了该文件的最新版本,就好像什么都没有发生。 我现在对所有内容都使用版本控制。我打算转移到git,因为它速度更快,可以离线工作,占用更少的空间,哦,天哪,它更快。
|