zoukankan      html  css  js  c++  java
  • git 4种对象的理解

    git中有四种基本对象类型,可以说Git的所有操作都是通过这四种对象完成的。下图是《Git版本控制管理》中文第二版的原话,顺便吐槽一下,这本书真的翻译的一般。。

      下面说下我的理解吧,首先blob对象,blob文件是一种二进制文件,当把一个文件add进暂存区时就生成一个blob对象,它包含了这个文件的所有数据,但不包括文件名字、路径、格式等信息,之后每次提交只要文件有变更都会生成一个新的blob对象,但原有的blob对象也会保存下来,也就是说只要内容相同的文件在Objects库中只存在一份,这也就是Git和其他版本控制系统的区别。还要说明的是,每个blob对象的id是对文件内容进行hash得到的,这样在比较文件是否修改了的时候只用比较对应的blob对象名是否相同就可以了。

           tree对象,可以把它想象成文件目录,每个tree对象包含0个或多个tree对象和blob对象。
           commit
    对象,每次提交都会生成一个commit对象,而每个commit对象都对应一个tree对象,通过这个tree对象可以查看这次提交的所有信息。
           tags
    对象,tags对象主要是为了解决每次提交id太长不好记的问题,可以对每次提交标注一个tag

            

     

    作者:鹿丸不会多项式 出处:http://www.cnblogs.com/hechao123 转载请先与我联系。
  • 相关阅读:
    IPUtil
    MD5Util
    MyBatis环境配置及入门
    淘宝主页(静态页面)第3天
    淘宝主页(静态页面)第二天
    淘宝主页(静态页面)第1天
    力扣20 有效的括号
    力扣1 two sum
    JAVA可变参数
    JAVA环形队列
  • 原文地址:https://www.cnblogs.com/hechao123/p/6416757.html
Copyright © 2011-2022 走看看