7

该文件naaclhlt2016.tex在客户端或存储库中不是空的,但是 GitHub Desktop 显示“此文件为空”。这有什么可以解释的?

在此处输入图像描述

该文件naaclhlt2016.tex存在于 GitHub 存储库中:

在此处输入图像描述

git status

在此处输入图像描述

当我尝试同步时它会产生冲突:

在此处输入图像描述

4

3 回答 3

8

经过讨论,如果 tex 文件的更改仅在元数据方面(而不是实际文件内容更改,在 Latex 重新编译后),GitHub Desktop 可能无法显示任何更改。

由于即使 git status 列出了这个文件,它也没有检测到任何变化,它会退回到“这个文件是空的”消息。

于 2016-01-02T06:00:14.950 回答
1

除了@VonC 回复。

关闭此警报

Git 桌面

  1. 取消选择所有更改的文件

  2. 仅选择“此文件为空”文件

  3. 尝试提交

  4. Git 会显示一个提交错误,说你不能这样做。关闭模式后,Git 应该从更改列表中删除文件。

于 2017-07-04T13:06:28.540 回答
0

autoCRLF当设置(例如 in ~/.gitconfig)与文本文件中的换行符存储不匹配时,我会发现类似的结果。我有.php在一台(Windows)机器上下载的文件,在 Apache 文件夹中压缩和解压缩,然后我将它们复制到克隆的存储库中,有时它会抱怨每个文件都已更改。存储在 GitHub 上的文件似乎已经存储了CRLF(它们更大)。

我一直无法让 GitHub Desktop 处理我修改过的文件。autoCRLF=true我已经尝试使用、autoCRLF=input和进行完整的全新克隆autoCRLF=false,但 GitHub Desktop 要么将文件报告为空,要么每行都已更改,具体取决于 autoCRLF 设置。

我相信这完全是因为它们与文件中的 CRLF 一起存储在 GitHub 上,并且 GitHub Desktop 似乎假设autoCRLF管理(仅)签出的文件,并且不会GitHub 上的 CRLF 进行比较,即使使用autoCRLF=false. 它们是逐字节相同的文件,但它们只是 LF,它要么抱怨每一行都发生了变化,要么抱怨文件是空的。

如果我git diff对其中一个文件执行操作,在这种情况下feed.php,我会看到: warning: CRLF will be replaced by LF in API/events/feed.php. The file will have its original line endings in your working directory.

于 2017-02-07T08:03:07.357 回答