ввод git autocrlf конвертирует окончания строк, но из LF в CRLF? - PullRequest
7 голосов
/ 22 июня 2011

git config --global core.autocrlf input

в соответствии с на этой странице справки github это должно настроить git таким образом, чтобы при преобразовании он преобразовывал все окончания строк в LF.

Тем не менее, когда я отправляю в репо, это вывод, который я получаю.

> git commit -am "test commit"
warning: LF will be replaced by CRLF in .htaccess.
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in .htaccess.
The file will have its original line endings in your working directory.
[release/4.2 27bad5b] test commit
warning: LF will be replaced by CRLF in .htaccess.
The file will have its original line endings in your working directory.
 1 files changed, 1 insertions(+), 1 deletions(-)

Затем я проверил свою конфигурацию, чтобы убедиться, что опция autocrlf была правильно установлена ​​и установлена.

> git config -l | grep "crlf"
core.autocrlf=input

Почему git говорит, что он конвертирует мой LF в CRLF, а не наоборот, вот что я ищу?

А почему он жалуется 3 раза? Это потому, что было найдено 3 случая, которые будут заменены? Почему он предупреждает меня один раз после вывода команды commithash?

Я в замешательстве (и на Mac для записи:))

1 Ответ

13 голосов
/ 22 июня 2011

После долгого времени, связанного с окончаниями строк, я просто не позволю никаким инструментам, в том числе VCS, менять их на меня.

Теперь я использую autocrlf false и core.whitespace cr-at-eol.Это избавляет от неприятного ^ M в выводе diff.Это просто выделение, которое делает git, чтобы показать вам такие жуткие вещи, как лишние пробелы в конце строки или непосредственно перед вкладкой и т. Д.

Надеюсь, вы можете сделать то же самое и покончить с безумием в конце строкитоже навсегда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...