You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法重置Git凭证,推送GitHub仓库时提示其他用户无权限报错403

问题解决步骤

首先明确:git config 设置的 user.name、user.email 仅用于标识提交记录的作者信息,和GitHub推送的身份验证凭证完全独立,修改这两个参数不会清除已存储的登录凭证。

1. 清除明文存储的凭证文件

部分场景下Git会把凭证明文存储在用户根目录的文件中,先执行命令检查并删除:

# 检查文件是否存在
ls ~/.git-credentials
# 如果文件存在则直接删除
rm ~/.git-credentials

2. 清除系统密钥环中存储的Git凭证

Kali Linux默认使用libsecret管理系统密钥,之前存储的GitHub账号凭证会保存在密钥环中,执行如下命令删除所有GitHub相关凭证:

secret-tool clear service github

如果提示secret-tool命令不存在,先安装对应工具包:

sudo apt update && sudo apt install libsecret-tools -y

3. 配置仓库远程地址(可选,建议操作)

为了避免后续多账号切换时出现凭证匹配冲突,可以直接在当前仓库的远程地址中嵌入目标用户名,推送时会直接匹配对应账号的凭证:

git remote set-url origin https://user1@github.com/user1/<reponame>.git

请将命令中的user1、<reponame>替换为实际的GitHub用户名和仓库名称。

4. 验证推送

重新执行推送命令:

git push -u origin main

此时会弹出密码输入提示,输入user1账号的GitHub个人访问令牌(PAT) 即可完成推送(注意GitHub早已不支持账号密码直接进行推送操作,必须用PAT作为验证密码)。

长期多账号切换方案(可选)

如果需要频繁切换多个GitHub账号,可以为每个账号生成独立的SSH密钥,在~/.ssh/config中配置不同账号的Host别名,仓库远程地址使用SSH协议,切换时仅需要修改仓库远程地址对应别名即可,不需要频繁清理凭证。

内容的提问来源于stack exchange,提问作者max.syntax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 12:27:03