我有两个 GitHub 帐户,一个用于我的工作,另一个用于我的个人使用。当我进行提交时,我想将这两个分开。
目前,我只需根据是否是工作/个人存储库在本地系统上的不同存储库中更改我的 GitHub 凭据即可。进入该存储库后,我会编写以下命令来更改为该帐户:
git config --global user.name "myusername"
git config --global user.email [myemail]
然后我处理我的 git 命令,它似乎工作正常。我仍然有一些问题,因为我觉得这不是处理事情的正确方法。
如果我将工作存储库中的 git 用户/电子邮件更改为我的个人帐户并进行提交,该提交是否会成功并进入 GitHub?看起来好像是这样,我不明白。 GitHub 不会检查该帐户是否有权提交该存储库吗?
您能否推荐一种更好的方法来处理我的工作/个人帐户之间的交换,以使这两个帐户完全分开?
如果我将工作存储库中的 git 用户/电子邮件更改为我的个人帐户并进行提交,该提交会成功并进入 github 吗?
是的,但会被归因于错误的电子邮件地址。请参阅Github 帮助:
如果您的提交未链接到任何用户,我们将显示灰色 旁边有章鱼标志
git 中的每个提交都标有一个电子邮件地址。就 GitHub 而言,这可以是您想要的任何电子邮件地址。
这个答案介绍了在本地帐户之间快速切换的方法。我喜欢更新每个存储库的 .git/config
目录中的
.git
文件的想法,它告诉 git 使用哪个电子邮件:
[user]
name = John Doe
email = [email protected]
将其添加到您正在处理的每个存储库的
.git/config
文件中,git 将根据每个存储库的电子邮件对您的提交进行归属。
如果您想知道 Github 如何跟踪所有这些,它是通过称为 电子邮件别名 的东西来完成的。
1)
Github 通过您的 ssh 公钥识别您。如果您没有提交公钥,当您尝试推送代码时,github 会询问您的帐户名和密码。检查 github 配置文件中的“设置 -> SSH 和 GPG 密钥 -> SSH 密钥”。
git config --global user.name "myusername"
git config --global user.email [myemail]
git配置内容只是告诉其他人你想被称为什么名字以及你想发送什么电子邮件。事实上,您甚至可以将其留空或填写任何内容。
git config --global user.name "what ever"
git config --global user.email [email protected]
2)
您可以尝试使用不同的 ssh 密钥。或者简单地说,您可以在 .git/config 中使用不同的电子邮件和名称
个人:
[user]
name = your honey
email = [email protected]
工作:
[user]
name = your reliable employee
email = [email protected]