2015-06-22 4 views
2

Это довольно неинтуитивное:Override .gitattributes текста = авто в Windows,

C:\python-tdl\examples\termbox>git config core.autocrlf 
false 

C:\python-tdl\examples\termbox>git commit termbox.py 
warning: LF will be replaced by CRLF in examples/termbox/termbox.py. 
The file will have its original line endings in your working directory. 
warning: LF will be replaced by CRLF in examples/termbox/termbox.py. 
The file will have its original line endings in your working directory. 
warning: LF will be replaced by CRLF in examples/termbox/termbox.py. 
The file will have its original line endings in your working directory. 
Aborting commit due to empty commit message. 

Согласно различным СМИ с core.autocrlf=false не должна быть никакого преобразования перевода строки вообще.

В корне проекта я обнаружил .gitattributes с линией:

# Auto detect text files and perform LF normalization 
* text=auto 

Если я комментирую его, предупреждение уходит. Вопрос: как я могу переопределить эту настройку .gitattibutes автоматически?

ответ

3

.gitattributes переопределяет все настройки конфигурации, поэтому его действительно нельзя переопределить; это, так сказать, «пересадка». Хотя вы можете просто удалить строку, это приведет к непоследовательному поведению на машинах других разработчиков, если они имеют core.autocrlf=true. Поэтому лучше всего добавить следующую строку в .gitattributes: * -text. Это отключит обработку CRLF для всех файлов.

+1

Было бы неплохо, если бы у GIT была возможность полностью отключить преобразование EOL независимо от файла .gitattributes. В моем случае файл .gitattributes поддерживается RE, и я не могу его изменить, но я абсолютно хочу, чтобы все файлы на моем ПК были только с LF. –

+0

Большое спасибо. Я потратил возрасты, сражаясь с быстрым экспортом, который установил '* text = auto'. Это сделал трюк. Я бы проголосовал 10 раз, если бы мог! – spikyjt

+0

@AndreiLED вы можете переопределить это для каждого репо, отредактировав/добавив .git/info/attributes. Порядок приоритета - это глобальная конфигурация -> .gitattributes в атрибутах dir -> .git/info/(то есть последнее берет наибольшее предпочтение и переопределяет остальные). Ссылка здесь: http://git-scm.com/docs/gitattributes – spikyjt

Смежные вопросы