GitHub 如何知道我使用的是哪个帐户?

tha*_*ono 5 git github

我有两个 GitHub 帐户,一个用于我的工作,另一个用于我的个人用途。我想在提交时将这两个分开。

目前,当我可以在本地系统上的不同存储库中根据它是否是工作/个人存储库时,我只需更改我的 GitHub 凭据。进入该存储库后,我编写以下命令以更改为该帐户:

git config --global user.name "myusername"
git config --global user.email [myemail]
Run Code Online (Sandbox Code Playgroud)

然后我处理我的 git 命令,它似乎工作正常。我仍然有一些问题,因为我觉得这不是处理事情的正确方法。

1) 如果我在我的工作仓库中将我的 git 用户/电子邮件更改为我的个人帐户并进行了提交,那么该提交是否会成功并转到 GitHub?似乎它确实我不明白。GitHub 不会检查该帐户是否有权提交该存储库?

2)您能否推荐一种更好的方法来处理我的工作/个人帐户之间的交换,以使这两者完全分开?

谢谢!

bej*_*ado 4

如果我将我的 git 用户/电子邮件更改为我的工作存储库中的个人帐户并进行提交,该提交会成功并进入 github 吗?

是的,但它会被归因于错误的电子邮件地址。请参阅Github 帮助

如果您的提交未链接到任何用户,我们将在其旁边显示灰色的 Octocat 徽标

git 中的每个提交都标有一个电子邮件地址。就 GitHub 而言,这可以是您想要的任何电子邮件地址。

这个答案介绍了在本地帐户之间快速切换的方法。.git/config我喜欢更新每个存储库目录中的文件的想法.git,该文件告诉 git 使用哪个电子邮件:

[user]
    name = John Doe
    email = email@email.com
Run Code Online (Sandbox Code Playgroud)

将其添加到.git/config您正在处理的每个存储库的文件中,git 将根据每个存储库的电子邮件对您的提交进行归属。

如果您想知道Github如何跟踪所有这些,它是通过称为电子邮件别名的东西来完成的。