Git 提交可以有多个树对象吗?
Can a Git commit have multiple tree objects?
一个提交对象是否总是只有一个树对象?
我想不出不会出现这种情况的情况,但我也看不到任何明确说明它的文档。
Does a commit object always have exactly one [top-level] tree object?
是的。
I can't think of a scenario where it wouldn't be the case but I also can't see any documentation that explicitly states it.
它是设计的一部分:没有它,git rev-parse <em>commit</em>^{tree}
会没有明确的结果。
可以设想一个系统相关到Git,其中提交可以存储多棵树,1但是许多首先需要解决设计问题。
1我在几个上下文中考虑过这个问题,包括“子模块是错误的,子树更好但需要更好的支持”。我还没有解决所有问题。
请注意,提交对象也需要恰好有一个 author
和一个 committer
行; git fsck
如果格式不正确,将反对提交。
一个提交对象是否总是只有一个树对象?
我想不出不会出现这种情况的情况,但我也看不到任何明确说明它的文档。
Does a commit object always have exactly one [top-level] tree object?
是的。
I can't think of a scenario where it wouldn't be the case but I also can't see any documentation that explicitly states it.
它是设计的一部分:没有它,git rev-parse <em>commit</em>^{tree}
会没有明确的结果。
可以设想一个系统相关到Git,其中提交可以存储多棵树,1但是许多首先需要解决设计问题。
1我在几个上下文中考虑过这个问题,包括“子模块是错误的,子树更好但需要更好的支持”。我还没有解决所有问题。
请注意,提交对象也需要恰好有一个 author
和一个 committer
行; git fsck
如果格式不正确,将反对提交。