代码之家  ›  专栏  ›  技术社区  ›  pixel

git行结尾似乎会导致很多文件发生更改

  •  1
  • pixel  · 技术社区  · 6 年前

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

    我有以下问题。每次我做一个成功的 git fetch/git merge ,我看到git以某种方式修改了很多文件。一些是未经登记的,而另一些是未经登记或未承诺的。

    所以,尽管我没有改变它们,但当我改变它们时,它们会以某种方式被修改 git fetch git merge .

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

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

    查看Windows和shows git配置核心。autocrlf true 根据我的理解,这也是正确的。

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

    此外,我不知道如何解决这个问题,我没有以任何方式修改的文件显示为修改后,我做了 git fetch 合并分支 没有任何冲突。

    所以,我的问题是

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

    如何解决这个问题?

    使现代化

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

    1 回复  |  直到 6 年前
        1
  •  1
  •   VonC    6 年前

    我真的建议保留core。autocrlf到false

    git config --global core.autocrlf false
    

    该设置将更改 全部的 文件包括二进制文件,这是不好的。

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

    推荐文章