git push代码报403错误解决方法

在尝试用gitpush-uoriginmain命令推送代码到GitHub时遇到权限问题,错误显示为403,原因是本地git配置的用户名与GitHub账号不符。解决方法包括:打开CMD,使用rundll32.exekeymgr.dll,KRShowKeyMgr命令查看并删除保存的旧GitHub凭证,然后重新输入正确的用户名和密码进行提交。

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

使用git push -u origin main命令向GitHub仓库推送代码时,报错,错误信息如下

remote: Permission to xxx/xxx.git denied to (username2).
fatal: unable to access 'https://github.com/username1/xxx.git/': The requested URL returned error: 403

其中,上面的username2是本地git的用户名,与GitHub上的用户名username1不一致。

win10/11 解决方案

  1. 打开cmd,输入命令: rundll32.exe keymgr.dll,KRShowKeyMgr ,出现「存储的用户名和密码」窗口,如下图所示;
  2. github 相关的条目删除;
  3. 重新执行提交命令,按提示输入账户名及密码后,即可提交成功。

原因分析:

我之前用过其他git账号(username2)向另一个GitHub账号推送过代码,因此电脑中保存了该账号的信息。这次提交代码时,依旧使用了原来的用户名username2。将电脑中保存的username2相关的信息删除即可。

### Git 推送时遇到403权限问题的解决方案 当遭遇 `git push` 返回 HTTP 403 Forbidden 错误时,这表明客户端向服务器发送了一个有效的请求,但服务器拒绝处理该请求,通常是由于权限不足造成的[^1]。 对于具体实例中的错误信息显示为 `Permission to Dxuan-chen/huashan.git denied to xuanfchen` 和 `The requested URL returned error: 403` 的情况,可以采取以下措施来解决问题: #### 验证身份认证方式 确认当前使用的凭证是否正确无误。如果通过HTTPS协议访问GitHub或其他Git托管服务提供商,建议使用SSH密钥代替用户名和密码登录,或者利用个人访问令牌(PAT, Personal Access Token),而非明文密码来进行身份验证[^2]。 #### 修改配置文件以包含凭据 一种临时性的解决办法是在`.git/config` 文件内的 `[remote "origin"]` 节点下,在URL前面加上带有账号信息的部分,即采用形如 `https://username:password@github.com/user/repo.git` 这样的格式。不过这种方法存在安全隐患,并不推荐长期使用[^3]。 #### 检查用户权限级别 确保用于执行推送命令的身份具有足够的权限去修改目标仓库的内容。只有作为项目的拥有者(Owner) 或维护者(Maintainer),才被允许推送到受保护分支;而访客(Guest)、告员(Reporter)以及开发人员(Developer)可能不具备这样的权利。 为了更安全有效地管理授权状态,应当考虑更新至最新版Git工具并启用两步验证机制(Two-Factor Authentication),同时按照官方文档指导设置合适的克隆链接形式与认证模式。 ```bash # 使用 SSH 密钥连接 GitHub ssh-keygen -t ed25519 -C "your_email@example.com" eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值