В Git, при использовании autocrlf = true
флага, все еще выдается предупреждение при изменении конца строки.
Я понимаю, для чего предназначено предупреждение, и как отключить флаг окончания строки, но как мне отключить само предупреждение?
В Git, при использовании autocrlf = true
флага, все еще выдается предупреждение при изменении конца строки.
Я понимаю, для чего предназначено предупреждение, и как отключить флаг окончания строки, но как мне отключить само предупреждение?
Ответы:
Вы можете отключить предупреждение с
git config --global core.safecrlf false
(Это отключит только предупреждение, а не саму функцию.)
Вы должны использовать core.autocrlf input
и core.eol input
. Или просто не позволяйте git вообще изменять окончания строк autocrlf false
и избавляться от подсветки crlfs в diffs и т core.whitespace cr-at-eol
. Д. С помощью .
Надеюсь это поможет
Я использовал этот способ:
Сохраните ваши текущие файлы в Git, чтобы ни одна из ваших работ не была потеряна.
git add . -u git commit -m "Saving files before refreshing line endings"
Удалите каждый файл из индекса Git.
git rm --cached -r .
Перепишите индекс Git, чтобы подобрать все новые окончания строки.
git reset --hard
Добавьте все ваши измененные файлы обратно и подготовьте их к фиксации. Это ваш шанс проверить, какие файлы, если они есть, остались без изменений.
git add . # It is perfectly safe to see a lot of messages here that read # "warning: CRLF will be replaced by LF in file."
Зафиксируйте изменения в вашем хранилище.
git commit -m "Normalize all the line endings"
git rm --cached -r . && git reset --hard
кажется, делает
Как ни странно, я применил обе конфигурации, как описано здесь, и мой файл .gitconfig содержал эти 2 строки:
[core]
autocrlf = false
whitespace = cr-at-eol
И все же я получил предупреждение. Теперь, чтобы попробовать, я закомментировал обе строки, и предупреждение фактически исчезло. Не знаю, почему я поставил их на первое место, однако ...
Настройка "core.safecrlf false" работает. Однако после того, как я изменил значение на «true», выходной сигнал изменится с «warning» на «fatal», как показано ниже.
$ git add -A
warning: LF will be replaced by CRLF in .gitignore.
The file will have its original line endings in your working directory
$ git config --global core.safecrlf false
$ git reset
$ git config --global core.safecrlf true
$ git add -A
fatal: LF would be replaced by CRLF in .gitignore
$