关于易于当地增添分支,图中Git当地和服务器端布局都很天真,一切版本都存储在一个目次中,你只必要举行分支的切换便可到达在某个分支事情的效果。而SVN则完整分歧,假如你必要在当地实验一些本人的代码,只能当地保护多个分歧的拷贝,每一个拷贝对应一个SVN服务器地点。举一个实践的例子,之前我地点的小组利用SVN作为版本把持工具,当我正在试图加强一个模块,事情做到一半,因为会改动原模块的举动招致代码服务器上很多测试的失利,以是并没有提交卸码。这时候候下级对我说,如今有一个很告急的Bug必要处置,必需在两个小时内完成。我只好将当地的一切修正diff,并输入成为一个patch文件,然后回滚有关以后义务的一切代码,再入手下手修正Bug的义务,比及修正好后,在将patch使用返来。前前后后要完成多个烦琐的步骤,这还不计两头代码产生抵触所要举行的事情量。但是假如利用Git,我们只必要开一个分支大概转回到主分支上,就能够随时入手下手Bug修正的义务,完成以后,只需切换到本来的分支就能够文雅的持续之前的义务。只需你乐意,每个新的义务都能够开一个分支,完成后,再将它兼并到主分支上,轻松而文雅。
散布式关于Git而言,你能够当地提交卸码,以是在下面的图中,Git有益于将一个年夜义务分化,举行当地的屡次提交,而SVN只能在当地举行大批的一次性变动,招致未来兼并到骨干上形成伟大的风险。Git的代码日记是在当地的,能够随时检察。SVN的日记在服务器上的,每次检察日记必要先从服务器高低载上去。我事情的小组,代码服务器在美国,每次检察小组几年前所做的事情时,日记下载就必要非常钟,这不克不及不说是一个疾苦。厥后我们迁徙到Git上,使用Git日记在当地的特征,我用Ruby编写了一个Rake剧本,能够检察某个详细义务的一切代码汗青,每次只必要几秒钟,年夜小气便我的事情。固然散布式并非说用了Git就不必要一个代码中央服务器,假如你事情在一个团队里,仍是必要一个服务器来保留一切的代码的。
总结
本篇先容了Git的基础观点、一些经常使用命令和道理,人人能够实验下手体味一下,下一篇会重点先容Git命令的利用技能,Git附带的工具,最初会在GitHub上创立一个开源项目,敬请等候