GitLab修改密码后,本地无法推送至远程仓库

本文介绍了解决GitLab修改密码后,本地仓库无法推送至远程的问题。通过禁用凭证助手并重新输入账号密码,可以快速解决HTTP Basic: Access denied错误。文章还详细解释了Git的凭证请求机制及如何避免重复输入凭证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GitLab修改密码后,本地无法推送至远程仓库

问题描述
git push 报 HTTP Basic: Access denied 错误
解决方案
git config --system --unset credential.helper

重新输入账号密码,就能解决了。如果想要详细了解,可以继续阅读。

指令的作用

官方文档

用法

git config credential.https://example.com.username myusername
git config credential.helper "$helper $options"

描述
Git有时需要用户的凭证才能执行操作;例如,它可能需要输入用户名和密码才能通过HTTP访问远程存储库。本手册描述了Git用于请求这些凭证的机制,以及避免重复输入这些凭证的一些特性。

校验流程
在没有定义任何凭据帮助程序的情况下,Git将尝试以下策略来询问用户的用户名和密码:

  1. 如果设置GIT_ASKPASS环境变量,则调用该变量指定的程序。在命令行上为程序提供一个适当的提示,并从其标准输出读取用户的输入。
  2. 否则,如果核心。设置askPass配置变量,其值如上所示。
  3. 否则,如果设置了SSH_ASKPASS环境变量,则使用上面的值。
  4. 否则,将在终端上提示用户。

避免重复
反复输入相同的凭证可能很麻烦。Git提供了两种方法来减少这种麻烦:

  1. 给定身份验证上下文的用户名的静态配置。
  2. 用于缓存或存储密码,或与系统密码钱包或密钥链进行交互的凭据帮助程序。

如果没有可用来存储密码的安全存储,那么第一种方法很简单,也很合适。它通常是通过添加这个到您的配置配置:

[credential "https://example.com"]
	username = me

另一方面,凭证助手是Git可以同时请求用户名和密码的外部程序;它们通常与操作系统或其他程序提供的安全存储进行接口。要使用助手,您必须首先选择要使用的一个。Git目前包括以下,也可以使用第三方程序。

  1. 缓存
    将凭证在内存中缓存一小段时间。指令:git config credential.helper ‘cache []’。cache文档
  2. 硬盘
    将凭证无限期地存储在磁盘上。指令:git config credential.helper ‘store []’。store文档。默认存储在 ~/.git-credentials 中。存储方式为:https://user:pass@example.com 。
使用案例

一旦您选择了一个helper,您就可以通过将其名称放入凭证中来告诉Git使用它。下列可以查看选择的helper。

$ git help -a | grep credential-      
  credential-cache          remote-ftp
  credential-cache--daemon  remote-ftps
  credential-store          remote-http

选择了helper之后,可以进行如下操作:

// 查看该helper的描述
$ git help credential-foo

// 使用该helper
$ git config --global credential.helper foo

可用如下指令,可以查看到全局的配置。也可以在 ~/.gitconfig 中找到。

$ git config --global credential.helper
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值