一. 问题形容
应用如下命令推送代码到 github
:
git push origin main
依据提醒输出用户名和明码,报如下谬误:
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
依据提示信息能够晓得,github
在 2021.8.13
移除了明码认证的反对,它倡议应用 personal access token
代替明码认证。因为提醒中给出的地址无法访问,所以查阅相干文档,上面次要记录一下如何解决这个问题。
二. 解决办法
github docs 文档中形容说,在应用命令行或 API 的时候,应该创立一个集体拜访令牌(personal access token)来代替明码,上面具体介绍如何创立 personal access token
。
创立 personal access token
- 登录 github
- 在页面右上角点击你的头像,而后点击
Settings
: - 在左侧边栏中,点击开发人员设置:
- 在左侧边栏中,单击集体拜访令牌:
- 单击生成新令牌:
- 为您的令牌指定一个描述性名称:
- 要让您的令牌到期,请抉择到期下拉菜单,而后单击默认值或应用日历选择器:
- 抉择您要授予此令牌的范畴或权限。要应用您的令牌从命令行拜访存储库,请抉择 repo:
- 单击生成令牌:
正告:将您的令牌视为明码并窃密。应用 API 时,将令牌用作环境变量,而不是将它们硬编码到您的程序中。
在命令行下面应用令牌
取得令牌后,您能够在通过 HTTPS 执行 Git 操作时输出它而不是明码。
例如,在命令行中输出以下内容:
$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token
集体拜访令牌只能用于 HTTPS Git 操作。如果您的存储库应用 SSH 近程 URL,则须要将近程从 SSH 切换到 HTTPS。
如果零碎未提醒您输出用户名和明码,则您的凭据可能已缓存在您的计算机上。您能够更新钥匙串中的凭据以应用令牌替换旧明码。
在 windows 中配置 github 凭据
应用 https
的形式拉取或者推送代码,每次都须要手动输出用户名和 personal access token
,为了不便,能够应用 windows 中的凭据管理器保留相干配置,如下图所示:
如果 github 的凭据曾经存在,原来保留的是用户名和明码,须要将原来的明码批改为 personal access token
,通常状况下,咱们登录过 github 后就会在这里保留相干的凭据,如果没有可用手动创立,如下图所示:
参考文档:
https://docs.github.com/en/gi…