git - GIT中的 'Commit ID'和 'SHA1 Hash'有什么区别?

标签 git cryptography

<分区>

我已经在 GIT 上工作了一段时间。

但是,我找不到“Commit Id”和“SHA1 - hash value”之间的区别

“提交 ID”和“SHA1”有什么区别?任何带有示例的简单解释都会很好

最佳答案

提交 ID 用于标识提交。有时,您会看到速记版本,它只是实际提交 ID 的前七个字符与完整哈希值的对比。

考虑以下示例:

[master 42e2e5a] Added a new readme file to illustrate commit IDs.
1 file changed, 1 insertion(+)
create mode 100644 myreadme

请注意,它显示的是提交 ID 的简写版本。因为实际的提交 ID 是指定 160 位 SHA-1 哈希值的四十个十六进制字符。


例子

完整提交 ID

git show -s --format=%H

结果

42e2e5af9d49de268cd1fda3587788da4ace418a

速记版

git show -s --format=%h

结果

42e2e5a

但请注意它们是相同的。

关于git - GIT中的 'Commit ID'和 'SHA1 Hash'有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43763896/

相关文章:

cryptography - Android 购买数据的 Erlang 加密验证

git - 如何通过 X 提交正确处理 GIT 分支领先于 'origin/master'

Git 推送错误 '[remote rejected] master -> master (branch is currently checked out)'

git - 如何从 Bamboo Script 任务中执行 git Push

git - Git 存储文本文件和二进制文件的方式有区别吗

java - 如何在angularJs中生成AES/CBC/PKCS5Padding加密密码

javascript - Forge:加密大文件

java - 在 JUnit 中生成 HmacSHA256 签名

java - 当盐值更改时,基于密码的加密失败

java - Git 存储库分支可以是其他 Git 存储库中的子文件夹吗?