我在github上有个人帐户和工作帐户,我希望能够推送到任何我想要的地方。
Github不允许我为这两个帐户使用相同的SSH密钥,那么我应该怎么玩呢?
如果我尝试生成另一个SSH密钥,它会覆盖旧密钥,或者不会创建一个新密钥 - 我应该将它保存到〜/ .ssh / id_rsa2吗?
每次我想切换用户时,是否需要更改.gitconfig文件中的用户名和电子邮件,或者我可以在其中定义多个用户?
简单地说,从同一台机器管理多个github帐户的最佳(或任何!)方法是什么?
答案 0 :(得分:1)
http://mherman.org/blog/2013/09/16/managing-multiple-github-accounts/
此博客文章详细介绍了管理这两个帐户的方法。
基本上,您将创建一个ssh配置文件,并使用ssh -T <profileName>
但是,您需要将密钥存储在单独的文件中。
答案 1 :(得分:1)
另一种方法是使用https url,它允许您指定要用于给定repo远程URL的帐户:
git remote set-url origin https://<username>@github.com/<username>/<reponame>
使用netrc credential helper,您可以为每个帐户存储密码(或access token, if you are using the 2fa),这样您就无法输入密码。
并you can encrypt those passwords too。
不要忘记为每个本地克隆设置正确的user.name
和user.email
或者你可以manage those settings with a script。