Для чего нужно скрывать папки и файлы git в .gitattributes при помощи export-ignore?
Понятное дело, что это нужно для скрытия их из генерируемого архива, например git archive. Но для чего это может быть нужно? Если какие-то логи или кеш, то они не нужны, а вот ресурсы git, которые на многих проектах скрывают - для чего нужно? Допустим, архив создан как резервная копия, но в чем провинился .gitignore, например?
Архив как резервная копия git это довольно использование. Но если вы хотите его так использовать, то просто не игнорьте ничего.
Обычно архив это «слепок» исходного кода и в нём нужны только файлы из которых собирается приложение. А всякие файлы нужные git-у, idea и прочим вспомогательным штукам архиву не нужны.
Lynn «Кофеман», какая ещё может быть надобность, кроме резервной копии, а в резервной копии должно быть всё кроме запрещенного в gitignore. Ну то есть на практике насколько это нужно?
Это в том числе полезно для репозиториев, код которых публикуется в качестве пакетов, для установки в других проектах.
Устанавливая на свой php-проект либу для работы с базой - мне не нужны ни её тесты, ни readme, ни конфигурации статических анализаторов, ни дока, ни конфиги CI/CD. Мне нужен только код.