命令行推送Git项目至GitHub出现403致命错误,如何解决?
解决Git推送GitHub时403错误的方案
检查远程仓库URL配置
先确认本地仓库的远程URL是否正确,执行命令:git remote -v确保HTTPS格式的URL拼写无误,用户名、仓库名和实际GitHub仓库完全一致。若之前混用了SSH与HTTPS协议,需调整为对应协议的URL。
确认访问令牌权限
重新生成的GitHub访问令牌必须勾选repo权限(完整仓库读写权限),缺少该权限会直接导致推送被拒绝。前往GitHub令牌管理页面,检查并确保该权限已启用。清除本地Git凭据缓存
本地Git可能缓存了旧的无效凭据,清理后再重新输入新令牌:- Windows系统:
git credential-manager-core erase https://github.com - macOS/Linux系统:
git config --global credential.helper cache git credential-cache exit
- Windows系统:
手动输入令牌作为密码
推送时,用户名填写你的GitHub账号名,密码直接使用生成的访问令牌(GitHub已不再支持用账号密码直接推送)。执行推送命令:git push origin main(将
main替换为你实际推送的分支名称)切换为SSH协议推送
若HTTPS方式始终报错,可改用SSH协议规避凭据问题:- 生成SSH密钥(无密钥时执行):
ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱" - 将生成的公钥添加到GitHub的SSH密钥设置中
- 修改远程仓库URL为SSH格式:
git remote set-url origin git@github.com:TDavis14/git_practice.git
后续推送无需输入令牌,将通过SSH密钥自动完成验证。
- 生成SSH密钥(无密钥时执行):
检查仓库协作权限
确认你拥有目标仓库的写入权限:若你是仓库所有者则无需额外操作;若为协作成员,需联系仓库管理员分配写入权限。
内容的提问来源于stack exchange,提问作者T. Davis
相关产品推荐
相关产品推荐

