Ответ 1
Лучший способ избежать необходимости устанавливать core.autocrlf
отдельно на каждой машине, по-видимому, проверяет файл .gitattributes
в репозитории, содержащий единственную строку
* -text
Или, если у вас установлена более старая версия Git, то
* -crlf
Это сообщает Git, что для всех путей (таким образом, *
) не следует пытаться нормализовать окончание строки. Насколько я могу судить, это не должно иметь никаких других побочных эффектов. В частности, он не должен изменять способ генерирования различий (у этого есть отдельный атрибут diff
/-diff
) или как обрабатываются слияния (у этого есть отдельный атрибут merge
/-merge
).
Для получения дополнительной информации я предлагаю следующие ресурсы:
- Документация gitattributes (
git help attributes
или онлайн-копия), в которой подробно описывается, как работает нормализация окончания строки и специфические эффекты разных атрибутов. (Вероятно, наиболее релевантными являютсяtext
,crlf
,diff
,merge
иbinary
.) - Git поток списка рассылки Является ли атрибут "текст" только для указания поведения нормализующей линии или имеет более широкие последствия? (30 марта 2012 г.), который расширяет значение разных атрибутов и поясняет, что
-text
не означает просто "это двоичный файл".