git行结尾似乎会导致大量文件更改

git行结尾似乎会导致大量文件更改,git,line-endings,Git,Line Endings,我在git上看到了一些关于这方面的帖子,但到目前为止似乎都没有答案 我有以下问题。每次我成功地执行git fetch/git merge,我都会看到git以某种方式修改了许多文件。有些是未分类的,而另一些是未跟踪或未承诺的 因此,即使我没有更改它们,但当我执行git fetch和git merge时,它们显示为某种程度上被修改 这是一个问题,因为现在,如果我提交并推送我的更改,所有这些文件都显示为我修改的,这是错误的 我正在使用MacBook进行开发,但其他开发团队可能正在使用Windows。所

我在git上看到了一些关于这方面的帖子,但到目前为止似乎都没有答案

我有以下问题。每次我成功地执行
git fetch/git merge
,我都会看到git以某种方式修改了许多文件。有些是未分类的,而另一些是未跟踪或未承诺的

因此,即使我没有更改它们,但当我执行
git fetch
git merge
时,它们显示为某种程度上被修改

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

我正在使用MacBook进行开发,但其他开发团队可能正在使用Windows。所以,作为第一个罪魁祸首,我认为这是线结束。我在我的Mac电脑上查看了git config core.autocrlf显示了
输入
,据我所知,它应该在Mac电脑上

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

所以,假设上面的设置是正确的,行尾应该不是问题,但我不知道如何确认这一点

另外,我不知道如何解决这个问题,在我执行
git fetch
git merge
之后,我没有以任何方式修改过的文件显示为已修改,没有任何冲突

所以,我的问题是

如何确认行尾是或不是这个问题背后的罪魁祸首

如何解决这个问题

更新


看起来不仅基于文本的文件(如cs、txt、xml等)以及二进制文件(如png文件)都标记为已修改。因此,问题不在于IMO或?

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

git config --global core.autocrlf false
该设置将更改包括二进制文件在内的所有文件的eol,这是不好的


然后,:
git add--renormalize.
。检查您是否更改了文件。

您是否在使用多个平台的团队中工作?是的,但我不认为这是由行尾引起的。根据我上面的解释,行尾应该设置正确,至少在我的Windows和Mac上是这样。另外,我注意到png文件也被认为是被git修改的,所以它不应该是导致它的行尾。嘿,谢谢。请你详细解释一下好吗。我很担心现在我正在工作,我已经改变了文件,但没有被推到远处。@像素首先提交你的变化(只有你的变化),确保EOL已经是正确的。推然后您可以设置该配置并再次克隆您的repo,以检查是否没有“自动”修改任何文件。@pixel请参见同一主题,或。有关详细信息: