所以我读了Version Control with Git, 2nd Edition,我无意中发现了这一段(第51章的“使用Git添加”)当文件被修改时,git中保存了多少个文件版本?
你的大部分仓库里的一天到一天的变化将可能是简单的编辑。在 之后,在提交更改之前,运行
git add
以更新索引 文件的绝对最新版本和最佳版本。 如果你不这样做,你将有两个不同的 版本的文件:一个在对象存储中捕获并从索引引用,另一个在你的工作目录中。
让我困惑的是粗体句子。 假设我做了相反的事情,我更改了一个文件,然后我运行了git add
,现在文件已经上演。好吧,在我看来,现在我又有了两个不同版本的文件:一个在对象存储中捕获,另一个在我的工作目录中并引用索引。区别仅在于索引现在引用工作目录中的文件而不是回购中的文件。
我错过了一些作者想要强调的见解吗? “git”中可以存在多少个不同版本的文件? “混帐”也不明确,但我想这意味着在工作目录+对象存储+索引。
该文档明确提到了“简单编辑”,而不是创建新文件,因此对象存储中的副本清楚地*存在于场景中,甚至是预先提交。 (当然这很迂腐,但是这个问题是由于OP在阅读文档时出现的,并且期望它是迂回正确的,而不是它的意图)。 – 2015-03-31 21:53:36