和网上多数的教程不同,我是需要直接更换账号。切换后push一直被阻止。解决后记录下办法
remote: Permission to new-name/practice.git denied to old-name.
fatal: unable to access 'https://github.com/new-name/origin.git/': The requested URL returned error: 403
错误码如上。
https://help.github.com/articles/error-permission-to-user-repo-denied-to-user-other-repo/
这是官方解释与解决办法,这说明push到了旧账号的库上了。如果你已经更改了ssh key但还是不行,那你可能和我犯了同样的错,没有把方式https换成ssh
首先是key,我是直接重新生成了一个新key覆盖了之前的,不过看知乎,似乎可以直接更改github的ssh key.
ssh-keygen -t rsa -C "youremail@xxx.com"
还是和原始配置一样.ssh文件夹里打开id_rsa.pub,复制里面的key。回到github配置ssh key。然后验证
然后是修改用户名和邮箱
git config --global user.name "your_name"
git config --global user.email "your_email"
如果你和我之前一样,第一个账号是用https链接的,第二个账号也用https链接,就会被阻止,更改用户名和邮箱也不好使
所以需要把链接方式https换成ssh
git remote rm origin
git remote add origin "Git仓库的ssh格式地址"----->这个在github上有
此时再做git add git commit git push等操作就可以成功提交了
注:如果你没有生成新key,是直接把原来的key绑定到新github账号上,那里可能需要登录旧账号删除它的ssh key