Заставь git спрашивать мою электронную почту каждый раз, когда я фиксирую - PullRequest
0 голосов
/ 02 сентября 2018

Я делал коммиты только с моего личного адреса электронной почты. Теперь я начал работать разработчиком программного обеспечения. Я хочу использовать мой рабочий адрес электронной почты для моих рабочих репозиториев и мой личный адрес электронной почты для личных репозиториев. Я использую git config user.email "username@example.com", чтобы сделать это. Проблема в том, что у меня много репозиториев, и я иногда забываю установить user.email. Иногда я фиксирую и нажимаю не с того адреса электронной почты.

Есть ли способ заставить git не разрешать мне коммитить, если user.email явно не установлен для репозитория? Я удалил user.email из моего глобального ~/.gitconfig, но затем git использует username@hostname.local в качестве моего адреса электронной почты для фиксации.

Я использую git версии 2.18.0 на MacOS High Sierra. Я установил git, используя homebrew.

1 Ответ

0 голосов
/ 02 сентября 2018

Вы можете использовать условные включения , чтобы включить другой файл конфигурации для некоторого пути. Таким образом, вы можете установить глобальный адрес электронной почты и другие адреса электронной почты для репозиториев, хранящихся в определенных каталогах (и их подкаталогах). Вы также должны установить user.useConfigOnly на true, чтобы запретить Git угадывать адрес электронной почты, когда он не установлен.

My ~/.gitconfig содержит следующие разделы:

[user]
    name = John Doe
    # The default email, used for personal projects
    email = john.doe@example.org
    # This prevents Git guess the email address if it is not set
    useConfigOnly = true

[includeIf "gitdir:~/work/"]
    path = ~/.config/git/config-work

Файл ~/.config/git/config-work выглядит так:

[user]
    name = John Doe
    email = john.doe@company.org

Загружается только для репозиториев, расположенных в ~/work или его подкаталогах.

Вы можете использовать несколько [includeIf] разделов в вашем ~/.gitconfig файле, если вам это нужно. Каждый включенный файл может перезаписывать записи конфигурации, перечисленные в ~/.gitconfig, или добавлять новые записи по мере необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...