【Git】推送Github失败:remote: Permission to xxx/*.git denied to xxx

在github上,创建了token,推送代码报没权限

#设置token
git remote set-url origin <your.token>@github.com/<your.name>/hello-git.git

#推送代码
#git push -u origin main
remote: Permission to xxx/hello-git.git denied to xxx.
fatal: unable to access 'https://github.com/xxx/hello-git.git/': The requested URL returned error: 403

解决:在生成token时,需要勾选repo下面这些权限
在这里插入图片描述
(ps: 很久很久没用github了,一直用gitee,依稀记得之前是没有这些token权限功能的)

推送成功
在这里插入图片描述

### 解决 Git 推送失败的问题 当遇到 `git push` 失败的情况时,通常是因为本地分支的状态与远程分支不一致。以下是几种常见原因及其解决方案: #### 1. 非快速前进 (non-fast-forward) 错误 如果提示类似于以下错误信息: ``` To https://github.com/yourusername/repo.git ! [rejected] mybranch -> mybranch (non-fast-forward) error: failed to push some refs to 'https://github.com/tanay1337/webmaker.org.git' hint: Updates were rejected because the tip of your current branch is behind its remote counterpart. ``` 这表明本地分支落后于远程分支。可以通过以下方法解决此问题[^2]: - **拉取并合并更改** 使用命令 `git pull` 将远程仓库的最新更改同步到本地仓库。 ```bash git pull origin <branch-name> ``` - **强制推送** 如果确认不需要保留远程分支的历史记录,则可以使用强制推送选项 `-f` 或 `--force` 来覆盖远程分支的内容。需要注意的是,这种方法可能会丢失其他协作者的工作成果,因此需谨慎操作。 ```bash git push --force origin <branch-name> ``` #### 2. 远程 URL 设置错误 有时可能因为配置了错误的远程地址而导致权限不足或连接失败等问题。例如,收到如下错误消息: ``` remote: Permission to user/repo.git denied to username. fatal: unable to access 'https://github.com/user/repo.git/': The requested URL returned error: 403 ``` 这种情况下可能是由于 SSH 密钥未正确设置或 HTTPS 地址中的用户名密码有问题引起的。 - **更新远程 URL** 可通过修改远程仓库链接来解决问题。具体做法是先移除旧的远程路径再重新添加新的路径。 ```bash git remote remove origin git remote add origin ssh://git@github.com:user/repo.git ``` 注意,在上述例子中冒号(`:`)用于分隔主机名和存储库名称部分[^1]. 另外也可以直接替换现有的URL而无需删除原项目关联关系: ```bash git remote set-url origin ssh://git@github.com:user/repo.git ``` #### 3. 提交历史清理需求下的交互式 rebase 对于希望清除某些特定提交记录后再上传至服务器的情形下可采用交互式的变基方式完成目标。执行下面指令启动过程,并按照指示编辑对应条目直至保存退出即可实现目的: ```bash git rebase -i HEAD~N ``` 其中 N 表示要回溯查看最近几次提交的数量。 --- ### 总结 针对不同类型的推送失败情况采取相应的措施能够有效提高工作效率减少不必要的麻烦。无论是调整远端设定还是整理版本控制链路都应依据实际状况灵活运用各种工具手段达成最终目标。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值