1.3 KiB
1.3 KiB
%USERPROFILE%\.gitconfig
[core]
autocrlf = true
有三个可选值:
-
true
-
false
-
input
在 Windows 系统上:
-
true表示在推送时转成\n,在拉取时转成\r\n。这样的设置让 Windows 的开发者能兼容很多的开发工具(比如早期的记事本,新的已经支持\r\n了),不至于遇到很多换行符问题。 -
false表示在推送时和拉取时都原样保留换行符。这样的设置在所有程序员都在同一个平台开发时很有用,git 完全不处理换行符,全部改由开发者自行解决。 -
input表示在推送时转成\n,在拉取时原样保留换行符。注意到,这样的设置会让仓库里所有的换行符都变成\n不再有什么时候有\r\n了,所以对 Windows 平台的开发者并不友好。
以前的服务器全局配置没有问题,是因为服务器配置为 true,于是拉下来时一定都是 \r\n 哈希正确。而现在全局配置是 false,于是会原样把 git 仓库里的拉下来,哈希错误。
是的,你没看错!远程 git 仓库里的是错的!这是因为有小伙伴使用了 true 或者 input 的配置,导致推送时统一把换行符改成了 \r\n。