Git 执行提交时(文件被提交到存储库的事实除外),暂存区域(和暂存文件)会发生什么情况?
我试图将提交暂存文件时发生的情况可视化 一旦执行了提交,我就知道文件将被提交到存储库。但是,文件是否也保留在阶段(索引)中,还是从阶段(索引)中删除?执行提交时,暂存区域(和暂存文件)会发生什么情况?暂存(索引)是Git 执行提交时(文件被提交到存储库的事实除外),暂存区域(和暂存文件)会发生什么情况?,git,Git,我试图将提交暂存文件时发生的情况可视化 一旦执行了提交,我就知道文件将被提交到存储库。但是,文件是否也保留在阶段(索引)中,还是从阶段(索引)中删除?执行提交时,暂存区域(和暂存文件)会发生什么情况?暂存(索引)是 HEAD引用的提交副本 加上“暂存文件”引起的任何附加更改 进行提交时,索引的内容将成为新提交的内容,HEAD将更改为引用新提交。此时,索引成为HEAD(根据定义)引用的提交的副本,但没有任何其他更改 因此,不,文件不会从索引中删除。阶段(索引)是 HEAD引用的提交副本 加上
HEAD引用的提交副本
- 加上“暂存文件”引起的任何附加更改
HEAD
将更改为引用新提交。此时,索引成为HEAD
(根据定义)引用的提交的副本,但没有任何其他更改
因此,不,文件不会从索引中删除。阶段(索引)是
HEAD引用的提交副本
- 加上“暂存文件”引起的任何附加更改
HEAD
将更改为引用新提交。此时,索引成为HEAD
(根据定义)引用的提交的副本,但没有任何其他更改
因此,不,文件没有从索引中删除。@Youssef13:虽然这是一个合理的实验,但很难看到索引中实际包含的内容:
git status
没有向您显示存在的内容,它只是向您显示将存在的内容与其他地方的内容进行比较的结果。如果您知道git ls文件--stage,您可以使用它来查看索引中的内容,但并非所有教程都会告诉您这一点。@Youssef13:虽然这是一个合理的实验,但很难看到索引中的实际内容:git status
不会显示索引中的内容,它只是向你展示了比较其他地方的结果。如果您了解git ls文件--stage,您可以使用它查看索引中的内容,但并非所有教程都告诉您这一点。