每次我提交一个文本文件(大部分都是这种情况),git gui(我使用msysgit)都会弹出一条消息,告诉我它将把换行符替换为CRLF。显然我想要这个(而且有一个设置可以实现),但我不想一直看到这个烦人的消息弹出! 有没有办法保留设置,但关闭/禁用弹出消息? 我不知道在命令行上如何使用GIT,但我喜欢msysgit的暂存过程:)所以我不想改用bash。
您可以在repo-config中设置适当的设置。选项core.autocrlf
将执行以下操作:
LF
行尾。CRLF
将转换为LF
LF
将转换为CRLF
您可以在git-shell中设置此选项。
$ cd path/to/repo
$ git config core.autocrlf true
然后,从仓库中删除除了.git
文件夹本身以外的任何文件,然后运行命令:
$ git reset --hard
$ git commit -am "Line endings fixed."
由于您正在使用msysgit,我将假设core.autocrlf
已设置为true(在msysgit安装中的默认设置)
您可以尝试将core.safecrlf
设置为false,并查看是否对此类消息产生影响。
git config core.safecrlf false
您也可以尝试使用 .gitattributes
文件并设置 a:
* eol=crlf
指令以查看该显式文本属性是否与此警告消息相关。
命令行只是打印一条消息,就这样。
不幸的是,我认为消息框无法被禁用...
可能需要确保:core.autocrlf=false
。
我不太了解msysgit,但经过一番搜索,我找到了几个相关的msysgit / threads。
还可以参考一个相关的SO Q:使用git的最佳CRLF处理策略是什么?。
简单来说,在您的文本编辑器中使用CRLF作为行尾,git就不会有任何警告了。(除非被拉取的文件没有CRLF行尾,可能会出现一次警告)。
core.autocrlf
为某些奇怪的值,可以把你的配置文件发出来看看。 - fuz