如何用git找到crlf行分隔符?

guy*_*abi 27 git intellij-idea

因为我想使用intellij提交git,我收到一条消息

You are about to commit CRLF line separators to the Git repository

我有两个选择:

  • 修复和提交(运行git config --global core.autocrlf)
  • 按原样提交

在我做其他任何事情之前,我想看看这些行分隔符的位置.

我怎么能用git或intellij做到这一点?(仅使用git的溶液是优选的).

Sas*_*olf 23

您可以git grep通过命令行使用来搜索包含Windows样式换行符的文件.

使用git bash,您可以\r通过以下命令找到包含字符的所有文件(仅限bash!):

git grep -Il $'\r'
Run Code Online (Sandbox Code Playgroud)

或者替代地(它应该适用于所有shell类型 - 除了windows类型):

git grep -Il '<CTRL + M>'
Run Code Online (Sandbox Code Playgroud)

这实际上会在shell中显示为换行符,但只要将其换成引号就可以了.

最后是Windows CLI(使用CMD和PowerShell测试):

git grep -Il "\r"
Run Code Online (Sandbox Code Playgroud)

使用选项

  • -I 从匹配中排除二进制文件
  • -l 仅显示具有匹配项的文件名,而不是所有匹配项

此外,如果要限制搜索多个文件,可以使用该--cached选项,该选项仅搜索索引中的文件.

您可以阅读文档以获取更多信息.

  • @ConquerorsHaki 第一个版本在 Mac 上运行良好;毕竟它是一个unix shell。 (3认同)