Отключить нормализацию конца строки через файл .gitattributes

Как отключить нормализацию конца строки (разделитель строки) через файл .gitattributes? Или, что более полезно, отключите его для определенных путей и/или файлов. Также я хочу, чтобы Git показывал различия/слияния, как обычно для текстовых файлов.

Поскольку иногда вам нужно нормализовать окончания строк для текстовых файлов в зависимости от ОС (например, используя * text=auto в файле .gitattributes), как можно добиться исключений?


person goamn    schedule 23.12.2019    source источник


Ответы (1)


Учитывая, что все текстовые файлы нормализованы в файле .gitattributes, мы можем добавить исключения, используя параметр !eol:

# Auto detect text files and perform EOL normalization according to OS
* text=auto 

#Exclude certain file types from EOL normalization
*.csv !eol

#Exclude certain paths from EOL normalization
**/TestFilesPath/** !eol
person goamn    schedule 23.12.2019
comment
Не лучше ли указать фактический EOL, который вы хотите в данном случае, или, если файлы не текстовые, указать -text? - person bk2204; 23.12.2019
comment
@ bk2204 Почти все примеры в Интернете указывают конкретный EOL. Для моего сценария я хочу специально указать Git оставить текстовый файл в покое и не нормализовать его ни под какой ОС. Сценарий создает текстовый файл для банка с платежными инструкциями, и мне всегда нужен предсказуемый файл, на котором будут основываться тесты. - person goamn; 23.12.2019