Генератор .gitattributes
Создайте файл .gitattributes: выберите стратегию нормализации окончаний строк, отметите языки, фреймворки и типы бинарных файлов в списках с поиском и множественным выбором, а также добавьте переопределения стратегии слияния для lock-файлов и журналов изменений. Все выборы объединяются в один готовый к вставке файл без повторов.
Ввод
Выберите способ нормализации окончаний строк, отметьте все языки, фреймворки и типы бинарных файлов, которые использует ваш проект, из списков ниже, и при необходимости добавьте переопределения стратегии слияния. Всё объединяется в один файл без повторов ниже.
Нормализация окончаний строк
text=auto приводит окончания строк к LF в репозитории независимо от того, что получает каждый участник при checkout. Добавьте eol=lf/eol=crlf, чтобы дополнительно задать окончание строк при checkout.
Пользовательские правила
Добавляются под заголовком “Custom Rules”. Строки, начинающиеся с #, сохраняются как комментарии.
Вывод
Другие способы использовать этот инструмент
REST API
curl -X POST https://api.iotools.cloud/v1/tool/gitattributes-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"eolMode": "auto",
"groupLanguagesRuntimes": "[\"presetNode\"]"
}'Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.
Спросите у ИИ-агента
Use the IOTools `gitattributes-generator` tool (.gitattributes Generator) on this input:
YOUR_INPUT_HEREВставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.
Виджет для встраивания
<iframe
src="https://iotools.cloud/embed/gitattributes-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Генератор .gitattributes — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.
| Стоимость вызова API/MCP | От 5 кредитов |
|---|---|
| Нужно больше кредитов? | Посмотреть тарифы |
Также доступно через
Руководства
Создайте готовый к использованию файл .gitattributes: выберите стратегию нормализации окончаний строк, отметьте языки, фреймворки и типы бинарных файлов вашего проекта в списках с поиском и множественным выбором, а также добавьте переопределения стратегии слияния для lock-файлов и журналов изменений. Генератор объединяет все ваши выборы в один аккуратный файл без повторов.
Что такое файл .gitattributes?
Файл .gitattributes сообщает Git, как обрабатывать определённые пути: является ли файл текстовым или бинарным, к какому окончанию строк его нормализовать, какой драйвер diff использовать и как сливать конфликтующие изменения. Он решает классическую проблему «все файлы показаны как изменённые», которая возникает из-за смеси окончаний строк CRLF/LF у участников под Windows, macOS и Linux, а также не даёт бинарным ресурсам (изображениям, шрифтам, архивам) засорять текстовые diff.
Как пользоваться генератором
- Выберите глобальное правило для окончаний строк:
text=autoнормализует окончания строк при коммите и не меняет checkout, либо задайте конкретное окончание при checkout черезeol=lf/eol=crlf. - Отметьте в списке с множественным выбором все языки и фреймворки, которые использует ваш проект, — результат обновляется мгновенно.
- Выберите группы бинарных файлов (изображения, шрифты, архивы, документы и медиа), чтобы Git никогда не пытался сравнивать или сливать их как текст.
- Добавьте переопределения стратегии слияния (например, union merge для
CHANGELOG.md), если изменения из двух веток должны объединяться, а не конфликтовать. - Вставьте специфичные для проекта правила в поле Custom Rules, по одному на строку.
- Скопируйте результат или сразу скачайте его как
.gitattributesв корень вашего репозитория.
Как работает слияние
Каждый выбранный пресет записывается под собственным заголовком # Название, а правила дедуплицируются глобально: если два пресета объявляют одну и ту же строку, она сохраняется только один раз — под первым пресетом, который её объявил. Поэтому сочетание языка, правила для lock-файла и группы бинарных файлов никогда не порождает файл, заполненный повторяющимися строками.
Почему lock-файлам назначают -diff -merge?
Lock-файлы, такие как package-lock.json, yarn.lock и Cargo.lock, генерируются автоматически и могут быть очень большими: сравнивать их или пытаться выполнить текстовое слияние медленно и редко полезно. -diff скрывает их из git diff/git show, а -merge принудительно создаёт конфликт вместо некорректного автослияния, поэтому после разрешения конфликта lock-файл всегда нужно генерировать заново.
Куда помещать файл .gitattributes?
Положите его в корневой каталог вашего Git-репозитория, как и .gitignore. Правила действуют на эту папку и все вложенные папки; для переопределений в конкретных каталогах добавляйте вложенные файлы .gitattributes.
Нужно ли заново нормализовать уже существующие файлы?
Добавление правила для окончаний строк влияет только на файлы, которые Git перечитывает. Выполните git add --renormalize . один раз после добавления .gitattributes, чтобы применить новые правила к уже отслеживаемым файлам, и затем зафиксируйте результат коммитом.
Это приватно?
Да. Всё работает полностью в вашем браузере — ваши выборы и пользовательские правила никогда не загружаются на сервер.
Для парного файла, который также важен для согласованных окончаний строк и отступов, см. EditorConfig Generator. Чтобы создать файл, который полностью исключает сгенерированные артефакты из репозитория, используйте Gitignore Generator. Нужно преобразовать окончания строк в уже имеющихся файлах, а не задавать правило для будущих? Попробуйте CRLF/LF Line Ending Converter.