Git LF 以 CRLF 形式签出,标记为已更改,以 LF 形式重新签入

Git LF 以 CRLF 形式签出,标记为已更改,以 LF 形式重新签入

我有一个项目文件。该项目是传递给我的,并且有很多 CRLF/LF 不匹配。我在我的项目中添加了一条规则,.gitattributes在提交时将文件设置为 LF,eol=lf一切顺利,该文件在我的存储库中使用 LF。

问题在于:每次我签出文件时,它都会以 CRLF 的形式签出,这会导致 git 将其解释为“已更改”,因为 repo 中有 LF。修复这个问题非常非常麻烦,而且我除了在分支中提交更改之外没有其他办法来修复它,这显然是以 CRLF(本地)-> LF(repo)的形式提交更改,也就是说,从技术上讲什么都不做。

有人知道什么设置会导致这个 LF (repo) -> (checkout) -> CRLF (local) -> CRLF =/= LF 的循环冲突吗?

至于* eol=auto,我不使用它,因为 git 的行为(即使在 Linux 上)也是将所有内容检查为 CRLF。我还没有看到eol=auto实际将文件检查为 LF 的情况。

相关内容