git行尾似乎导致许多​​文件更改

时间:2018-11-07 23:12:37

标签: git line-endings

我在git上看到的帖子很少,但到目前为止似乎都没有答案。

我遇到以下问题。每次我成功完成git fetch/git merge时,都会看到git列出的许多文件以某种方式进行了修改。有些是未上演的,而另一些则是未跟踪或未提交的。

因此,即使我没有更改它们,但当我执行git fetchgit merge时,它们仍显示为已被修改。

这是一个问题,因为现在,如果我提交并推送更改,所有这些文件都被我修改,这是错误的。

我正在使用MacBook进行开发,但是其他开发团队可能正在使用Windows。因此,首先想到的是行尾。我在Mac上进行了检查,git config core.autocrlf显示了input,据我所知应该在Mac上。

在Windows上检查,将git config core.autocrlf显示为true,根据我的理解,这也是正确的。

因此,假设上述设置正确,行尾应该不是问题,但我不知道如何确认。

此外,我不知道如何解决git fetchgit merge之后没有任何冲突的未修改文件的问题。

所以,我的问题是

如何确认行尾是此问题的罪魁祸首?

如何解决此问题?

更新

看起来不仅基于文本的文件(如cs,txt,xml等)而且还将二进制文件(如png文件)标记为已修改。因此,问题不在于IMO还是行尾?

1 个答案:

答案 0 :(得分:1)

我真的建议将core.autocrlf保留为假

git config --global core.autocrlf false

该设置会更改所有文件(包括二进制文件)的eol,这不好。

然后,since Git 2.16git add --renormalize .。然后检查是否已更改文件。