Pro Git笔记

blob object:没保存文件名的对象
git cat-file –t SHA-1,获取键为SHA-1对象的数据类型,如blob object。
git cat-file –p SHA-1,获取键为SHA-1对象的内容。
git hash-object [–w] 数据源,返回数据源的SHA-1值,开-w选项会将数据存入./git/objects/中。数据源可以是–stdin、文件名。

tree object:解决blob object没法保存文件名问题,并允许用户将多个文件组织到一起,tree object指向的内容格式为:文件模式 数据类型(blob/tree) SHA-1 文件名。
master^{tree},指向master 分支上最新的提交的树对象(的SHA-1)。
git update-index [–add] [–cacheinfo] 文件模式 SHA-1文件名,将文件命名为文件名,指定文件模式,然后存入staging 区。–add选项表示暂存区不含该文件,–cacheinfo选项表示文件位于./git/objects/中,blob对象的文件模式参数有10644(普通文件)、100755(可执行文件)、120000(符号链接文件)。
git write-tree,返回新创建的tree object的SHA-1,将暂存区内容(.git/index/的状态)写入一个tree object(存入objects中),前提是.git/index/的状态之前没有写入tree object。
git read-tree --prefix=name SHA-1,将SHA-1的tree object读入暂存区index,并将该tree object命名为name。
Commit Object:保存了作者、保存时间、保存原因的对象。对象格式为tree object的SHA-1、作者、提交者、注释。
echo ‘comment’ | git commit-tree SHA-1 [-p SHA-1’]:返回commit object的SHA-1。将一个键为SHA-1的tree object保存为commit object,若开-p选项,则说明有父commit object,父的键为SHA-1’。
git log --stat SHA-1,返回键为SHA-1的commit object的提交历史。
Git References:用一个名字指代160位(二进制)的SHA-1值(即分支名)。
echo “SHA-1” > .git/refs/heads/refs_name,给最近的commit取名为refs_name。
git update-ref refs/heads/refs_name SHA-1,上面命令的安全形式(检查SHA-1是否存在),git branch 的底层命令。
git log [–pretty=oneline] refs_name,返回键refs_name指向的commit object的提交历史,开–pretty=oneline表示每个commit object只显示一行。
The HEAD(Reference):二级引用,保存于.git/HEAD(HEAD不能指向remote reference)
git checkout refs_name:更新HEAD文件。
git branch branch_name,创建reference,指向HEAD指向的commit object。
git commit:创建commit object,该commit object的父是HEAD指向的commit object。
git symbolic-ref HEAD,返回HEAD引用指向的reference。
git symbolic-ref HEAD refs/heads/tes
Tags(Reference):指向某个Commit Objects
git update-ref refs/tags/tag_name SHA-1(Commit Object),创建lightweight tag,可以看作创建了一个不会移动的reference(与branch对比)。
git tag -a tag_name SHA-1-m ‘comment’,创建一个 annotated tag,依然保存于.git/refs/tags/tag_name,但其中的SHA-1值不是一个commit object,而是一个tag object,tag object保存了被指向的object的SHA-1(不一定是commit object)、object类型、tag_name、创建tag者信息、创建时间、tag注释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值