Git原理架构详解

Git是什么?

Git是一个开源分布式版本控制系统,可以高速并且有效的处理很小到非常大的项目版本管理。Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开源版本控制软件

什么是版本控制?

版本控制一般是指程序开发过程中的代码版本,配置文件及说明文档等文件修改变更的管理,版本控制最主要的功能就是追踪文件的修改变更等操作,称之为版本控制!

例子-代码

公司研发部门接到老板要求开发一套为公司内部运营人员所使用的内部管理系统,公司研发有主管、小张、小王、小徐等四人,项目需求初步定为此套系统需要20个功能,他们四人各负责开发5个功能,一个月后他们各自写好了自己所开发的功能;主管说:“把你们的代码都给我吧,我把咱们的所有代码整合到一起”,随后,20个功能被主管整合到了一起,因此,此项目的“初版”已成型,然后把代码放到测试环境进行测试,发现小张的某个功能有问题,让小张找出BUG并修复,小张修复后,整个项目的代码等于在“初版”之上调整一次,成为了“二版”,再次上测试环境进行测试之后,完整通过,老板开始验收他自己想要的这20个功能,老板看到功能后发现其中有8个功能标准不符合他预期,要求重做,并且再次增加5个功能,研发部门开始分工重做及开发新功能,研发累死累活三天,每人都熬了两个迷人黑眼圈后,修改及新开功能完成,测试环境通过,这次,是第三次修改代码,我们这里称之为“三版”,然后再次向老板提功能验收,老板验收成功,研发挑了个黄辰吉日,然后提出新系统上线申请,申请通过后,通知运维大哥们,要求黄辰吉日那天一起协助新系统上线,新系统毕竟首次上线,线上版本定为0.1V版本!

例子讲解

主管、小张、小王、小徐他们四人初期各开发5个功能,姑且不说他们各自对自己所开发的功能是怎样管理的,他们20个功能整合到一起后,第一个“初版完成”,测试到小张的某个功能有问题,小张修复后,“二版完成”,这个时候就可以使用版本管理系统,每次代码的变更都属于版本控制的管理范围之内;例如变为了二版,形成了新的目标版本,而对于不受变更影响的配置项则不应发产生变动。同时,应能够将变更所产生的对版本的影响进行记录和跟踪。必要时还可以回退到以前的版本。例如当开发需求或需求变更被取消时,就需要有能力将版本回退到开发基线版本。在曾经出现过的季度升级包拆包和重新组包的过程中,其实就是将部分配置项的版本回退到开发基线,将对应不同需求的不同分支重新组合归并,形成新的升级包版本。

例子-简历

假如我们想修改简历的项目经验这一块内容,但是又怕修改后还不如不改之前更令人信服,我们常规的办法就是,复制一份“副本”,在副本之上做修改,反反复复几次,就变成了很多副本或者版本这样,例如过了两个月,你又想跳槽了,你想找到简历内你想要的内容,只能依次打开去找,真头大!这个时候我们就可以使用到版本管理系统,版本管理系统功能同上讲的代码例子一致

版本控制系统

本地版本控制

其中一种叫做 RCS,很少见的系统,已经被淘汰掉了,说实话我没听过, 它的工作原理是在硬盘上保存补丁集(补丁是指文件修订前后的变化);通过应用所有的补丁,可以重新计算出各个版本的文件内容。你们忘了吧RCS吧,记住他的工作原理就行。

保存补丁集

我们经常用的就是复制整个项目目录的方式来保存不同的版本,或者进行版本迭代及时间迭代,这么做的唯一好处就是简单,但是特别容易犯错,有时候会混淆所在的工作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值