Git状态报告未修改文件的修改文件

时间:2018-03-08 10:56:33

标签: git diff carriage-return line-endings

对此问题的任何帮助将不胜感激。我们现在真的没有想法。

行结束设置

我的团队正在混合的Linux / Windows环境中工作,因此我们设置git以在Linux上使用<LF>行结尾,在Windows上使用<CR><LF>行结尾,文本文件。我们使用.gitattributes文件。

症状

git status报告未更改的文件为&#34;已修改&#34;。据我所知,这只有两所大学才能看到。

当我们以编程方式生成所涉及的文件时,症状主要显示(可能只是)。这些文件是XML个文件,它们被git称为文本文件。

诊断问题

  • 手动差异:为了诊断问题,我已将git index中的文件与十六进制编辑器中working tree中的文件进行了比较。唯一的区别是工作树中的额外<CR>字符,如预期的那样(见下文)。
  • git status将文件显示为&#34;已修改&#34;
  • git diff <file>未按预期显示差异
  • git ls-files --eol <file>在索引中显示<LF>,在工作树中显示<CR><LF>,并显示&#34; text&#34; <file>上的属性,正如预期的那样
  • git add <file>不会更改索引,因为&#34;预期&#34; (没有变化)。
  • git check-attr text <file>显示文字属性为&#34;设置&#34; (在.gitattributes文件中)。

0 个答案:

没有答案