美文网首页
探秘.git目录

探秘.git目录

作者: 转岗做JAVA | 来源:发表于2019-10-11 19:50 被阅读0次
    • HEAD文件
      记录仓库当前是工作在哪个分支上,是一个引用,指向refs目录里某一个具体的分支文件;如果是处在分离头指针的场景下,HEAD的内容是一个具体的commit。

    不管是在分支上还是出于分离头指针的情况,HEAD最终始终都是跟某一个commit挂钩的。

    • config文件
      记录仓库的git配置信息。
    • refs文件夹
      包含heads和tags文件夹。heads里面包含所有分支文件,分支文件内容是commit对象;tags包含所有tag,tag文件中的object指向对应的commit对象。
    • objects
      存放git里的对象。git里有四个对象:commitblobtreetag。简单理解为,tag里面包含commit,commit里包含tree,tree里面包含tree和blob,blob就是单个文件。

    扩展

    git cat-file -t xxxx // 查看xxx git 对象的类型
    例如:
    git cat-file -t 00b5caac0bfff797e7dd8ba3df7e176366d284f8 // commitID
    
    commit
    
    git cat-file -p xxxx // 查看xxx git 对象的内容
    例如:
    git cat-file -p 00b5caac0bfff79
    
    tree 7b2a4cc1de9b1a76c7cbdebe8fd619a040e80fad
    parent 04f5cafc35205a0383660932e99f9488e8028802
    author qianyb <qianyb@ctrip.com> 1570790626 +0800
    committer qianyb <qianyb@ctrip.com> 1570790626 +0800
    
    Move readme to readme.md
    

    git 里的hash值如果能够唯一识别,则hash值可以不用完全输入。

    相关文章

      网友评论

          本文标题:探秘.git目录

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