【问题标题】:Git thinks a directory is deleted when it is notGit认为一个目录没有被删除
【发布时间】:2015-08-16 16:02:24
【问题描述】:

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

文件夹结构如下所示:

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

Git 可能会感到困惑,因为我不得不删除一个旧的“Crashlytics.framework”,它被这个具有相同文件夹名称但内容不同的新版本框架所取代?

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

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

【问题讨论】:

  • 我相信 git 不会跟踪目录。 Headers 是否可能是文件或子模块?
  • 您还能看到该文件夹​​吗?它是否仍然包含您添加到暂存区的那些文件?这与 Git 无关;这些文件是否存在于磁盘上的那个文件夹中?
  • git 不跟踪目录
  • @Makoto 是的,该文件夹确实存在,它确实包含暂存区域内的文件。这些文件确实存在于磁盘上的该文件夹中,我将使用文件夹本身的图像更新问题。谢谢!
  • @Wimmel hmmmm 那么这个问题有解决方案吗?我在这里看到的没有多大意义。

标签: git crashlytics


【解决方案1】:

git doesn't track directories。但是,它确实会跟踪 symbolic links,并且通过将链接表示为具有链接文件类型的小文本文件(如 this SO answer)来实现。

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

我的预感是该目录以前是指向其他目录的符号链接,git 将其确认为名为“Headers”的文件,并且升级将符号链接替换为包含普通文件的实际目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 1970-01-01
    • 2019-09-10
    • 1970-01-01
    • 2018-10-19
    • 1970-01-01
    相关资源
    最近更新 更多