【Git】Git的简介

git原理:从根本上来讲 Git 是一个内容寻址(content-addressable)文件系统,并在此之上提供了一个版本控制系统的用户界面。
1.内容寻址文件系统层
2.传输机制和版本库管理任务
“底层(plumbing)”命令&&“高层(porcelain)”命令


  1. git init
    当在一个新目录或已有目录执行 git init 时,Git 会创建一个 .git 目录。 这个目录包含了几乎所有 Git 存储和操作的东西。 如若想备份或复制一个版本库,只需把这个目录拷贝至另一处即可。
    默认生成:
    HEAD
    config*
    description
    hooks/
    info/
    objects/
    refs/
    ---git内部对象三种:数据对象、树对象、提交对象
    blob-object底层模式
    git hash-object -w file //输入文件,返回40位hash值
    git cat-file -p hashkey //输入hash值,返回文件内容

tree-object树对象模型(解决文件名保存问题)
git update-index --cacheinfo 文件模式
文件SHA-1值 文件名 // 在index中建立新的缓冲区,用于存储文件对象
git update-index --add 文件名//添加文件对象到缓冲区
git write-tree//将缓存区写为树对象,返回sha-1值
commit-object 提交对象
git commit-tree 对象sha-1值//输入提交提示,返回提交对象的sha-1值
git log 对象sha-1值//--stat将更详细

------------将对象的sha-1值引用(别名)
git update-ref refs/heads/master sha-1值
【当运行类似于 git branch (branchname) 这样的命令时,Git 实际上会运行 update-ref 命令,取得当前所在分支最新提交对应的 SHA-1 值,并将其加入你想要创建的任何新引用中。】
---tag object标签对象
git update-ref refs/tags/v1.0 sha-1值
---打包
git gc//【能差异化存储,减少尺寸,一般最新的版本存储完整文件,老版本存储差异】

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容