Ответ 1
Глобальные и общесистемные настройки
В вашем вопросе есть некоторая двусмысленность. В контексте Git "глобальный" обычно означает "пользовательский уровень"; другими словами, глобальные настройки влияют на все репозитории для одного конкретного пользователя (активного). Напротив, общесистемный параметр влияет на все репозитории для всех пользователей машины.
Gitattributes уровня репозитория
(Я упоминаю это только для полноты.)
Согласно соответствующему разделу книги Pro Git,
Если вы хотите воздействовать только на один репозиторий (т.
$GIT_DIR/info/attributes
файлам,$GIT_DIR/info/attributes
к$GIT_DIR/info/attributes
процессу одного пользователя для этого репозитория), то атрибуты следует поместить в$GIT_DIR/info/attributes
.
$GIT_DIR
обычно расширяется до <path-to-repo-root-directory>/.git
.
Глобальные (на уровне пользователя) gitattributes
Согласно соответствующему разделу книги Pro Git,
Атрибуты, которые должны влиять на все репозитории для одного пользователя, должны быть помещены в файл, указанный
core.attributesfile
конфигурацииcore.attributesfile
[...]. Его значение по умолчанию -$XDG_CONFIG_HOME/git/attributes
. Если$XDG_CONFIG_HOME
либо не установлен, либо пуст, вместо него используется$HOME/.config/git/attributes
.
Вы также можете запустить следующую команду,
git config --global core.attributesfile <path>
указать Git на пользовательский путь <path>
для вашего глобального файла gitattributes, например ~/.gitattributes
.
Общесистемные gitattributes
Согласно соответствующему разделу книги Pro Git,
Атрибуты для всех пользователей в системе должны быть помещены в файл
$(prefix)/etc/gitattributes
.
что, естественно, вызывает вопрос:
[...] Но где
$(prefix)
?
Смотрите, что такое $ (префикс) для $ (префикс)/etc/gitconfig? за ответ. Если вы не присвоили prefix
пользовательское непустое значение, $(prefix)
по умолчанию расширяется до нуля; следовательно, ваш общесистемный файл gitattributes
должен находиться в /etc/
.