每当我提交时,让git询问我的电子邮件

问题描述 投票:1回答:1

我曾经只使用我的个人电子邮件地址进行git提交。现在我已经开始作为软件开发人员工作了。我想将我的工作电子邮件地址用于我的工作存储库,并将个人电子邮件地址用于个人存储库。我使用git config user.email "[email protected]"来做到这一点。问题是我有很多存储库,我有时会忘记设置user.email。有时,我提交并推送错误的电子邮件地址。

如果没有为存储库明确设置user.email,有没有办法强制git不允许我提交?我从我的全球user.email中删除了~/.gitconfig,但随后git使用[email protected]作为我的提交电子邮件地址。

我在MacOS High Sierra上使用git版本2.18.0。我用自制软件安装了git。

git
1个回答
2
投票

您可以使用conditional includes为某个路径包含不同的配置文件。这样,您可以为存储在某些目录(及其子目录)中的存储库设置全局电子邮件地址和不同的其他电子邮件地址。您还应该将user.useConfigOnly设置为true,以禁止Git猜测未设置的电子邮件地址。

我的~/.gitconfig包含以下部分:

[user]
    name = John Doe
    # The default email, used for personal projects
    email = [email protected]
    # 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 = [email protected]

它仅加载位于~/work或其子目录中的存储库。

如果需要,可以在[includeIf]文件中使用多个~/.gitconfig部分。每个包含的文件都可以覆盖~/.gitconfig中列出的配置条目,或根据需要添加新条目。

© www.soinside.com 2019 - 2024. All rights reserved.