У Git при використанні autocrlf = true
прапора все одно подається попередження при зміні закінчень рядків.
Я розумію, що таке попередження, і як вимкнути прапор, що закінчується рядком, але як вимкнути саме попередження?
У Git при використанні autocrlf = true
прапора все одно подається попередження при зміні закінчень рядків.
Я розумію, що таке попередження, і як вимкнути прапор, що закінчується рядком, але як вимкнути саме попередження?
Відповіді:
Ви можете вимкнути попередження за допомогою
git config --global core.safecrlf false
(Це вимкне лише попередження, а не саму функцію.)
Ви повинні використовувати core.autocrlf input
і core.eol input
. Або просто не дозволяйте git взагалі змінювати закінчення рядків autocrlf false
і позбавлятись від виділення плівки в диференціалах тощо 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" працює. Однак після того, як я змінив значення на "справжнє" Вихід змінюється з "попередження" на "фатальний", як показано нижче
$ 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
$