Git研究

以下命令在CentOS系统下执行

创建Git仓库

git init git-example

监控.git目录的变化情况:

watch -n .5 tree .git

写入文件内容,并把文件添加到Stage暂存区

echo 1 > t.txt

git add 1.txt

观察结果如下:objects下多出了一个d00491fd7e5bb6fa28c517a0bb32b8b506539d4d的对象

git cat-file -p d00491fd7e5bb6fa28c517a0bb32b8b506539d4d  查看对象的内容为1

git cat-file -t d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 查看对象的类型为blob

知识点:Git的Objects对象的名称d00491fd7e5bb6fa28c517a0bb32b8b506539d4d计算方式是SHA1(<对象类型> <内容长度>\0<原始内容>)

SHA1(blob 2\01) 注意:在C语言中,\0用于标记字符串的结束。(不是\0字符本身,需使用printf输出\0空字符

(printf "blob 2\0"; echo "1") | sha1sum

计算SHA1便捷指令:

(printf "blob %d\0" $(wc -c < 1.txt); cat 1.txt) | sha1sum

提交Commit文件,查看Objects变化(多了2个Object,一个tree,一个commit)

git commit -m "first commit"

Tree对象的内容:

Commit对象的内容:

最后查看 master 分支的 head 指向,可以看到指向了最新提交对应 commit object 的 key

cat .git/refs/heads/master

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值