2014-09-19 83 views
4

我读"Git from bottom-up"提交的定义,它定义“提交”,如下所示:混帐 - 从“混帐从自下而上”的小册子

“一个承诺是在某个时间点你的工作树的快照“

但是,我不同意这个定义。您的工作树中可能有5个文件(1个新文件和4个修改文件),但只有3个文件添加到索引中。因此,如果您提交,您的提交将不会对应于当前工作树。

有什么我失踪或我正确吗?

+0

您认为“工作树”的定义是什么?是否在工作树中的“in”索引中的文件? – GreenAsJade 2014-09-19 07:32:29

+0

@GreenAsJade来自同一本书“工作树是文件系统上的任何目录,它有一个与之关联的存储库”。对我来说,这是一棵有用的树。是的,一个不在索引中的文件在我的工作树内。 – Tiago 2014-09-19 07:44:48

+2

是的,但“工作树”(您定义为目录)包含不在索引中的文件吗?通常,人们并不担心这种定义的细节水平......最终,谁关心?您引用的陈述旨在对发生的事情进行高级解释,而不是精确的定义。我认为这是重要的事情要理解:通常在介绍性部分给出这个陈述来指导新人,而不是作为精确实施细节的陈述。 – GreenAsJade 2014-09-19 07:47:39

回答

4

不,你不会错过什么。在某个时间点,提交并不代表您的工作树实际处于的状态,这当然是可能的。但是它们确实可以作为树状态的逻辑快照,即使它是磁盘上从未存在过的逻辑状态。