文件naaclhlt2016.tex
在客户端或存储库中不为空,但GitHub Desktop显示“此文件为空”。什么可以解释这个?
文件naaclhlt2016.tex
出现在GitHub存储库中:
git status
:
尝试同步时会产生冲突:
答案 0 :(得分:6)
经过讨论,如果tex文件的更改仅仅是元数据(而不是实际的文件内容更改,在乳胶重新编译之后),GitHub桌面可能无法显示任何更改。
由于即使git status列出此文件也没有检测到任何更改,因此它会回退到“此文件为空”消息。
答案 1 :(得分:1)
除了@VonC回复。
Git桌面
取消选中所有已更改的文件
仅选择"此文件为空"文件
尝试提交
Git会显示一个提交错误,说你不能这样做。关闭模态后,Git应该从更改列表中删除文件。
答案 2 :(得分:0)
当autoCRLF
设置(例如~/.gitconfig
)与文本文件中的换行符存储不匹配时,我发现了类似的结果。我在一台(Windows)计算机上下载了.php
个文件,在一个Apache文件夹中压缩并解压缩,然后我将这些文件复制到克隆的repo中,它有时会抱怨每个文件都已更改。存储在GitHub上的文件似乎与CRLF
一起存储(它们更大)。
我无法让GitHub Desktop处理我修改过的文件。我尝试了使用autoCRLF=true
,autoCRLF=input
和autoCRLF=false
的全新克隆,但GitHub Desktop会将文件报告为空或每行更改,具体取决于autoCRLF设置。
我相信这完全是因为它们存储在GitHub上并且文件中包含CRLF,而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.