Как правильно редактировать конфигурационный файл git? - PullRequest
0 голосов
/ 22 февраля 2019

Мой главный редактор кода - 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?Это немного сбивает с толку, потому что я думал, что упомянутая выше команда заменит / обновит вторую строку в настройках.

Спасибо

Редактировать:

здесь вывод 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

1 Ответ

0 голосов
/ 22 февраля 2019

Существует 3 "уровня" git config - системный, глобальный и локальный .Как видите, вы установили core.autocrlf на input в глобальной конфигурации и на true в вашей конфигурации системы.В конце концов, для вашего пользователя глобальная конфигурация этого var займет системную и будет input.Если только вы не установите его в локальной конфигурации (уровне репо).

И да, это обычная практика.

...