如何取消GitHub推送认证的Personal access token,恢复密码认证?
切换回使用密码类凭证进行GitHub推送认证的方法
嘿,先给你提个关键信息:GitHub在2021年8月之后就不再支持直接用账号密码通过HTTP/HTTPS做Git推送了哦!如果你的账号开了两步验证(2FA),得用应用密码替代普通密码;没开2FA的话,其实还是得用Personal Access Token(PAT)——不过别慌,我这就给你一步步说清楚怎么操作,把之前的PAT替换成符合要求的密码类凭证:
第一步:清理本地存储的旧PAT凭证
本地Git会记住之前的认证信息,得先删掉它,不然下次推送还是会自动用旧PAT:
Windows用户
- 打开控制面板,找到「用户账户」→「凭据管理器」→「Windows凭据」
- 在「普通凭据」里找带
git:https://github.com的条目,右键删除即可
macOS用户
- 打开「钥匙串访问」APP,在搜索框输入
github.com - 找到对应Git的凭据条目,右键选择「删除」
Linux用户(使用GNOME钥匙串)
- 打开「密码和密钥」应用,在「登录」分类里找到
https://github.com相关的条目,删除它
也可以直接用Git命令确保远程仓库是HTTPS格式(如果之前用的是SSH,需要先改回来):
git remote set-url origin https://github.com/你的用户名/你的仓库名.git
第二步:配置应用密码(仅针对开启2FA的账号)
要是你开了两步验证,就得生成一个应用密码来当作“推送密码”使用:
- 登录GitHub账号,点击右上角头像→「Settings」
- 在左侧菜单选择「Developer settings」→「Personal access tokens」→「Tokens (classic)」,或者直接找到「App passwords」入口
- 点击「Create app password」(如果走经典token路径则点「Generate new token」)
- 给这个凭证起个好记的名字,比如「Git推送专用」,然后勾选
repo权限(至少需要这个权限才能推送仓库) - 生成后赶紧复制下来!这个密码只会显示一次,丢失后需要重新生成
下次推送代码时,Git提示输入用户名就填你的GitHub账号名,输入密码就填刚生成的应用密码即可。
第三步:未开启2FA的情况(划重点)
如果你的账号没开2FA,现在GitHub已经不允许用普通账号密码推送了,只能选择继续使用PAT,或者切换到SSH密钥认证。要是你把PAT当作“密码”来用的话,操作逻辑和之前一致——只是把PAT填到密码输入框里就行。
内容的提问来源于stack exchange,提问作者hillodesign




