【git】-git的特点

【前言】

       相信大家用SVN(Subversion)这款版本控制系统已经非常熟练了,检出代码、上传文件感觉小菜一碟,下面小编来给大家介绍另外一款脱颖而出的版本控制工具,它就是Git ,免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

【Git的特点】

      1. 直接记录快照,而非差异比较

            git 关心的只是文件数据的整体是否发生变化,而大多数其他系统(比如svn)则只关心文件内容的具体差异,每次记录都有哪些文件做了更新,以及都更新了哪些行的什么内容。工作方式参见下图 。

         

      git  并不保存这些前后变化的差异数据,保存的是文件的快照。实际上,git更像是把变化的文件做快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引,为提高性能,若文件没有变化,git不会再次保存,而只对上次保存的快照作一链接,git的工作方式如下图所示:

      

      2.近乎所有操作都是本地执行

            在git中的绝大多数操作都只需要访问本地文件和资源,不用联网,因为它有本地数据库的镜像。但如果用集中式版本控制系统的话,差不多所有操作都需要联网,因为git 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。

           当你使用git的时候,你可以在飞机上或者火车上,频繁地提交更新,等到有网络了再上传到远程仓库,同样,在家里,你也可以继续工作,等到回到公司有网的时候,再推送到远程仓库中;当你使用svn的时候就没有这么爽快了, 虽然可以编辑文件,但是在进行文件提交和更新的时候就需要网络的支持,在实际体验之后,你会很享受git带来的不同。

     3. 时刻保持数据完整性

          在保存到git 之前,所有数据都要进行内容的校验和计算,并将此结果作为数据的唯一标识和索引。换句话说,不可能在你修改了文件或目录之后,git 一无所知。这项特性作为git 的设计哲学,建在整体架构的最底层。所以如果文件在传输时变得不完整,或者磁盘损坏导致文件数据缺失,git都能立即察觉。

         git  使用SHA-1 算法计算数据的校验和的机制叫做SHA-1 散列。这时一个由40 个十六进制字符(0-9和 a-f )组成字符串, 基于git中文件的内容或目录结构计算出来。SHA-1哈希看起来是这样:

         

            Git中使用这种哈希值的情况很多,你将经常看到这种哈希值。实际上,Git数据库中保存的信息都是以文件内容的哈希值来索引,而不是文件名。

【总结】

          作为新时代的产品,git 还有许多先进的特点,最好的理解就是去了解它,使用它,你会慢慢喜欢上它带来的体验的!!!  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的大白啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值