最佳答案
Git 有一个众所周知的,或者至少在某种程度上众所周知的空树,它的 SHA1是:
4b825dc642cb6eb9a060e54bf8d69288fbee4904
(你可以在 git cat-file -t
和 git cat-file -p
的任何回购协议中看到这一点,即使是新创建的回购协议)。[ 编辑于2020年: SHA-256空树散列 ID 是:
6ef19b41225c5369f1c104d45d8d85efa9b057b53b14b4b9b939dd74decc5321
我的问题显然提前了8年。]
如果你努力工作并且非常小心,你可以使用这个空树来存储一个没有文件的目录(参见 如何向 git 存储库添加一个空目录) ,虽然这不是一个很好的主意。
作为 git diff-tree
的一个参数,它更有用,因为其中一个示例钩子是这样做的。
我想知道的是,
4b825dc642cb6eb9a060e54bf8d69288fbee4904
的 git 对象?(创建符号名称的一种快速而简单的方法是将 SHA1放入,例如,.git/Nulltree
。不幸的是,每次回购你都得这么做。似乎只是把神奇的数字在脚本,等等。我只是对神奇的数字有一种普遍的反感。)