管理多个 git 提交电子邮件地址

问题描述 投票:0回答:2

我使用我的个人笔记本电脑进行工作(他们对此很满意),但我注意到我所有的工作提交都使用我的个人电子邮件地址。我不想在我的 git 机器上全局默认使用我的工作电子邮件地址,有没有一种方法可以让我在提交时可以拥有我的个人电子邮件地址用于某些存储库,而我的工作电子邮件地址用于其他存储库?

我不介意重写现有提交的历史记录,只是继续前进。

git gitlab commit git-commit
2个回答
5
投票

除了 @RomainValeri 提供的解决方案之外,另一种解决方案是使用“条件包含”git 功能(我发现它更方便,因为您不必忘记在每个新存储库中设置电子邮件 - 如果您这样做,它会自动应用)在好工作或个人文件夹中创建存储库--)

您可以将所有个人存储库放在特定文件夹中(此处

~/personal/
)并设置配置,以便当您使用git时,它将对该文件夹内的所有存储库使用特定配置。

这样,您在克隆或创建新存储库时就不会忘记设置个人设置。

你可以这样做:

~/.gitconfig

[user]
    name = John Doe
    email = [email protected]

[includeIf "gitdir:~/personal/"]
    path = ~/personal/.gitconfig

在包含您个人信息的新配置文件中

~/personal/.gitconfig

[user]
    email = [email protected]

编辑:再次阅读您的问题,因为那是您的个人计算机,也许您想做相反的事情,所以您只需切换两封电子邮件...


2
投票

是的,您可以利用

--local
设置来精确管理每个存储库应使用的电子邮件。

# to set your work email only for the current repo
git config --local user.email '<your work email>'

# to set an email globally, as a fallthrough if a repo doesn't have a local setting for user.email
git config --global user.email '<your personal email>'
© www.soinside.com 2019 - 2024. All rights reserved.