写在前面的话
github账号,工作有一个,自己有一个。但是默认下使用ssh key在git push时只有默认账号能免输入账号和密码。
如果想让另一个账号在代码push时免账号和密码,请看这篇文章http://omiga.org/blog/archives/2269。
如果你建立并配置了.ssh/config文件后,但却不知道怎么使用。这篇文章是为你准备的。
Host me.github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/me_rsa Host work.github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/work_rsa
多个github帐号的SSH key切换
在切换之前请确保配置是正确的。
$ ssh -T git@github.com Hi stefano! You've successfully authenticated, but GitHub does not provide shell access. $ ssh -T git@work.github.com Hi stefano! You've successfully authenticated, but GitHub does not provide shell access.
-T 参数是什么意思,在下并不知道。如有大牛不幸看到此段,请不吝赐教。
现在就各种情况给出不同的做法:
1. 仓库已经在本地了(本地创建或者已经clone到本地)
因为是默认用户登录,如果push代码会被拒绝。解决办法:在当前的仓库目录下
vi .git/config #更改[remote "origin"]项中的url中的 #work.github.com 对应上面配置的host url = git@work.github.com:username/repo.git
2. 要clone任意配置的host对应的账户下的仓库
#me.github.com对应一个账号
git clone git@me.github.com:username/repo.git
http://stackoverflow.com/questions/3225862/multiple-github-accounts-ssh-config
http://omiga.org/blog/archives/2269
https://help.github.com/articles/generating-ssh-keys
http://blog.csdn.net/npjocj/article/details/16826119
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步