实际上,我读了很多关于Git的内容。
我知道可以通过git rm --cached .
命令来删除缓存,但我不理解“git-cache”的概念。
缓存是什么?GIT中缓存的位置在哪里?这个缓存是存储在RAM还是文件中?缓存是否用于提高GIT的性能?
缓存中存储了什么?
实际上,我读了很多关于Git的内容。
我知道可以通过git rm --cached .
命令来删除缓存,但我不理解“git-cache”的概念。
缓存是什么?GIT中缓存的位置在哪里?这个缓存是存储在RAM还是文件中?缓存是否用于提高GIT的性能?
缓存中存储了什么?
ls -l ${GIT_INDEX_FILE-$(git rev-parse --git-dir)/index}
/bin/sh
或兼容语法;一些shell可能有不同的结构。
这个缓存是存储在RAM还是文件中?
正如我们刚才看到的,它存储在一个文件中。 但是,Git在读取这个文件后,它就在RAM中(以内存中最有用的格式,与其在磁盘上的外观通常不同)。 文件本身可能包含指令,指示Git的部分读取其他文件。
缓存在Git中用于提高性能吗?
是的:作为缓存,它的目的是提高性能。 但是,索引的角色不仅仅是“作为性能提升的缓存”。 它的主要作用是“暂存区”,因此被称为“暂存区”。 它还在解决冲突合并方面发挥着重要作用,对于这一点,只有通用术语“索引”有用。 (即使这个词“索引”也没有传达任何真正的信息。 从某种意义上说,这实际上是件好事,因为文件的内容在Git的未来版本中可能会更改。)
我知道可以使用
git rm --cached .
命令删除缓存
这并不是删除缓存本身。它从缓存中删除条目(即使它们在内部可能仅被标记为“已删除”),还有一些磁盘扩展可以保留一些条目,以便在需要时重新生成。
什么是缓存?
作为计算机领域的通用术语,它是非常泛化的。
缓存中存储了什么?
Git源代码包含了一个详细 技术文档。您可以使用 git ls-files --stage
和 git ls-files --debug
命令查看其运行情况。