#git #git-commit
#git #git-commit
Вопрос:
Чтение документов не говорит мне, можно ли это сделать или нет, что указывает мне, что это невозможно сделать, но я хочу посоветоваться с некоторыми более умными людьми. Я думаю, было бы очень полезно указать как шаблон проекта template = .git/gitmessage
, так и глобальный шаблон template = ~/.gitmessage
для резервного копирования, если проект не существует. Я попытался добавить 2 template
записи ~/.gitconfig
и указал одну на глобальный шаблон, а другую на локальный шаблон, и это не сработало, независимо от того, в каком порядке я их разместил.
Соответствующая документация:
При редактировании сообщения о фиксации запустите редактор с содержимым в данном файле. Переменная конфигурации commit.template часто используется для неявного предоставления этой опции команде. Этот механизм может использоваться проектами, которые хотят подсказать участникам, что и в каком порядке писать в сообщении. Если пользователь выходит из редактора, не отредактировав сообщение, фиксация прерывается. Это не имеет никакого эффекта, когда сообщение передается другими способами, например, с помощью опций -m или -F.
Ответ №1:
Git имеет два вида параметров конфигурации: параметры, которые могут иметь несколько значений, и параметры, которые могут иметь не более одного значения. Я считаю, что commit.template
это последнее.
Общий шаблон для параметров, которые принимают не более одного значения, заключается в том, что файлы конфигурации с более узкой областью действия имеют приоритет над файлами конфигурации с более широкой областью действия. То есть .git/config
в репозитории (локальный файл) имеет приоритет над ~/.gitconfig
(глобальным файлом), который, в свою очередь, имеет приоритет над /etc/gitconfig
(системным файлом).
Если вы хотите установить этот параметр глобально, вы можете сделать это в своем ~/.gitconfig
файле, а затем установить параметр для конкретного проекта в файле конфигурации в репозитории. Это должно переопределить значение в вашем глобальном файле и, следовательно, использовать шаблон для конкретного проекта. Для проектов, у которых нет собственного шаблона, вы будете использовать тот, который определен в глобальном файле.