作为GitHub协作者在Linux环境推送代码遇403权限错误求助
GitHub协作者推送403权限错误的正规解决方法
以下是几种正规、可持续的解决方式:
1. 切换到SSH协议推送(推荐)
HTTPS协议易出现凭据缓存问题,SSH是更稳定的协作认证方式:
- 查看当前远程仓库地址:
git remote -v - 如果输出是HTTPS开头的地址,替换为SSH格式:
git remote set-url origin git@github.com:<仓库所有者用户名>/<仓库名>.git - 配置本地SSH密钥并关联到GitHub账号:
- 生成新的SSH密钥(若本地无可用密钥):
ssh-keygen -t ed25519 -C "你的协作者账号绑定邮箱" - 启动SSH代理并添加密钥:
eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519 - 复制公钥内容并添加到GitHub账号的「SSH and GPG keys」设置中:
cat ~/.ssh/id_ed25519.pub
- 生成新的SSH密钥(若本地无可用密钥):
2. 清理本地Git凭据缓存
若坚持使用HTTPS协议,需清除本地缓存的旧凭据:
- 查看当前Git凭据助手配置:
git config --global credential.helper - 根据配置类型清理:
- 若为
cache:git credential-cache exit - 若为
store:rm ~/.git-credentials
- 若为
- 下次推送时重新输入协作者账号的正确凭据(或使用对应账号的PAT)
3. 确认协作者权限有效性
联系仓库所有者检查:
- 你的账号已被正确添加为仓库协作者
- 权限级别设置为写入(而非只读)
- 邀请链接已被你接受(若为新添加的协作者)
4. 验证本地Git账号配置
确保本地Git使用的是被添加为协作者的账号:
- 查看当前全局配置的用户名和邮箱:
git config --global user.name git config --global user.email - 若与协作者账号不符,修改配置:
git config --global user.name "你的协作者账号用户名" git config --global user.email "你的协作者账号绑定邮箱"
内容的提问来源于stack exchange,提问作者Abhirup Bakshi
相关产品推荐
相关产品推荐

