【发布时间】:2011-03-09 16:02:58
【问题描述】:
我将一个文件签入到一个简单的 git 存储库中。
根据我的调查; .git/objects中放置了三种对象
- 提交
- 树
- 斑点
举个例子:
$ git cat-file -t 8b4e834eba22e60c284c7b77e43d3c29e619f92f
commit
$ git cat-file -t c7c5b03aea0b8c970c93de3670c28f2108948266
tree
$ git cat-file -t e965047ad7c57865823c7d992b1d046ea66edf78
blob
如果我尝试在 blob 上运行 git-ls-tree,则会引发错误。
但我同样可以在 commit 或 tree 对象上运行它。
$ git ls-tree -t c7c5b03aea0b8c970c93de3670c28f2108948266
100644 blob e965047ad7c57865823c7d992b1d046ea66edf78 readme.txt
$ git ls-tree -t 8b4e834eba22e60c284c7b77e43d3c29e619f92f
100644 blob e965047ad7c57865823c7d992b1d046ea66edf78 readme.txt
commit 对象也是 tree 吗?
它们有什么区别(如果有的话)?
【问题讨论】:
标签: git