我在git上看到的帖子很少,但到目前为止似乎都没有答案。
我遇到以下问题。每次我成功完成git fetch/git merge
时,都会看到git列出的许多文件以某种方式进行了修改。有些是未上演的,而另一些则是未跟踪或未提交的。
因此,即使我没有更改它们,但当我执行git fetch
和git merge
时,它们仍显示为已被修改。
这是一个问题,因为现在,如果我提交并推送更改,所有这些文件都被我修改,这是错误的。
我正在使用MacBook进行开发,但是其他开发团队可能正在使用Windows。因此,首先想到的是行尾。我在Mac上进行了检查,git config core.autocrlf
显示了input
,据我所知应该在Mac上。
在Windows上检查,将git config core.autocrlf
显示为true
,根据我的理解,这也是正确的。
因此,假设上述设置正确,行尾应该不是问题,但我不知道如何确认。
此外,我不知道如何解决git fetch
和git merge
之后没有任何冲突的未修改文件的问题。
所以,我的问题是
如何确认行尾是此问题的罪魁祸首?
如何解决此问题?
更新
看起来不仅基于文本的文件(如cs,txt,xml等)而且还将二进制文件(如png文件)标记为已修改。因此,问题不在于IMO还是行尾?
答案 0 :(得分:1)
我真的建议将core.autocrlf保留为假
git config --global core.autocrlf false
该设置会更改所有文件(包括二进制文件)的eol,这不好。
然后,since Git 2.16:git add --renormalize .
。然后检查是否已更改文件。