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

Sim*_*ker 2 git commit git-commit gitlab

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

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

Phi*_*ppe 5

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

您可以将所有个人存储库放在特定文件夹中(此处~/personal/)并设置配置,以便当您使用 git 时,它将对该文件夹内的所有存储库使用特定配置。

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

你可以这样做:

~/.gitconfig

[user]
    name = John Doe
    email = john.doe@work-account.com

[includeIf "gitdir:~/personal/"]
    path = ~/personal/.gitconfig
Run Code Online (Sandbox Code Playgroud)

在包含您的个人信息的新配置文件中~/personal/.gitconfig

[user]
    email = john.doe@personal-account.com
Run Code Online (Sandbox Code Playgroud)

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