如何正确编辑 git 配置文件?
How to properly edit git config file?
我的主要代码编辑器是 VS Code。我没有任何基于 Windows 的项目,所以我保存了我所有的行结束设置为 LF 的工作。
在将我的文件添加到 git 暂存区时,我收到了这条消息:
warning: LF will be replaced by CRLF
我检查了文档和类似的问题,并使用以下命令将 core.autocrlf
设置为 input
:git config --global core.autocrlf input
我的问题是:现在在我的 git 设置文件中我有两行
core.autocrlf=true
和 core.autocrlf=input
?
这是整个文件:
$ git config -l
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
core.editor='C:\Program Files\Microsoft VS Code\Code.exe' --wait
user.email=***
user.name=***
core.autocrlf=input
可以吗,还是我应该删除第二行 autocrlf=true
?这有点令人困惑,因为我认为上面提到的命令将 replace/update 设置中的第二行。
谢谢
编辑:
这里是 git config -l --show-origin
输出:
$ git config -l --show-origin
file:"C:\ProgramData/Git/config" core.symlinks=false
file:"C:\ProgramData/Git/config" core.autocrlf=true
file:"C:\ProgramData/Git/config" core.fscache=true
file:"C:\ProgramData/Git/config" color.diff=auto
file:"C:\ProgramData/Git/config" color.status=auto
file:"C:\ProgramData/Git/config" color.branch=auto
file:"C:\ProgramData/Git/config" color.interactive=true
file:"C:\ProgramData/Git/config" help.format=html
file:"C:\ProgramData/Git/config" rebase.autosquash=true
file:C:/Program Files/Git/mingw64/etc/gitconfig http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
file:C:/Program Files/Git/mingw64/etc/gitconfig http.sslbackend=openssl
file:C:/Program Files/Git/mingw64/etc/gitconfig diff.astextplain.textconv=astextplain
file:C:/Program Files/Git/mingw64/etc/gitconfig filter.lfs.clean=git-lfs clean -- %f
file:C:/Program Files/Git/mingw64/etc/gitconfig filter.lfs.smudge=git-lfs smudge -- %f
file:C:/Program Files/Git/mingw64/etc/gitconfig filter.lfs.process=git-lfs filter-process
file:C:/Program Files/Git/mingw64/etc/gitconfig filter.lfs.required=true
file:C:/Program Files/Git/mingw64/etc/gitconfig credential.helper=manager
file:C:/Program Files/Git/mingw64/etc/gitconfig core.editor='C:\Program Files\Microsoft VS Code\Code.exe' --wait
file:C:/Users/Wladyslaw/.gitconfig user.email=***
file:C:/Users/Wladyslaw/.gitconfig user.name=***
file:C:/Users/Wladyslaw/.gitconfig core.autocrlf=input
There are 3 "levels" of git config – system, global and local。
如您所见,您已在全局配置中将 core.autocrlf
设置为 input
,并在系统配置中设置为 true
。最后,对于您的用户,此 var 的全局配置将接管系统一,它将是 input
。除非你也在本地(回购级别)配置中设置它。
是的,这是一种常见的做法。
我的主要代码编辑器是 VS Code。我没有任何基于 Windows 的项目,所以我保存了我所有的行结束设置为 LF 的工作。
在将我的文件添加到 git 暂存区时,我收到了这条消息:
warning: LF will be replaced by CRLF
我检查了文档和类似的问题,并使用以下命令将 core.autocrlf
设置为 input
:git config --global core.autocrlf input
我的问题是:现在在我的 git 设置文件中我有两行
core.autocrlf=true
和 core.autocrlf=input
?
这是整个文件:
$ git config -l
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
core.editor='C:\Program Files\Microsoft VS Code\Code.exe' --wait
user.email=***
user.name=***
core.autocrlf=input
可以吗,还是我应该删除第二行 autocrlf=true
?这有点令人困惑,因为我认为上面提到的命令将 replace/update 设置中的第二行。
谢谢
编辑:
这里是 git config -l --show-origin
输出:
$ git config -l --show-origin
file:"C:\ProgramData/Git/config" core.symlinks=false
file:"C:\ProgramData/Git/config" core.autocrlf=true
file:"C:\ProgramData/Git/config" core.fscache=true
file:"C:\ProgramData/Git/config" color.diff=auto
file:"C:\ProgramData/Git/config" color.status=auto
file:"C:\ProgramData/Git/config" color.branch=auto
file:"C:\ProgramData/Git/config" color.interactive=true
file:"C:\ProgramData/Git/config" help.format=html
file:"C:\ProgramData/Git/config" rebase.autosquash=true
file:C:/Program Files/Git/mingw64/etc/gitconfig http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
file:C:/Program Files/Git/mingw64/etc/gitconfig http.sslbackend=openssl
file:C:/Program Files/Git/mingw64/etc/gitconfig diff.astextplain.textconv=astextplain
file:C:/Program Files/Git/mingw64/etc/gitconfig filter.lfs.clean=git-lfs clean -- %f
file:C:/Program Files/Git/mingw64/etc/gitconfig filter.lfs.smudge=git-lfs smudge -- %f
file:C:/Program Files/Git/mingw64/etc/gitconfig filter.lfs.process=git-lfs filter-process
file:C:/Program Files/Git/mingw64/etc/gitconfig filter.lfs.required=true
file:C:/Program Files/Git/mingw64/etc/gitconfig credential.helper=manager
file:C:/Program Files/Git/mingw64/etc/gitconfig core.editor='C:\Program Files\Microsoft VS Code\Code.exe' --wait
file:C:/Users/Wladyslaw/.gitconfig user.email=***
file:C:/Users/Wladyslaw/.gitconfig user.name=***
file:C:/Users/Wladyslaw/.gitconfig core.autocrlf=input
There are 3 "levels" of git config – system, global and local。
如您所见,您已在全局配置中将 core.autocrlf
设置为 input
,并在系统配置中设置为 true
。最后,对于您的用户,此 var 的全局配置将接管系统一,它将是 input
。除非你也在本地(回购级别)配置中设置它。
是的,这是一种常见的做法。