github用户名密码登陆失效了

问题:

git push突然推代码需要登陆,但是用户名和密码正确输入后,却提示403

bash 复制代码
git push

# Username for 'https://github.com': ****
#Password for 'https://gyp-programmer@github.com': 
#remote: Permission to gyp-programmer/my-app.git denied to ****.
#fatal: unable to access 'https://github.com/****/my-app.git/': The requested URL returned error: 403

分析

GitHub 在 2021年8月13日 移除了对密码认证的支持。如果你尝试使用 HTTPS 方式推送代码,并且输入的是 GitHub 账户的密码,可能就会遇到这个问题.

正常情况只有开启2FA才会出现,不过方案是一样的。出现同样的问题,就按照以下的方案解决!

github issues给到的建议

然后经过尝试,可以解决,这里博主就直接把答案给大家,遇到了就按照一下解决方案处理即可,亲测有效!

解决方案

使用 Personal Access Token (PAT) 替代密码

GitHub 推荐使用 Personal Access Token (PAT) 代替密码进行 HTTPS 认证。

  • 生成 Personal Access Token:
  1. 登录 GitHub,点击右上角头像,进入 Settings。

  2. 在左侧菜单中,选择 Developer settings。

  3. 点击 Personal access tokens,然后点击 Generate new token。

  4. 选择需要的权限(例如 repo 和 workflow),然后生成 Token。

  5. 复制生成的 Token

  • 使用 Token 进行认证:

Git 提示你输入用户名和密码处: 在用户名处输入你的 GitHub 用户名。在密码处粘贴刚刚复制的 Personal Access Token。

贴图步骤

  1. 找到设置,点进去
  2. 在设置页面,翻到最下面,侧边栏,点击 Developer settings
  3. 在developer settings页面,点击 Fine-grained tokens
  1. 在当前内容页面,点击 generate new token

  2. 进去创建页面,需要关注的几个点

    • 必填项输入;
    • token有效期,按需选择,支持自定义;
    • 选择仓库类型,所有仓库或者去选择某个仓库(根据自己实际使用情况,安全第一)
  • 加入需要添加的权限,这里有仓库权限和账户权限两组,都需要去点击后在展开的选项中选择权限使用类型;
    1. 如果不知道应该怎么选择,可以全选上,然后有效期设置一天就行;
    2. 不过呢,每一项权限都有说明,比较清晰,可以抉择使用(推荐)


思路

这里给大家提供一个别的方案,有可能的解决方案,就是清理本地的git认证信息, 重新认证。例如如果你之前是https的仓库,那你可以把直接登陆的 credentials 清除!(没尝试过)

写在最后

如果该文有帮到我的铁子们,那就帮忙点赞支持一下! 感谢大家,制作不易,多多支持!

相关推荐
砖厂小工20 分钟前
用 GLM + OpenClaw 打造你的 AI PR Review Agent — 让龙虾帮你审代码
android·github
程序员鱼皮40 分钟前
又一个新项目完结,我要出海了!
ai·github·开源项目
徐小夕1 小时前
pxcharts-vue:一款专为 Vue3 打造的开源多维表格解决方案
前端·vue.js·github
Moment2 小时前
想要长期陪伴你的助理?先从部署一个 OpenClaw 开始 😍😍😍
前端·后端·github
我叫黑大帅2 小时前
前端如何利用 GitHub Actions 自动构建并发布到 GitHub Pages?
前端·面试·github
HelloGitHub4 小时前
这个年轻的开源项目,想让每个人都能拥有自己的专业级 AI 智能体
开源·github·agent
刘发财10 小时前
弃用html2pdf.js,这个html转pdf方案能力是它的几十倍
前端·javascript·github
sunny86518 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
ZengLiangYi1 天前
Git Tag + Semver + CI/CD:从打标签到自动发布的完整实践
github