Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么GIT为同一个二进制文件(图像)生成的SHA1与其他工具生成的SHA1不同?_Git_Sha1 - Fatal编程技术网

为什么GIT为同一个二进制文件(图像)生成的SHA1与其他工具生成的SHA1不同?

为什么GIT为同一个二进制文件(图像)生成的SHA1与其他工具生成的SHA1不同?,git,sha1,Git,Sha1,Hy 出于好奇,我测试了GIT生成的SHA1的图像文件“tech01.jpg”,但是GIT生成的SHA1和其他工具生成的SHA1有所不同 据我所知,SHA1对于相同的文件、二进制内容或相同的文本应该是相同的,而与系统无关 那么,为什么GIT生成的SHA1与其他工具生成的SHA1不同呢。GIT是否使用不同的加密算法或任何其他修改文件/文本的方式,或者可能是我在理解GIT对SHA1的使用时遗漏了什么 这就是我得到的: 我目前正在通过Bash(MingWWindows7)64位机器上使用GitVer

Hy

出于好奇,我测试了GIT生成的SHA1的图像文件“tech01.jpg”,但是GIT生成的SHA1和其他工具生成的SHA1有所不同

据我所知,SHA1对于相同的文件、二进制内容或相同的文本应该是相同的,而与系统无关

那么,为什么GIT生成的SHA1与其他工具生成的SHA1不同呢。GIT是否使用不同的加密算法或任何其他修改文件/文本的方式,或者可能是我在理解GIT对SHA1的使用时遗漏了什么

这就是我得到的:

我目前正在通过Bash(MingWWindows7)64位机器上使用GitVersion2.13.0.windows.1

测试图像文件。

Git没有计算文件的SHA-1。每个文件(包括存储在Git中的每个文件)都有一个标头,其中包含有关对象的信息,包括对象的类型(在本例中,文件是“blob”对象)和对象的大小

您可以通过运行以下命令来计算文件的Git对象ID:

git hash-object tech02.jpg

这将计算标题的SHA-1,然后是文件的内容。

你确定这应该是内容的SHA-1吗?没有这么说。请检查这篇文章,并回答你的问题:可能重复的事实上我已经读了那一章,但忘记了标题+SHA-1位。谢谢你的回答。