gpt4 book ai didi

git - 无法在 Visual Studio 项目中规范化 Git 的行尾

转载 作者:IT王子 更新时间:2023-10-29 01:29:26 27 4
gpt4 key购买 nike

问题:在本地保存文件更改后,Git 将整个 C# 文件解释为已修改。这表明行结尾已更改,即使它们被 check out 为 CRLF 结尾并使用 CRLF 行结尾保存在本地。

我在工作中从事一个有多个贡献者的 Visual Studio 项目。我正在使用 Visual Studio 2012。在过去的 2 天里,我和另一位同事在从我们公司的 Stash 站点克隆 repo 协议(protocol)后遇到了上述问题。我们无法提交我们的更改,因为 Git 指示整个文件已更改并且我们的一些文件有数千行长。以下是有关症状的更多背景信息:

  • 问题只出现在部分文件中,并非全部。
  • 此问题并非特定于 Visual Studio。我在 IntelliJ 和 Notepad++ 中编辑了文件并遇到了同样的问题
  • 文件修改后,我很难放弃更改并从存储库中 check out 文件。我尝试执行几个命令来重置我的本地存储库。有时它们起作用,而我与原点对齐,有时它们不起作用。唯一一致的解决方案是 check out 一个新分支,在那里提交更改,然后切换回目标分支。我尝试了以下方法来放弃更改:

    git checkout -- 
git reset --hard
git reset HEAD
git stash

以下是我为尝试解决问题而采取的步骤列表:

  • 行结束规范化,如文档所述here
  • 将我的 git 配置更改为 autocrlf=trueautocrlf=false。 这已记录在案 here .问题仍然存在于两种设置下
  • 更改项目中的 .gitattributes 设置。以下是我目前的设置,符合上面链接给出的例子

    * text=auto
*.cs text

  • 卸载并重新安装 Git(两次)

到目前为止,我所做的一切都没有解决这个问题。我的直觉是它与 .gitattributes 文件中的设置有关。但是,包括该项目的主要开发人员在内的其他人在克隆存储库时都没有遇到过这些问题。我将不胜感激任何建议。谢谢!

最佳答案

我遇到了同样的问题,把这行注释掉了

* text=auto

在 .gitattributes 中。

这解决了我的问题。希望这可以帮助您或其他遇到同样问题的人。

据我了解,* text=auto 行应该有助于行尾,但出于某种原因,一群运行 Windows 的人似乎对它有问题。

关于git - 无法在 Visual Studio 项目中规范化 Git 的行尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25313203/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com