编程技术记录

世界你好!

关于 Git Commit ID的计算过程讨论,可参考 How is git commit sha1 formed

计算过程

# 获取元数据字符串
info=`git cat-file commit HEAD`

# 计算元数据的字符串长度
infoLen=`echo $info | wc -c`
infoLen=${infoLen// /} 

# 拼接字符串
str=`printf "commit %s\0" $infoLen`
str=$str$info

# 计算SHA1
echo $str | shasum

其他

使用git cat-file -p hash命令查看git hash代表的具体内容

git cat-file -p 哈希字符串

发表回复

© Beli. All Rights Reserved.