我是一名初学者开发人员,从一开始我就一直在想,如何使用诸如GIT和Subversion之类的专业工具(我对这些工具没有很好的了解)来满足他们项目的需求。如果他们确实使用它,我将如何设置类似的东西?
我的申请不是很大,我还没有加入团队,这对我有很大帮助吗?
这个网站上有关于如何使用工具的问题,但是我需要初学者的支持。
我是一名初学者开发人员,从一开始我就一直在想,如何使用诸如GIT和Subversion之类的专业工具(我对这些工具没有很好的了解)来满足他们项目的需求。如果他们确实使用它,我将如何设置类似的东西?
我的申请不是很大,我还没有加入团队,这对我有很大帮助吗?
这个网站上有关于如何使用工具的问题,但是我需要初学者的支持。
Answers:
源代码管理无处不在-甚至有人说如果不使用它,就不能称自己为专业开发人员。即使在单独开发时,源代码控制仍然提供了很多好处。最后,它提供了历史记录和广泛的撤消路径。它还可以让您腾出更多的时间进行更多的实验,并且可以放心,如果您不喜欢新版本,可以随时切换回以前的版本。
也就是说,即使在Subversion或Git之类的源代码控制系统中,工作流也因团队而异。最好的起点可能是选择一个源代码控制系统并熟悉其标准工作流程(在您的头脑中,您将不得不在整个职业生涯中切换工作流程)。
对于入门,我建议使用Git。我是Git迷,但更具体地说,选择Git gets可以让您从无服务器工作开始,仅在对您有意义的情况下设置服务器。另一方面,Subversion需要一台服务器并进行设置,尽管不是很困难,但是当您不熟悉这种事情时,这令人望而生畏。
以下是对源代码控制的一些良好经验法则的总体概述:http : //scottonwriting.net/sowblog/archive/2008/11/13/163320.aspx
独自工作时,您不需要大量的工作流程。提早提交,经常提交。如果您开始推出版本,请标记您的发行版本。创建用于实验或长期分散工作的分支(与Subversion相比,Git使其更便宜,更简单)。
源代码控制系统(SVN,Git等)处于非常简单的级别,可让您保留文件的更改历史记录。这使您可以查看代码随时间的变化情况,并回滚您可能不需要的更改(例如,更改无法按预期进行,您可以将代码还原为以前的已知状态)。一旦开始使用它,即使您自己开发,也将变得无价之宝。
当您与团队中的其他人一起工作时,由于多个人可以更改同一个文件,因此收益会增加更多,并且如果更改不冲突(例如,两个人更改了文件的不同部分),则更改将被合并自动。如果有任何冲突,那么您将可以在同事旁边看到所做的更改,并与他们讨论如何合并更改。
您还可以在发布代码版本时创建代码库的快照(通常称为标签),以便即使主要源代码仍在使用可能尚未发布的新功能,也可以轻松调试问题。
这里有一些有用的资源:
初学者教程
有很棒的教程(视频和文本)可以帮助您从一个非常基础的层次开始。对于初学者来说,Git似乎有一种很好的方式来温和地介绍该主题,它会告诉您为什么要先这么做,并使用重复,定义和图形来帮助您记住关键命令的名称和功能。
SVN
SVN打算做更好的CVS。CVS(并发版本系统)一次处理一个文件,而SVN通常一次处理一个目录或目录树。如果您在工作中使用SVN(以及CVS或其他系统),则可能很重要,但我的看法是,我们会大大提高我们对每隔几年执行源代码控制的理解,就像您更喜欢较晚的模型一样在计算机上,您应该选择较新的模型源代码控制工具。更改系统是一笔巨大的投资,并且代码历史记录可能会丢失,尽管对于许多系统而言,都有转换器使您可以迁移代码以及历史记录和要淘汰的系统创建的其他工件。
专业的源代码控制满足专业需求
您的问题“专业人士如何使用GIT和Subversion等工具来满足他们项目的需求?” 与以下问题密切相关:“团队如何一起工作而又不会互相干扰,同时又要尽快工作?”
随着一些开发人员编写其他开发人员将使用的代码,以及各种利益相关者需要不同级别的稳定性与创新,该代码经常更改。源代码控制系统通过存储供团队使用的代码来提供帮助,将每个更改保持在上下文中,版本随时间变化,并且通常还包含分支,这些分支是代码的受控副本,用于将更改组与其他更改组隔离开。
将事情重新组合在一起,合并许多团队成员的工作是一件令人头疼的事,在SVN和较旧的系统中,这些工作非常集中且困难。对于使用Git的团队来说,合并变得更简单,并且更容易受到整个团队(而不是几个专家)的影响。在SVN中,分支可能是个人事务,但合并通常会对团队造成痛苦的影响,并且从获得许可,避免破损的角度来看,将代码移回主行可能是痛苦的,并且需要完成任务的工作量。
通过已建立的源代码控制存储库,专业人员可以满足其他需求,例如从根本原因诊断问题。如果存在曾经使用过的代码版本,并且在当前版本中出现了新发现的问题,则可以在历史记录中前进和后退以查明问题发生的时间。在SVN中,此功能尚不成熟,但在Git中,名为git bisect的命令支持搜索最后一个工作/第一个失败的版本。该问题将由两个版本之间的源更改之一引起,这可能比搜索整个代码库更容易诊断。
很抱歉漫步,希望这对您使用源代码管理有所帮助。
我的团队使用自行开发的团队版本控制系统。(遗憾的是,Git似乎还不能在IBM i“本地”源文件上运行)。但是就个人而言,一旦从该系统中获取了源代码,便会在开发过程中使用Git,直到项目完成并将其检入到团队VCS。
正如他们在投票中所说的那样……尽早提交,请经常提交。在开发新功能时,我会做出承诺。我在编译之间进行提交,并且每次尝试在测试和调试期间进行更改时都尝试纠正编译器错误。这样可以简化对主题的多种尝试,并在需要时轻松地退出主题,尤其是当跨多个文件协调更改时。
Git改进了我开发的方式。