【发布时间】:2019-06-11 17:23:47
【问题描述】:
可以将 Git 存储库视为数据库。
Git 索引是否与数据库索引有相似的用途,因为它们都被命名为“索引”? (我不知道它们之间有什么关系,但我知道的不多。)
【问题讨论】:
-
他们与 AFAIK 没有任何关系。 Git 索引是在 Git 分支中进行新提交之前放置某些文件(及其底层 blob 和管道)的逻辑位置。数据库索引是一种有序的数据结构,通常是B-tree,它以一定的顺序表示表中的一部分数据。所以,这里没有太多共同点。
-
我从不喜欢 Git 索引中的“索引”一词。这是一个暂存区,与我在字典或计算机科学的其他地方可以找到的“索引”一词的含义完全不同。
-
什么是最准确的计算机科学和系统术语来命名 git index?
-
正如@joanis 所说,“索引”对于这个特定于 Git 的数据结构来说是一个糟糕的名称选择。 Staging area 和 cache 是更好的名称,但仍然不是很好,因为 Git 的索引同时具有这两个方面。 Git 或许可以称其为“Git mishmash”,这样就不会那么混乱了。 :-)