zoukankan      html  css  js  c++  java
  • git的基本概念

    基本git概念

    git是对代码版本控制的工具,git维护两个数据结构对象库和索引。

    1.对象库

    git的对象库种有四种对象:

    1. blob 块对象:也是 binary large object 的缩写,一个文件对应一个快对象。在快对象中只存储文件的内容,而不存储文件的元数据如文件名和文件路径
    2. tree 树对象:树对象用来管理快对象,和文件的元数据。当然树对像也可以包含树对象。
    3. commit 提交对象:提交对象指向树对像,还包含了提交的作者和邮箱(这些在安装git时就设置了,存储在C盘种用户文件夹下的.gitconfig文件下),与提交的原因。
    4. tag 标签对象:标签对象指向一个提交对象,虽然每一个提交对象都会有一个SHA1值来指定如 a64837186d68e545ee5f96304 c816d93b276e643 但是没有标签 V1.0这样人性化。

    只要是对象都可以通过git cat-file -p sha1值的前6位查看该对象的内容

    2. 索引

    索引包含了一个版本的所有目录结构,比如在向git中添加一份文件后会形成一个块对象和新的索引,包含了该文件的元数据,增删改查文件是不会立即提交到git版本库中的,只是暂存起来,git也会在索引里面暂存这些变更。然后用索引可以创建树对像。查看当前索引下的文件可以通过git ls-files -s命令。

    3.案例

    先在hello文件夹有文件hello.txt,初始化git,向git中添加hello.txt文件,然后通过索引创建树对象git write-tree

    -hello
    	hello.txt
    

    然后将hello.txt复制一份到subdir文件夹下,将复制的hello.txt添加到git中,在通过索引创建树对像,提交新的树对像git commit-tree sha1值的前6位创建提交对象。

    -hello
    	hello.txt
    	-subdir
    		hello.txt
    

    通过git tag -m "标签信息" 标签名 sha1值的前6位创建一个标签对象指向提交对象。

    过程如图所示

    git基本概念 (1)

    最后对象的关系为:

    未命名文件 (1)

    blob对象

    image-20210117193535182

    树对象

    image-20210117193749834

    image-20210117193818246

    提交对象

    image-20210117193926907

    标签对象

    使用git tag -m "标签信息" V1.0 sha1值的前6位生成标签对象后可以使用git rev-parse V1.0查看标签对象的SHA1值,然后

    git cat-file -p 8c7012查看对象内容。

    image-20210117210615753

    image-20210117194113795

    4.总结

    git init --初始化git
    git add ./文件名 --添加文件
    git write-tree --创建树对象
    git commit-tree sha1前6位 --创建提交对象
    git commit -m "提交原因" --前两个的功能
    git tag -m "提交信息" 标签名 需要指向的提交对象的sha1值前6位 --创建标签对象
    git ls-files -s --显示索引的所有文件
    git cat-file -p sha1前6位 --查看对象的组成
    git rev-parse sha1的前6位/标签名 --查看对象完整的sha1值
    
  • 相关阅读:
    Apache Hadoop 3.0.0 Release Notes
    控制你的数据,你才能得到有效且高效的数据结果
    读写分离与主从同步数据一致性
    代理ip proxy
    maximize_window fullscreen_window minimize_window
    HTTP 代理原理及实现
    browser user agent
    res_d_l =[{'contents':d.contents,'href':d.attrs['href']} for d in rd] 泛型
    tmp
    Connection reset by peer
  • 原文地址:https://www.cnblogs.com/iandf/p/14289921.html
Copyright © 2011-2022 走看看