软件构造复习之git与svn

在进行第三章的复习时,对于git与传统vcs存储的变化感到了好奇,git采用文件的方式而非代码行,对于这点我个人产生了疑问,相较于文件整体的存储,记录代码行是否会更能体现出变化的细节,存储的成本时否会更小,我对git这种处理方式的优点产生了疑惑。

经过相关的查询,以传统的VCS——SVN为例子,通过对两种方式浅略的了解我对自己的问题有了一定的理解,git对待数据的方式像是一种快照流,这种快照流会把所有的文件形成索引,对于没有改变的文件它会保留一个链接指向存储,但是对于改变的会重新生成一份文件保存,这种方式确实存在占用磁盘空间更大的问题,但是比较于SVN,在切换版本时,这种记录差异的方式需要在原先的文件基础上应用差异,会大大降低效率,而git在此方面大大提升了效率,某种意义上来说这是一种空间换取时间的方式。

这让我理解到Git并非十全十美,正如软件开发过程中各种评估指标只能进行折中,追求极致的完美这种方式或许是一种不可能的事情,对于程序的开发与应用,我应该去更客观的进行设计而不是一味的追求绝对的最好,热门与流行的未必就是完美的,可能过失与淘汰的技术中其思想与理念仍应该值得去学习。

由于缺少经验与知识储备这篇文章干货有些少,日后在接触开发过程后笔者会进行进一步的扩充。

 

 

 

 

 

 

文章知识点与官方知识档案匹配,可进一步学习相关知识Git技能树首页概览2927 人正在系统学习中

来源:夢のかなた彼方

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月6日
下一篇 2022年5月7日

相关推荐