我在git中有一个尚未解决的分支,SHA1 0000000000000000000000000000000000000000(全为零),这是正常的还是我损坏了git存储库?
请不要回答是,在2 ^ 160或0.000000000000000000000000000000000000000000000000006842277657836021%概率中有一个拥有该SHA1。
我相当安全我不是那个在他的git存储库中获得0000000000000000000000000000000000000000的SHA1的幸运家伙。
答案 0 :(得分:9)
提交包括提交日期等元数据。因此,在实际创建提交之前,不能显示提交哈希。您所看到的不是提交SHA,它只是UI中使用的默认值。
答案 1 :(得分:8)
注意,你可以找到“全零SHA1”一直回到commit f65fdf(2005年6月30日,g0.99的git)
Linus Torvalds:
所有零的“旧参考”被认为是“不关心”参考,并且允许我们说“不管旧的参考包含什么(或者即使它一直存在)“。
这允许(如果git-send-pack这样做)创建新的refs并修复旧的refs。
正如SzG提到in the comments,这是您在Git receive/update hooks and new branches中找到的SHA1,表示不存在的对象的“旧参考”(而“ ref“将创建所述对象,就像分支一样。”