使用Personal Access Token向GitHub仓库推送代码遭拒求助
解决GitHub推送访问被拒绝的问题
首先纠正你命令序列里的关键错误:
你写的 git push -m 'first commit' 是错误的,提交本地变更要用 git commit -m 'first commit',push 是把本地提交推送到远程仓库的命令,没有本地提交的话,推送肯定会失败。正确的操作步骤应该是:
git init git add file git commit -m 'first commit' git branch -M main git remote add origin https://github.com/username/new_repo.git git push -u origin main
如果修正步骤后还是被拒绝,按以下方向排查:
- 检查PAT权限:生成个人访问令牌时,必须勾选repo权限(完整仓库操作权限),权限不足会直接被GitHub拒绝。
- 验证PAT有效性:确认PAT没有过期,复制时没有遗漏或多写字符(PAT是无空格的字符串,注意别复制到多余的空格或换行)。
- 核对远程仓库地址:确认
https://github.com/username/new_repo.git中的用户名和仓库名称完全正确,拼写错误会导致访问被拒。 - 清除本地缓存的凭据:本地git可能缓存了旧的登录信息,和新PAT冲突。执行对应系统的命令清除:
清除后重新执行推送,再次输入用户名和PAT尝试。# macOS系统 git credential-osxkeychain erase host=github.com protocol=https # Windows系统 git credential-manager-core erase host=github.com protocol=https # Linux系统 git credential-cache exit - 可选:切换到SSH认证方式
如果HTTPS方式始终有问题,可以生成SSH密钥并添加到GitHub账户,然后将远程仓库地址改为SSH格式:git@github.com:username/new_repo.git,后续推送无需再输入密码。
内容的提问来源于stack exchange,提问作者adrenal
相关产品推荐
相关产品推荐

