分类 git 下的文章

data = blob <data length>\x00<data>
hash = sha1(data)
data = zlib(data)

write(hash[:2] + "/" hash[2:], data)

blob
tree
commit 都类似

chmod后导致文件显示有修改,可以通过关闭文件权限检查来忽略
git config core.filemode false
git config --global core.filemode false