GIT:如何在msysgit(windows)上摆脱烦人的CRLF消息?

6
每次我提交一个文本文件(大部分都是这种情况),git gui(我使用msysgit)都会弹出一条消息,告诉我它将把换行符替换为CRLF。显然我想要这个(而且有一个设置可以实现),但我不想一直看到这个烦人的消息弹出! 有没有办法保留设置,但关闭/禁用弹出消息? 我不知道在命令行上如何使用GIT,但我喜欢msysgit的暂存过程:)所以我不想改用bash。
5个回答

6

您可以在repo-config中设置适当的设置。选项core.autocrlf将执行以下操作:

  1. 所有文本文件将使用LF行尾。
  2. 从磁盘读取时,CRLF将转换为LF
  3. 写入磁盘时,LF将转换为CRLF

您可以在git-shell中设置此选项。

$ cd path/to/repo
$ git config core.autocrlf true

然后,从仓库中删除除了.git文件夹本身以外的任何文件,然后运行命令:

$ git reset --hard
$ git commit -am "Line endings fixed."

为了修复行尾,PS:有一小部分可能性是二进制文件被错误地视为文本文件而导致损坏,此时您需要阅读手册或在此处提问。

顺便提一下,也许你设置了core.autocrlf为某些奇怪的值,可以把你的配置文件发出来看看。 - fuz

1

由于您正在使用msysgit,我将假设core.autocrlf已设置为true(在msysgit安装中的默认设置)

您可以尝试将core.safecrlf设置为false,并查看是否对此类消息产生影响。

git config core.safecrlf false

您也可以尝试使用 .gitattributes 文件并设置 a:

*        eol=crlf

指令以查看该显式文本属性是否与此警告消息相关。


1

命令行只是打印一条消息,就这样。

不幸的是,我认为消息框无法被禁用...


1

1

简单来说,在您的文本编辑器中使用CRLF作为行尾,git就不会有任何警告了。(除非被拉取的文件没有CRLF行尾,可能会出现一次警告)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接