git中的数据结构的术语是什么,如果我提交将会更新?

时间:2016-06-15 12:12:28

标签: git

Git有以下概念:

  • HEAD指针(指向当前分支上的顶部提交的指针)
  • index(更改的暂存区域)
  • 工作目录(本地文件系统)

但是,如果我提交一些更改,那么git中的数据结构的术语是什么呢?

1 个答案:

答案 0 :(得分:1)

一旦提交,HEAD将指向您所做的新提交,该提交将包含索引的树内容。

Pro Git, in the Reset Demystified section

提供了这一切的完美概述

HEAD是一个符号引用 - 也就是说,(通常)指向另一个引用的引用。分支是一种ref,如果在检出分支时提交,则会更新分支。但是,您可以检查除分支以外的内容(标记和按ID的普通提交),但是您将拥有“分离的HEAD”。提交时HEAD仍然会改变,但如果你切换,你可能会丢失这些提交。

总之,提交时唯一能保证更新的是符号引用HEAD可能当前分支,即{ {1}}。所有其他数据结构都是重新创建的。