如何将git配置项core.autocrlf从true修改为input
Git配置优先级及autocrlf配置问题解决方案
报错原因说明
运行不带作用域参数的git config core.autocrlf input命令时,Git默认尝试修改当前所在Git仓库的本地配置文件(存储在仓库根目录.git/config中),如果当前终端工作目录不是任何Git仓库的工作目录,就会触发fatal: not in a git directory报错。
全局配置不生效的核心原因
Git的配置优先级遵循从高到低的规则:
- 仓库本地配置(
.git/config)> 全局用户配置(当前用户目录下的.gitconfig)> 系统级配置(系统全局Git配置文件)
只要你的项目本地配置中已经设置过core.autocrlf参数,就会优先读取本地值,忽略全局配置的设置。
解决步骤
- 打开终端,切换到你需要调整配置的项目根目录,确保目录下存在隐藏的
.git文件夹 - 运行
git config core.autocrlf input,此时命令会直接修改该项目的本地配置,不会再触发目录报错 - 运行
git config --get core.autocrlf验证配置,返回input即为设置成功
如果希望该项目直接沿用全局配置,不需要单独设置本地规则,可以运行git config --unset core.autocrlf清空本地的core.autocrlf配置,清空后Git会自动读取全局配置值。
注意:调整换行符配置后,仅新提交的文件变更会应用新规则,已经提交到仓库的历史文件不会自动修改换行符。
内容的提问来源于stack exchange,提问作者Alex O'Neill
相关产品推荐
相关产品推荐

