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 ...
随机推荐
- c++ imooc自学计划
一.视频学习相关的课程列表: C++远征之起航篇http://www.imooc.com/learn/342: C++远征之离港篇http://www.imooc.com/learn/381: C++ ...
- 《TCP/IP 详解 卷1:协议》第 10 章:用户数据报协议
引言 UDP 稍微扩展了IP协议,使得包可以在进程间传送,而不仅仅是在主机件.--<CSAPP> IP 数据报是指 IP 层端到端的传输单元.分组(packet)是 IP 层和链路层的传输 ...
- NTP同步网络时间
为什么要同步网络时间呢,这是由于树莓派没有RTC和后备电池,不能像PC机那样关机之后仍可以走时. NTP对时步骤: 1 安装ntpdate sudo apt-get install ntpdate s ...
- ASP.NET MVC 2.0 参考源码索引
http://www.projky.com/asp.netmvc/2.0/System/Web/Mvc/AcceptVerbsAttribute.cs.htmlhttp://www.projky.co ...
- Docker的volume机制实现容器数据的持久性存储
1:可以启动一个容器的时候,临时指定挂载的volume,这个volume会自动创建,无需在宿主机上事先创建 docker run -it -v /busybox busybox:latest 登入到b ...
- 第四周PSP&进度条
团队项目PSP 一:表格 C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 讨论 讨论开发环境.工具以及技术 8:37 10:42 25 10 ...
- ini_set
1.ini_set函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效.ini_set 用于更改配置文件的配制,次更改仅用于此脚本的执行.不是所有的选项都能被改函数设置的. 2.in ...
- PHP 中各种命名规则的总结
一般约定而言 类.函数和变量的名字应该是能够让代码阅读者能够容易地知道这些代码的作用,应该避免使用凌磨两可的命名. 以下是在开发过程中常见的命名规则总结 1.类的命名 使用大写字母作为词的分割,其余的 ...
- [Oracle] 11.2.0.1 的客户端无法连接12.2.0.1 的DB端 28040
最近有一个应用服务器安装上了 11.2.0.1 的oracle DB端 又想当 客户端用来 注册 oracle12.2.0.1的DB端发现不行 但是很奇怪 报的错误竟然是 ora 01017 密码错误 ...
- ognl用法 取变量时候 需要在变量前面加上# 取字符串需要用单引号包裹字符串