GIT: как избавиться от надоедливого сообщения CRLF в msysgit (Windows)?

Практически каждый раз, когда я создаю текстовый файл (это большинство из них), я получаю сообщение от git gui (я использую msysgit), что он заменил (или собирается заменить) окончания строк на CRLF. Очевидно, я хочу этого (и для этого есть настройка, ура), но я не хочу, чтобы раздражающее сообщение появлялось все время!

Любой способ сохранить настройку, но отключить/отключить всплывающее сообщение?

Я понятия не имею, как это работает с GIT в командной строке, но мне нравится промежуточный процесс msysgit :), поэтому я бы не стал переходить на bash.


person Rudie    schedule 01.10.2010    source источник


Ответы (5)


Командная строка просто печатает сообщение, и все.

Я не думаю, что окно сообщения можно отключить, к сожалению...

person Community    schedule 01.10.2010

Одна вещь, которую вы можете сделать, это установить соответствующий параметр в файле repo-config. Опция core.autocrlf сделает следующее:

  1. Все текстовые файлы будут храниться с LF окончаниями строк.
  2. При чтении с диска CRLF преобразуется в LF
  3. При записи на диск LF преобразуется в CRLF

Вы можете установить эту опцию в git-shell

$ cd path/to/repo
$ git config core.autocrlf true

Затем удалите из репозитория любой файл, кроме самой папки .git, и запустите

$ git reset --hard
$ git commit -am "Line endings fixed."

Чтобы исправить окончания строк.

PS: Существует небольшая вероятность того, что бинарные файлы случайно представляют собой текстовые файлы и могут быть повреждены, тогда вы должны прочитать руководство или просто спросить здесь.

person fuz    schedule 01.10.2010
comment
Кстати, может быть, вы установили core.autocrlf какое-то странное значение, может быть, опубликуете свою конфигурацию. - person fuz; 01.10.2010

Может быть, убедитесь: core.autocrlf=false.

Я действительно не знаю msysgit, но после небольшого поиска я нашел пару связанных msysgit / потоки.
См. также соответствующий SO Q: Какова наилучшая стратегия обработки CRLF с git?.

person msbmsb    schedule 01.10.2010

Просто используйте CRLF в качестве окончания строки в текстовом редакторе, и git не о чем будет вас предупреждать. (За исключением, может быть, одного раза, если вытащенный файл не имеет окончаний строк CRLF).

person Adder    schedule 05.11.2012

Поскольку вы используете msysgit, я предполагаю, что для core.autocrlf установлено значение tru (настройка по умолчанию при установке msysgit).

Вы можете попробовать установить для core.safecrlf значение false и посмотреть, повлияет ли это на этот вид сообщение.

git config core.safecrlf false

Вы также можете попробовать версию файла .gitattributes и установить:

*        eol=crlf

чтобы увидеть, имеет ли этот явный текстовый атрибут какое-либо отношение к этому предупреждающему сообщению.

person VonC    schedule 01.10.2010