git爬坑不完全指北(一):Permission to xxx.git denied to user的解决方案
由于对之前github账户名不太满意,又不像大神一样需要两个账号绑定。所以今天注册了新账号,想把电脑绑定到新账号上,结果就踩坑了……报错如标题。
在网上按照这个题目可以搜索出一大堆的解决方案,但都是一个思路,那就是两个账号绑定两个密钥。先不说操作过程稍微复杂点吧,关键在于这不是我想要的结果,我就要一个账号!
于是,不妥协的我,开启了搜索→尝试→失败的死循环。终于,2个小时后,我放弃了……成功了。
好了,闲话不多说,上解决方案。
首先分析原因:
通读报错语句的话,我们从中能读出一条信息——老账户想对新账户的仓库进行访问操作,但是被拒绝了;
不管是add、commit都没有问题,只要push,就报错,这说明问题的原因就在push执行这一步;
然后回忆一下,push时候,到底都干了些什么操作,会记住原来的账户信息…emmm…emmm……ding!账号登录!
到这,恍然大悟。第一次执行push时,提示了账户的登录操作。但更换新账户再次push时,并没有再次登录的提示??喵喵喵??
也就是说,我们还是按原账户的信息再执行push操作,所以会报错,拒绝访问;
解决方法:
明白了原因,接下来就是找解决方案了。说到这其实我是惭愧的,因为我最后成功时,并不知道是我当次操作生效了,还是之前的操作生效了;
所以,我把两种方案都写出来,肯定有一种是生效的!
1、git config --global credential.helper cache
设置push登录状态保存时间为15分钟。这个大家都懂,就不解释原因了。我想说的是很多文章里都提到了
git config --global credential.helper "cache --timeout=3600"这个命令设置自定义时间,但是我实际测试没起到效果。
2、git remote rm origin与git remote add XXX
重新设置origin值。通过git remote -v查看的话,可以看到,其实新账号的origin关联是没有错误的,毕竟add、commit操作都没有问题。
不过这里的重新设置,也只是同样的地址,粘贴一遍,但这样会不会就让登录状态失效了?我不知道(恩,加粗不知道)。因为成功的
时候,分不清是上一步的15分钟到时间了,还是最后这一步操作生效了……但我又重新执行了一次删除、添加,并没有让我再重新登录。所以猜测
账号登录状态的重置跟这个没啥关系,但是又并不绝对肯定,所以暂且作为一种方案写上。
最后成功的话,会重新输入账号密码,然后成功上传到远程仓库,上个截图,庆祝一下~

