Git认为一个目录被删除了,但实际上没有

Git thinks a directory is deleted when it is not

这是在我按照 Fabric 更新向导将 Crashlytics 升级到 Fabric 之后发生的。

文件夹结构如下所示:

为什么 Git 认为 Crashlytics.framework/Headers 文件夹被删除了,而事实上 Headers 文件夹中添加了新文件?

可能是Git弄糊涂了,因为我不得不删除一个旧的"Crashlytics.framework",它被新版本的框架所取代,文件夹名称相同但内容不同?

如何让 Git 知道 Crashlytics.framework/Headers 文件夹实际上并未删除?

目前我在犹豫是否要提交和推送这个。

git doesn't track directories. It does, however, track symbolic links, and it does so by representing the link as a small text file with a link file-type (as on this SO answer).

这个目录对你来说看起来是一样的,你可以用 cd 以同样的方式遍历它,但在文件系统上它会显得非常不同。我不确定 Finder 是否将 symlinked 目录表示为任何不同,但可能不会。

我的直觉是,该目录以前是某个其他目录的符号 link,git 确认为名为 "Headers" 的文件,并且升级替换了符号 link 包含普通文件的实际目录。