使用Unix docker容器的Windows共享卷上的Git Line Endings问题

问题描述

我正在Windows上工作,并使用centOS docker容器进行开发。我的容器和本地文件夹之间也共享一个卷。

问题是:将存储库从Windows克隆到共享卷中或从容器克隆到共享卷中时,git status在容器和本地计算机上执行时不会返回相同的内容。我希望它是相同的,并尝试了不同的配置,但没有成功:

  • git config --global core.autocrlf true/input/false在本地计算机上和容器中
  • git config --global core.crlf true/false/auto在本地计算机上和容器中
  • git config --global core.eol lf ...

任何人都具有正确的Git配置,可以在不修改.gitattributes的情况下从容器和本地计算机上获取相同的git status吗?

解决方法

配置行尾的方法是:

在Linux上:

git config --global core.autocrlf input

在Windows上:

git config --global core.autocrlf true

您还可以设置存储库特定的配置:

cd /path/to/repo
git config core.autocrtlf <value>

根据您的情况,听起来如果在CentOS容器中设置git config --global core.autocrlf input并在Windows计算机上设置git config --global core.autocrlf true,就不会有问题。