美文网首页
Git基本问题

Git基本问题

作者: 空空晓语 | 来源:发表于2016-05-31 17:53 被阅读33次

    1、用 500 字说说 Git 的前生今世。

    Git是目前世界上最先进的分布式版本控制系统,出自世界最大的免费开源操作系统Linux之父Linus之手,随着Linux内核代码库日益壮大,手工方式管理已经无法满足需求,Linus于是选择了商业控制版本Bitkeeper作为Linux内核的代码管理工具。2005年有人尝试突破Bitkeeper的协议,激怒了Bitkeeper的东家,后果就是收回Linux社区的使用权,Linus藐视其威胁,神迹般地在两周之内开发出Git,并迅速成为最流行的分布式版本控制系统。

    2、举例说明集中式与分布式版本控制的区别是什么?

    版本控制系统是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。假设现在风雷组的小伙伴,诗颖、勇哥、风哥和我需要一起协作写作业。(1)采用集中式版本控制系统就好比我们的组长诗颖是一个智能的中央服务器(CS),而我们组员之间无法沟通交流,只能跟诗颖单线联系,我们各自先从诗颖(中央服务器)那里获得了作业初稿版本V0,然后每人补充一部分后各自通过网络提交给诗颖(中央服务器),诗颖(中央服务器)整合成作业版本V1,我们从她那里获取版本V1后,大家开始提修改意见,勇哥觉得有块内容不太准确(但是他可能并不知道是我写的),于是对V1稍作修改后发给诗颖,诗颖处理后形成作业版本V2,我们又从诗颖那里获取了作业版本V2,后来我发现里面有些错别字,于是改了发给诗颖,同时风哥又灵感突发想补充点有趣的东西,也在V2上加了点料发给诗颖。因为诗颖十分的高效,所以同时将我们的修改处理后形成作业版本V3。除了诗颖,我们三个都无法快速知道是谁改动了哪些地方。而如果此时诗颖断网,那么我们三个就无法收到最新的版本V3。所以集中式版本控制需要有中央服务器,同时还要联网。当然集中式版本控制也无法追踪变化情况。(2)采用分布式版本控制系统就是我们小组通过微信电子邮件等多种通讯方式实时互联,每个人的电脑上都有一个完整的版本库,大家可以电脑不联网的时候进行修改,然后再将修改推送给对方。

    3、如何运用分支管理实现多人协作?

    风雷组开发一个项目,诗颖开发了一个新的功能,需要一周时间完成,目前完成一大半,如果她提交了这个版本,那么其余的人就不能继续开发了。但是等到她全部写完再全部提交,大家不能看到她的开发进度,也不能继续干活。现在我们采用分支管理来解决这个问题,诗颖可以创建一个属于他自己的分支来开发新功能,勇哥,风哥和我则继续在自己的分支上干活,最后整合大家开发的分支。这样我们既可知道大家的开发进度,又互不影响。

    相关文章

      网友评论

          本文标题:Git基本问题

          本文链接:https://www.haomeiwen.com/subject/pnacdttx.html