Git的半秘密空树对象可靠吗?为什么没有一个符号名称呢?
GIT有一棵众所周知,或者至少是一种著名的空树,其SHA 1是:
4b825dc642cb6eb9a060e54bf8d69288fbee4904
(您可以在任何回购中看到这一点,即使是新创建的回购,与git cat-file -t
和git cat-file -p
).
如果您努力工作并且非常小心,您可以使用这个空树来存储一个没有文件的目录(请参阅回答如何将空目录添加到git存储库虽然这并不是个好主意。
它作为一个论点更有用git diff-tree
一个样本钩子做的。
我想知道的是
- 这有多可靠?也就是说,将来的git版本会不会有git对象编号?
4b825dc642cb6eb9a060e54bf8d69288fbee4904
?
- 为什么没有空树的符号名(或者有一个?)
(创建符号名的一种快速而肮脏的方法是将SHA 1放入其中,例如,.git/Nulltree
..不幸的是,你必须为每一次回购做到这一点。似乎最好只是把魔术数字放在脚本中,等等。我只是对魔术数字有一种普遍的厌恶。)