gpt4 book ai didi

Git - 在索引中查找单个文件的 SHA1

转载 作者:IT王子 更新时间:2023-10-29 00:51:27 27 4
gpt4 key购买 nike

我已将文件添加到“索引”中:

git add myfile.java

如何找出此文件的 SHA1?

最佳答案

这是一个老问题,但有一件事需要澄清:

这个问题和下面的答案讨论了一个文件的Git 散列,它不完全相同 “这个文件的 SHA1” 如问题中所问。

简而言之:

如果您想获取索引中文件的 Git 哈希值 - 请参阅 the answer by CB Bailey :

git ls-files -s $file

如果您想获取文件系统上任何文件的 Git 哈希 - 请参阅 the answer by cnu :

git hash-object $file

如果您想获取文件系统上任何文件的 Git 哈希值,而您没有安装 Git:

(echo -ne "blob `wc -c < $file`\0"; cat $file) | sha1sum

(上面显示了 Git 哈希的实际计算方式——它不是文件的 sha1 总和,而是字符串 "blob SIZE\0CONTENT" 的 sha1 总和,其中 "blob" 字面上是一个字符串“blob”(后面跟着一个空格),SIZE 是以字节为单位的文件大小(ASCII 十进制),“\0” 是空字符,CONTENT 是实际文件的内容)。

如果您只想得到“此文件的 SHA1”,正如问题中的字面意思:

sha1sum < $file

如果您没有 sha1sum,您可以使用 shasum -a1openssl dgst -sha1(输出格式略有不同) .

关于Git - 在索引中查找单个文件的 SHA1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/460297/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com