所以我正在阅读Version Control with Git, 2nd Edition,我偶然发现了这一段(第51页,第34节;使用git add" )
您的存储库中的大多数日常更改都可能是简单的编辑。后 任何编辑,在提交更改之前,运行
git add
以更新索引 您文件的绝对最新版本。 如果你不这样做,你会有两个不同的 文件的版本:一个在对象库中捕获并从索引引用,和 另一个在你的工作目录中。
令我困惑的是粗体句。
所以,让我说相反,我改变一个文件,然后在其上运行git add
,现在文件被暂存。好吧,在我看来,现在我又有两个不同版本的文件:一个在对象库中捕获,另一个在我的工作目录中并引用索引。不同之处仅在于索引现在引用工作目录中的文件而不是repo中的文件。
我错过了一些作者想要强调的见解吗?该文件中可以存在多少个不同版本的文件" git"? " git"也不清楚,但我想这意味着工作目录+对象存储+索引。
答案 0 :(得分:1)
如果您编辑文件并且不添加它,git将有2个版本,因为它不在对象库中管理。添加之后,您在本地使用的版本现在是来自git对象库
的版本答案 1 :(得分:1)
传达的关键概念是您已经理解的:必须git add
步骤以防止工作树和索引彼此不同。
"两个不同版本"显然不是指只有两个版本可以存在;它强调工作树中的内容不包含在索引中,git新手的概念经常无法掌握。