GitHub桌面:“此文件为空”

时间:2016-01-01 19:22:49

标签: git github github-desktop

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

enter image description here

文件naaclhlt2016.tex出现在GitHub存储库中:

enter image description here

git status

enter image description here

尝试同步时会产生冲突:

enter image description here

3 个答案:

答案 0 :(得分:6)

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

由于即使git status列出此文件也没有检测到任何更改,因此它会回退到“此文件为空”消息。

答案 1 :(得分:1)

除了@VonC回复。

解除此警报

Git桌面

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

  2. 仅选择"此文件为空"文件

  3. 尝试提交

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

答案 2 :(得分:0)

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

我无法让GitHub Desktop处理我修改过的文件。我尝试了使用autoCRLF=trueautoCRLF=inputautoCRLF=false的全新克隆,但GitHub Desktop会将文件报告为空或每行更改,具体取决于autoCRLF设置。

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

如果我在其中一个文件git difffeed.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.