鳕鱼天空

This is Mr Wang's Tech Blog.

mac下github多账户设置

从github上新clone一个项目,修改后,push新代码,报错如下: 
ERROR: Permission to xxx.git denied to sb. 
fatal: Could not read from remote repository. 
Please make sure you have the correct access rights 
经过多方询查,原因大概就是之前电脑上有一个账号已经绑定了他的github账号,默认就是他的账号在连接新的项目,而又没有给此账号开通权限,导致push不上去,大致方法是清楚原账号的相关信息,比如删除或者编辑github的钥匙串,或者在终端执行如下代码等: 
最后,在阅读了https://blog.csdn.net/zqy0zqy/article/details/78657458http://blog.csdn.net/ltstud/article/details/77895382?locationNum=10&fps=1 博主的文章后,终于解决了这个难题(十分感谢),步骤如下(即重新生成一个做绑定): 
1,在.ssh文件夹下新建文件github(以防万一,可先备份原.ssh文件夹,虽然没啥必要) 

2,ssh-keygen -t rsa -C “github_publicKey_a” 
不回车,设置新的文件名,以和原来的区分开,如 id_rsa_a
然后回车,回车,回车,即在github下生成新的公钥 

接着再如法炮制生成id_rsa_b


3,把公钥分别添加到github账号上(头像-Settings-SSH and GPG keys-New SSH key) 

4,打开/Users/(username)/.ssh/config文件,如果没有就创建(nano  比较好用),并写入新的host相关配置:如 

Host github-a(账号a别名) 
HostName github.com 
User git 
IdentityFile /Users/(username)/.ssh/github/id_rsa_a 

Host github-b(账号b别名) 
HostName github.com 
User git 
IdentityFile /Users/(username)/.ssh/github/id_rsa_b
5,回到项目目录,git remote -v 查看现在连接的是否是正确的github库 
6,修改host名: 
git remote set-url origin github-a:xxx/yyy.git 
(ssh -T github-a 查看是否修改成功 会显示如下信息: 
Hi username! You’ve successfully authenticated。。。。。。) 
git remote -v 查看连接,已经变成了新的host别名 
7,重新push之前的代码,成功!
--------------------- 
原作者:xzz_wcc 
来源:CSDN 
原文:https://blog.csdn.net/zqy0zqy/article/details/78657458