5

在阅读如何使用 Git 时,我发现git index.

他们是:

  • directory cache
  • current directory cache
  • staging files
  • staging area

为什么会有这么多选择来准确地命名一件事?

我应该如何命名,以免混淆我未来的对话者,他们的背景我不知道?

4

3 回答 3

4

我同意@Harmelodic ......“暂存区”一词可能是最常用且直截了当的。

例如,在使用git-add命令时,您可以说您正在“暂存”内容。

该术语index在 Git 的早期开发中使用过,但后来发生了变化。

是一个很好的历史线索。

片段:

注意文件的注册内容而不是工作树中的副本的命令使用选项名称“--cached”。这主要是出于历史原因 --- 早期,使索引与工作树不匹配是否有用并不明显。

...

“缓存”是索引的旧名称(并且仍然在代码中使用中建立的名称)......缓存的意思是“仅查看索引中记录的内容”。

...

最初,说“这条路径的当前工作树中的内容是我希望在下一次提交中拥有的内容”的方式是“更新索引”。“我想在下一次提交中拥有什么”是“索引”,并且该操作是关于“更新”“我想要拥有什么......”,所以命令的名称非常有意义。“update-index”有一个安全阀,可以防止粗心调用“update-index *”来添加工作树中的所有内容(Porcelain 和管道中没有任何 .gitignore 机制)并且默认情况下会受到影响只有已经在索引中的路径。您需要说“update-index --add”以包含不在索引中的路径。

后来用“update-index --add”的方式实现了一个更人性化的Porcelain“git add”,但最初是添加新路径;更新内容仍然是通过“update-index”界面完成的。

...

简而言之,“舞台”是一个无关紧要的同义词,后来才出现

于 2016-03-18T15:00:16.977 回答
3

使用 Git 2.30.1(2021 年第一季度),关于基于“”的“索引”同义词的文档现在更加清晰cache:它们已过时并从所述文档中清除。

请参阅Utku Gultopu ( ) 的提交 b356d23(2021 年 1 月 8 日(由Junio C Hamano 合并 -- --eecc5f0 提交中,2021 年 1 月 15 日)ugultopu
gitster

doc:从手册页中删除“目录缓存”

签字人:Utku Gultopu

“目录缓存”(或“目录缓存索引”、“缓存”)是已被“索引”取代的过时术语。
将它们保留在文档中可能会造成混淆。
此提交将它们替换为手册页上的当前术语“索引”。

git ls-files现在在其手册页中包含:

这会将索引中的文件列表与实际工作目录列表合并,并显示两者的不同组合。

git update-index现在在其手册页中包含:

修改索引。
提到的每个文件都会更新到索引中,并且任何“未合并”或“需要更新”状态都会被清除。

于 2021-01-17T22:45:27.457 回答
2

根据我的经验,最常用的术语是Staging Area.


证据:

  • 执行命令时,文件和文件夹在 Git 系统中称为Staged和。Unstagedgit
  • 根据我的观察:大多数开发人员在刚开始使用 Git 时只阅读入门 - Git 基础文档。本文档将其称为Staging Area.
  • 作为一个经常使用 Git 并且经常被经常使用它的人包围的人,我遇到的大多数开发人员都将它称为Staging Area.
于 2016-03-18T14:58:31.187 回答