You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac环境Git推送本地仓库到GitHub提示密码认证失效问题求助

问题解决步骤

1. 先确认个人访问令牌(PAT)配置正确

  • 生成令牌时必须勾选repo权限,权限不足即使输入正确令牌也会认证失败
  • 输入密码阶段直接粘贴完整令牌,不要添加任何额外字符,令牌为40位左右的随机字符串

2. 检查本地Git远程仓库地址配置

先执行git remote -v查看当前origin地址,确认地址中的用户名、仓库名和你GitHub端的配置完全一致,你报错中的仓库地址为https://github-jalcoding8@github.com/github-jalcoding8/github-message_generator.git,请优先确认仓库名确实为github-message_generator。如果地址配置错误,执行下面的命令修改:

git remote set-url origin https://<你的GitHub用户名>:<你的PAT令牌>@github.com/<你的GitHub用户名>/<仓库名>.git

直接把令牌嵌入远程地址后,后续推送不需要再手动输入密码。

3. 清理Mac系统钥匙串里的旧GitHub缓存

你之前的旧密码凭证存在Mac系统钥匙串中,Git默认会优先读取旧凭证,所以才会只弹出密码输入框、不弹出用户名输入框,旧凭证覆盖了你新输入的令牌导致报错:

  • 打开Mac的「钥匙串访问」应用,搜索github.com
  • 删除所有匹配的互联网密码条目
  • 再次执行git push,此时会重新要求输入用户名和密码,用户名填GitHub用户名,密码粘贴PAT即可认证成功

4. 开启凭证缓存避免重复输入

如果不需要每次推送都输入令牌,执行下面的命令开启全局缓存,配置后第一次输入的PAT会自动存储到钥匙串,后续操作无需手动输入:

git config --global credential.helper osxkeychain

长期更优方案:使用SSH密钥认证

比HTTPS+PAT的方式更便捷,不需要管理令牌:

  • 本地生成SSH密钥:ssh-keygen -t ed25519 -C "你的GitHub注册邮箱",全程按回车使用默认配置即可
  • 执行cat ~/.ssh/id_ed25519.pub复制输出的公钥内容
  • 到GitHub账号设置的SSH密钥管理页面,新建SSH密钥,把复制的公钥粘贴进去保存
  • 回到本地仓库,修改远程地址为SSH格式:git remote set-url origin git@github.com:<你的GitHub用户名>/<仓库名>.git
  • 后续推送不需要输入任何凭证

内容的提问来源于stack exchange,提问作者more_to_learn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 16:06:04