我已经在GIT工作了很长一段时间。
然而,我找不到“提交ID”和“提交ID”之间的区别。和' SHA1 - 哈希值'
提交ID和#39;之间的区别是什么?和' SHA1'?使用示例的任何简单解释都很好
答案 0 :(得分:4)
提交ID是标识提交的内容。有时您会看到简写版本,它只是实际提交ID与完整哈希值的前七个字符。
考虑以下示例:
`[master 42e2e5a] Added a new readme file to illustrate commit IDs.
1 file changed, 1 insertion(+)
create mode 100644 myreadme
注意它显示了提交ID的简写版本。因为实际的提交ID是40个十六进制字符,指定160位SHA-1哈希。
完整提交ID
git show -s --format=%H
<强>结果强>
42e2e5af9d49de268cd1fda3587788da4ace418a
速记版
git show -s --format=%h
<强>结果强>
42e2e5a
但请注意它们是一样的。
答案 1 :(得分:2)
我已经阅读过之前提供的答案,我认为可以添加一些小东西。一个修订版总是指向到一个sha1(它实际上没有指向,修订版通过其sha1 ID识别但是请耐心等待)但git中的对象&#39 ; s DB可以是:修订版,树,blob等,它们都是由sha1 ID标识的。因此,修订意味着使用sha1 ID(以识别它......但在修订版中使用的其他sha1 ID,如父项,树对象),但sha1 ID并不一定意味着它是修订版。