为什么Git在检查旧版本时会显示某些新文件夹?

Con*_*ser 2 git revision git-checkout

我还在学习Git的绳索(喜欢它!)但是前几天我注意到了一些我不明白的行为.实质上,我们有三个文件夹在不同的时间被移入存储库(一个在我们创建了repo之后,一个稍后,一个刚刚出现).最近,我不得不从旧版本中获取一些代码.我用了

git checkout <old SHA1 hash>
Run Code Online (Sandbox Code Playgroud)

当我注意到Git显示旧文件夹(应该如此),以及最新的文件夹(在签出提交后很长时间内添加到repo中)时,我们可以启动我们的第一个签到.但它没有显示第二个文件夹.

什么会导致Git显示旧版本的最新文件夹?

kwa*_*ord 5

文件夹中可能存在未跟踪的文件(自动保存,隐藏文件等).Git不想杀死未跟踪的文件,因此它不会删除它们所在的目录.