总结:
发现问题、分析问题、解决问题。
通观我解决问题的整个过程,唯一的卡点就是不明白问题发生的原因,而当我意识到是push登录问题时,剩下的也就无非是等待15分钟,然后不断尝试其他方法。所以,对于问题的解决,先找出痛点,是重中之重。最后,能不换账号还是不换的好,将问题扼杀在摇篮中……。
git爬坑不完全指北(一):Permission to xxx.git denied to user的解决方案的更多相关文章
- git爬坑不完全指北(二):failed to push some refs to ‘XXX’的解决方案
报错分析 从字面理解,这个报错的意思就是说远程仓库里有一个改动是本地仓库里没有的,所以在push前要先把远程仓库上的改动pull或者fetch到本地仓库.然后再执行push的操作,把本地 ...
- mac开发环境爬坑记(搭建php+nginx+mysql+redis+laravel+git+phpstorm)
题外话:前几天,终于以原价一半的价格,将我那台15版mbp在bbs上卖了出去.之所以用了“终于”这个词儿,是我一直迟迟没有下定决心卖掉它,可眼瞅着再不卖掉,又要掉价,况且我的新电脑,也终于下来了. 话 ...
- Git 爬坑路(从小白开始入门) ——(1)
通过git管理项目之前,需要先注册一个GitHub账号,方便在远程仓库进行项目管理. Git之项目在本地仓库的管理(从小白开始): 一.push到远程项目 1.在个人的GitHub账号中,创建一个远程 ...
- 【爬坑】在 IDEA 中运行 Hadoop 程序 报 winutils.exe 不存在错误解决方案
0. 问题说明 环境为 Windows 10 在 IDEA 中运行 Hadoop 程序报 winutils.exe 不存在 错误 1. 解决方案 [1.1 解压] 解压 hadoop-2.7.3 ...
- git push 到github时,报错:ERROR: Permission to xxx.git denied to user
之前我电脑的本地git已经登录了一个github账号,今天想换另外一个新的github账户来提交项目,相当于同一台电脑使用两个github账户. 于是我先修改用户名和邮箱. git config -- ...
- 在Windows下解决git ERROR: Permission to XXX.git denied to user
这种情况一般都是由于登陆了不同的git仓库在本地记录了凭证导致的,比如登陆了两个不同的github账号. 1.控制面板 2.删除凭证再重新提交将会重新输入用户名和密码 以上.
- gitlab-登录账户遇到ERROR: Permission to XXX.git denied to user报错怎么办
碰到这个问题就意味着没有访问账户的权限,没有把访问电脑与访问账户用ssh_key关联起来,解决流程: 1.查看本地是否有ssh_key 笔者用的是git bash来输入命令 ls -al ~/.ssh ...
- git宝典—应付日常工作使用足够的指北手册
最近公司gitlab又迁移,一堆git的命令骚操作,然鹅git命令,感觉还是得复习下——其实,git现在界面操作工具蛮多,比如intellij 自带的git操作插件就不错,gitlab github ...
- Angular 从入坑到挖坑 - Router 路由使用入门指北
一.Overview Angular 入坑记录的笔记第五篇,因为一直在加班的缘故拖了有一个多月,主要是介绍在 Angular 中如何配置路由,完成重定向以及参数传递.至于路由守卫.路由懒加载等&quo ...
随机推荐
- angularJS1笔记-(20)-模块化加载机制seajs
SeaJS是一个遵循CMD规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制. 与jQuery等JavaScript框架不同,SeaJS不会扩展封装语言特性,而 ...
- 二级制包安装Tomcat 与 RPM包安装Tomcat
1:下载二级制包 wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.47/bin/apache-tomcat-8.0.47.tar.g ...
- [转帖]22个必须学习的Linux安全命令
22个必须学习的Linux安全命令 http://os.51cto.com/art/201808/581401.htm Linux系统的安全性涉及很多方面,从设置帐户到确保用户合法,限制比完成工作所需 ...
- [转帖] windows server 不同版本说明
Windows Server 2016与Windows Server Current Version区别比较 http://365vcloud.net/2018/04/13/windows-serv ...
- C# 字符串多行显示、文本换行
以textbox为例 ①:先设置textbox的属性Multiline为true ②:组织好显示字符串:FistLine(第一行要显示的字符).SecondLine(第二行要显示的字符)....... ...
- 清理elasticsearch的索引
curl -XDELETE 'http://172.16.1.16:9200/logstash-2013.03.*' 清理掉了所有 3月份的索引文件,其中*是通配符 下面是主页上的详细介绍,其他部分可 ...
- js & get recursive ids
js & get recursive ids len = 0; bug for(let i = 0; i < 3; i++) { console.log(`i =`, i); let y ...
- hibernate关联关系
hibernate是一个强大的ORM框架,为了使用面向对象的方式管理数据库,hibernate提供了4中关系设置: 1.一对一 (one-to-one) 2.一对多 (one-to-many) 3.多 ...
- Nginx - request_time和upstream_response_time的区别
request_time 官网描述:request processing time in seconds with a milliseconds resolution; time elapsed be ...
- springmvc+json 前后台数据交互
1. 配置(1) 文件配置参考这里(2) 导入jackson相关包:jackson-annotations-2.9.4.jar,jackson-core-2.9.4.jar,jackson-datab ...