我有两个 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)您能否推荐一种更好的方法来处理我的工作/个人帐户之间的交换,以使这两者完全分开?
谢谢!
如果我将我的 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如何跟踪所有这些,它是通过称为电子邮件别名的东西来完成的。