GIT 第20章 github配置使用personal access token认证 GIT 第20章 github配置使用personal access token认证

2023-07-20

一、问题描述

使用如下命令推送代码到 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。

2.1、创建 personal access token

  • 登录 github

  • 在页面右上角点击你的头像,然后点击 Settings

  • 在左侧边栏中,点击开发人员设置:Developer settings

  • 在左侧边栏中,单击个人访问令牌:Personal access tokens->Tokens (classic)

  • 单击生成新令牌:Generate new token->Generate new token (classic)

  • 为您的令牌指定一个描述性名称

  • 要让您的令牌到期,请选择到期下拉菜单,然后单击默认值或使用日历选择器

  • 选择您要授予此令牌的范围或权限。要使用您的令牌从命令行访问存储库,请选择 repo

  • 单击生成令牌

  • 将生成的令牌拷贝下来,记得保存,下次你就看不到了

2.2、在命令行上面使用令牌

2.2.1、账号密码

获得令牌后,您可以在通过 HTTPS 执行 Git 操作时输入它而不是密码。

例如,在命令行中输入以下内容:

git clone https://github.com/username/repo.git
Username: your_username Password: your_token

个人访问令牌只能用于 HTTPS Git 操作。如果您的存储库使用 SSH 远程 URL,则需要将远程从 SSH 切换到 HTTPS。

如果系统未提示您输入用户名和密码,则您的凭据可能已缓存在您的计算机上。您可以更新钥匙串中的凭据以使用令牌替换旧密码。

2.2.2、修改现有项目的 url

git remote set-url origin  https://TOKEN@github.com/USERNAME/REPO.git

将换成你自己得到的令牌。USERNAME 是 github 的用户名,REPO 是项目名称,比如我的:

https://ghp_xxxxxxxxxxxxxxxxxx@github.com/lulubin/zh_laravel53.git

2.2.3、新项目

对于新项目,克隆的时候也在 github.com 前面加个令牌就好了

git clone https://TOKEN@github.com/USERNAME/REPO.git

2.3、在 windows 中配置 github 凭据

使用 https 的方式拉取或者推送代码,每次都需要手动输入用户名和 personal access token,为了方便,可以使用 windows 中的凭据管理器保存相关配置,如下图所示:

https://file.lulublog.cn/images/3/2023/07/ArvlzIZvR02p4w6iXsJVizS2a06kw5.jpg

如果 github 的凭据已经存在,原来保存的是用户名和密码,需要将原来的密码修改为 personal access token,通常情况下,我们登录过 github 后就会在这里保存相关的凭据,如果没有可用手动创建,如下图所示:

https://file.lulublog.cn/images/3/2023/07/SMJD7a84cxXcYMUiuaq7oDiASX7JcQ.jpg

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开微信扫一扫,即可进行扫码打赏哦

阅读 271