2017-03-17 137 views
3

我有两个GitHub帐户,一个用于我的工作,另一个用于个人用途。我想在做提交时保持这两个不同。GitHub如何知道我正在使用哪个帐户?

目前,当我可以在本地系统上的不同存储库中更改我的GitHub凭据时,它是基于它是否为工作/个人回购。一旦我在回购协议,我写了下面的命令来更改该帐户:

git config --global user.name "myusername" 
git config --global user.email [myemail] 

然后我处理我的Git命令,它似乎很好地工作。我仍然有几个问题,因为我觉得这不是处理事情的正确方法。 1)如果我在我的工作回购中将我的git用户/电子邮件更改为我的个人帐户并进行了提交,那么该提交是否会成功并通过GitHub?它似乎是我不明白的。 GitHub会不会检查该帐户是否有权对该回购进行提交?

2)你能推荐一个更好的方式来处理我的工作/个人账户之间的交换,以保持两者完全分开吗?

谢谢!

回答

2

如果我在我的工作回购中将我的git用户/电子邮件更改为我的个人帐户并进行了提交,那么该提交是否会成功并通过github?

是的,但它会被归因于错误的电子邮件地址。见Github help

如果你的提交未链接到任何用户,我们将展示他们

Git中,每次提交旁的灰色 Octocat标志被打上一个电子邮件地址。就GitHub而言,这可以是任何你想要的电子邮件地址。

This answer找到了本地帐户之间快速切换的方法。我想告诉混帐要使用的电子邮件中.git目录中的每个回购的更新.git/config文件的想法:

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

是添加到.git/config文件每个仓库你的工作和git将您的属性基于每个存储库电子邮件提交。

如果你想知道如何Github保持跟踪所有这一切,它通过一种叫做email aliases的东西来完成。

0

1)

Github从你的ssh公钥中识别出你。如果您没有提交公钥,当您尝试推送代码时,github会询问您的账户名称和密码。在你的github配置文件中检查你的'设置 - > SSH和GPG密钥 - > SSH密钥'。

git config --global user.name "myusername" 
git config --global user.email [myemail] 

的混帐配置内容只是告诉你要什么样的名字叫,你要发送的电子邮件其他人。事实上,你甚至可以将它们留空或填写任何内容。

git config --global user.name "what ever" 
git config --global user.email [email protected] 

2)

您可以尝试使用不同的SSH密钥。

[user] 
    name = your honey 
    email = [email protected] 

工作:

[user] 
    name = your reliable employee 
    email = [email protected] 
或者干脆,你可以在你的.git/config中

个人使用不同的电子邮件地址和名称

相关问题