GitHub Personal Access Token(PAT)过期后如何重新认证
GitHub PAT过期无法push代码的解决方案
注意:GitHub自2021年8月起已全面禁用HTTPS Git操作的账号密码认证方式,所有代码推送、拉取等写操作必须通过PAT或SSH密钥完成验证,无法直接使用账号登录密码完成认证。
生成新的Personal Access Token
按以下步骤操作即可创建可用的新PAT:
- 登录GitHub账号,点击右上角个人头像,在下拉菜单中选择「Settings」
- 拖动左侧设置栏到最底部,点击进入「Developer settings」
- 在左侧栏选择「Personal access tokens」,普通使用场景选择「Tokens (classic)」即可(如果需要给单个仓库分配更精细的权限,可以选择Fine-grained tokens)
- 点击对应分类右上角的「Generate new token」按钮
- 填写Note字段(备注这个Token的使用场景,比如
work-pc-git,方便后续管理),选择合适的过期时间(不建议选择永久有效期,避免Token泄露后产生安全风险) - 勾选权限范围:仅做代码推送的话,勾选完整的
repo权限分类即可满足需求,不要勾选多余的无关权限 - 拉到页面底部点击「Generate token」,生成的完整Token只会在当前页面展示一次,务必立刻复制保存,关闭页面后无法再次查看完整内容
更新本地存储的过期认证信息
新Token生成后,你需要替换本地之前存的旧过期凭证,才能正常推送代码:
- 临时验证:直接执行
git push,等Git弹出身份验证提示时,用户名填写你的GitHub账号名,密码栏直接粘贴刚才复制的新PAT即可完成本次推送 - 永久更新本地凭证:
- Windows:打开系统自带的「凭据管理器」,选择「Windows凭据」,找到地址关联
github.com的Git相关凭据,点击编辑后将密码字段替换为新PAT,保存即可 - MacOS:打开「钥匙串访问」,搜索
github.com,找到对应的Git互联网密码条目,将旧密码内容替换为新PAT后保存修改 - Linux:如果使用桌面环境,打开系统的密钥管理工具找到对应GitHub凭据修改即可;如果是纯命令行环境,执行
git config --global credential.helper store,下次推送时输入一次新PAT后,凭证会自动保存在本地~/.git-credentials文件中,后续不需要重复输入
- Windows:打开系统自带的「凭据管理器」,选择「Windows凭据」,找到地址关联
如果不想定期管理PAT,也可以将本地仓库的远程地址从HTTPS协议切换为SSH协议,配置好本地SSH密钥并绑定到GitHub账号后,后续Git操作不需要再做凭证验证,长期使用更便捷。
内容的提问来源于stack exchange,提问作者Pawan Nirpal
相关产品推荐
相关产品推荐

