问题描述
ps:文章以"git push"命令模拟发生问题的现场,其实 git 其他命令会出现同样的问题,比如:git pull 等与远程仓库交互的命令。
居家办公,通过.git目录下config文件的http方式配置,如下:
就在吃饭前 git push还是没问题的,吃饭回来,修复个问题,再push,就突然提示权限不足,这算什么事。吃个饭就没权限了?上天真的是随时给我出难题啊。
提示如下:
执行结果如下:
git push
-> remote: HTTP Basic: Access denied
fatal: Authentication failed for 'http://gitlab.xxx.git/'
原因分析
翻资料中
经查阅资料,发现本地机器访问gitlab网站的访问凭证失效,会导致执行git远程仓库命令时,出现文中描述的无权限问题。
其中失效的原因一般指本地的gitlab凭证的账号,密码填写错误或者与gitlab网站登录的账号密码不一致。
当时git push 后,弹出windows权限认证窗口,当时一个疏忽填错了密码,造成了以上的问题。
当然其他情况,也可能会造成无权限的问题,比如:
- 更新gitlab网站的密码;
- 首次以http的配置方式,与远程仓库交互;
解决方案
找到本地gitlab的访问凭证,修改成正确的账号密码即可。
步骤如下:
-
搜索控制面板,点击
-
找到用户账户,点击
-
找到管理Windows凭证
-
找到失效的gitlab地址
-
点击右侧下拉按钮,编辑账号密码后保存
-
重新执行git push命令
即可完成与远程仓库的交互。
结束
至此本地执行git命令无权限的问题已解决,文中若有不正确的,希望各位看官不吝指点,感谢您的查阅,我们下次再聊。