作为协作者无法向公开Git仓库推送代码的问题求助
解决Git HTTPS推送认证失败问题
1. 检查PAT权限
- 确认你创建的PAT勾选了repo权限(这是推送仓库的核心权限),没勾的话重新生成一个带该权限的PAT。
- 确保PAT未过期、未被撤销。
2. 修正远程仓库URL
把远程URL改成带用户名的格式,避免重复输入用户名:
git remote set-url origin https://dw-marcy@github.com/vikramcvk/background-generator.git
之后执行git push,直接输入PAT作为密码即可。
3. 清除本地凭证缓存
如果本地缓存了旧的认证信息(比如之前的密码),会导致冲突,按系统类型执行对应命令:
- Windows:
git config --global credential.helper wincred git credential-manager uninstall git credential-manager install
- macOS:
git config --global credential.helper osxkeychain git credential-osxkeychain erase host=github.com protocol=https
输入完上述内容后按两次回车。
- Linux:
git config --global credential.helper cache git credential-cache exit
4. 直接用URL携带认证信息推送
推送时把用户名和PAT直接写在URL里,一次性完成认证:
git push https://dw-marcy:你的实际PAT@github.com/vikramcvk/background-generator.git main
替换你的实际PAT为你生成的令牌内容。
5. 切换到SSH协议(长期方案)
如果HTTPS问题反复出现,建议改用SSH:
- 生成SSH密钥对,将公钥添加到你的GitHub账户的SSH密钥列表中。
- 修改远程URL为SSH格式:
git remote set-url origin git@github.com:vikramcvk/background-generator.git
后续推送无需再输入认证信息。
内容的提问来源于stack exchange,提问作者Vikram
相关产品推荐
相关产品推荐

