.gitattributes: применить атрибут только к тексту

# #git #gitlab #gitattributes

Вопрос:

Я пытаюсь определить EOL=CRLF .gitattributes в экземпляре GitLabs и применить это только к текстовым файлам. Аналогичные вопросы были опубликованы, но все они предполагают, что вы можете написать код следующим образом:

 * text=auto
*.filetypeA eol=crlf
 

Проблема здесь в том, что у меня есть как текстовые, так и двоичные файлы для данного типа файлов. Мне нужно использовать движок git, чтобы сначала определить, является ли файл текстовым или двоичным, затем применить атрибут ТОЛЬКО к текстовым файлам, оставив двоичные файлы нетронутыми.

Я также работаю в условиях ряда ограничений:

  • Некоторые решения рекомендуют изменять поведение текста в файлах ядра Git — я ограничен содержимым своего репозитория. Я не могу изменить основное поведение своего экземпляра gitlabs, так как это корпоративная система, к которой у меня нет доступа.
  • Моя организация не предоставляет никакой степени доступа к терминалу — я ограничен изменениями, которые я могу вносить через пользовательский интерфейс Gitlabs

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

Комментарии:

1. .gitattributes Файл также находится в репо. Изменения, которые вам нужно внести, относятся только к вашему собственному репо (даже не на уровне проекта). Подробнее в официальных документах

2. @azbarcea Правильно; файл .gitattributes будет добавлен в каждое хранилище. В худшем случае моей команде необходимо создать уникальную версию для каждого репозитория и обновлять ее по мере добавления новых файлов. Я надеюсь создать статический файл .gitattributes, который можно разместить в каждом репозитории без редактирования