尝试从我的计算机上处理我的实际“工作”存储库和 git hub 上的存储库。
首先设置了工作帐户,并且一切正常。
但是,我的帐户似乎无法推送到我的存储库,该存储库是在不同的帐户/电子邮件下设置的。
我尝试将我的工作密钥复制到我的帐户,但这会引发错误,因为当然密钥只能附加到一个帐户。
如何从各自的 GitHub 凭据向两个帐户推入/拉出?
您需要做的就是使用多个 SSH 密钥对配置您的 SSH 设置。
这个链接很容易理解(感谢 Eric): http ://code.tutsplus.com/tutorials/quick-tip-how-to-work-with-github-and-multiple-accounts–net-22574
生成 SSH 密钥 (Win/msysgit) https://help.github.com/articles/generating-an-ssh-key/
第一个链接的相关步骤:
ssh-keygen -t ed25519 -C "john@doe.com"
id_ed25519_doe_company
~/.ssh/id_ed25519_doe_company.pub
ssh-add ~/.ssh/id_ed25519_doe_company
创建一个包含以下内容 的config文件:~/.ssh
config
~/.ssh
Host github-doe-company
HostName github.com User git IdentityFile ~/.ssh/id_ed25519_doe_company
添加您的遥控器git remote add origin git@github-doe-company:username/repo.git或更改使用git remote set-url origin git@github-doe-company:username/repo.git
git remote add origin git@github-doe-company:username/repo.git
git remote set-url origin git@github-doe-company:username/repo.git
此外,如果您使用不同的角色使用多个存储库,则需要确保您的各个存储库相应地覆盖了用户设置:
设置用户名、电子邮件和 GitHub 令牌——覆盖单个 repos 的设置 https://help.github.com/articles/setting-your-commit-email-address-in- git/
希望这可以帮助。
注意: 你们中的一些人可能需要不同的电子邮件用于不同的存储库,从 git 2.13 开始,您可以通过编辑位于以下位置的全局配置文件来基于目录设置电子邮件:~/.gitconfig使用如下条件:
~/.gitconfig
[user] name = Pavan Kataria email = defaultemail@gmail.com [includeIf "gitdir:~/work/"] path = ~/work/.gitconfig
然后您的工作特定配置 ~/work/.gitconfig 将如下所示:
[user] email = pavan.kataria@company.tld
感谢@alexg 在评论中告知我这一点。