问题:在本地保存文件更改后,Git将整个C#文件解释为已修改。它表示行结尾已更改,即使它们已作为CRLF结尾签出并在本地保存CRLF行结尾。
我正在处理一个有多个贡献者的Visual Studio项目。我正在使用Visual Studio 2012.在过去的两天里,我和另一位同事在从我们的公司Stash站点克隆回购后遇到了上述问题。我们不能提交我们的更改,因为Git表示整个文件已经更改,我们的一些文件长达数千行。以下是有关症状的更多背景信息:
git checkout --
git reset --hard
git reset HEAD
git stash
以下列出了我尝试解决问题的步骤:
autocrlf=true
和autocrlf=false.
这是记录here。问题仍然存在于两种情况下
* text=auto
*.cs text
到目前为止,我所做的一切都没有解决问题。我的预感是它与.gitattributes文件中的设置有关。但是,在克隆回购时,没有其他人(包括项目的主要开发人员)遇到过这些问题。我非常感谢任何建议。谢谢!
答案 0 :(得分:7)
我遇到了同样的问题并将该行注释掉了
* text=auto
<。>在.gitattributes。
这解决了我的问题。希望这可以帮助您或其他任何有同样问题的人。
根据我的理解,* text=auto
行应该有助于行结尾,但由于某些原因,一群运行Windows的人似乎对它有问题。