Jos*_*ard 3 git bash sha git-bash
我看过这篇文章,它提到 Git 对我正在使用的版本使用 SHA-1 哈希。然而,当我将 的输出git hash-object与熟悉的进行比较时sha1sum,我得到了不同的结果。例如:
$ git --version
git version 2.17.1
$ git hash-object data/letter.txt
2e65efe2a145dda7ee51d1741299f848e5bf752e
$ sha1sum data/letter.txt
86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 data/letter.txt
Run Code Online (Sandbox Code Playgroud)
我正在关注这个帖子。该文件letter.txt包含一个字母“a”。
为什么这些命令会产生不同的结果?
哈希值不匹配,因为 Gitblob #{content.length}\0在(文件的)数据/内容前面添加了标头 ( )。
参见 https://git-scm.com/book/en/v2/Git-Internals-Git-Objects