如何使用个人访问令牌克隆、拉取和推送代码库?

20

今天 GitHub 用一种新的方式让我推送、克隆或拉取一个仓库,让我感到惊喜。

当我尝试推送我的项目时,出现了以下错误信息:

remote: Password authentication is temporarily disabled as part of a brownout. Please use a personal access token instead.
remote: Please see https://github.blog/2020-07-30-token-authentication-requirements-for-api-and-git-operations/ for more information.
fatal: unable to access 'https://github.com/barimehdi77/Philosophers.git/': The requested URL returned error: 403

经过多次搜索,我发现GitHub添加了一个名为个人访问令牌的新安全更新,但是我该如何使用它?


3
请提供文本,并不要以图像形式呈现文本。 - 4castle
3
抱歉有点跳题了 - 你考虑过使用SSH密钥进行Github认证吗? - erik258
2
你读了他们链接的文章吗?你可以使用令牌。 - JBallin
是的,我使用过SSH密钥,但我不太喜欢它,因为我使用多台电脑。 - DarkSide77
@JBallin 是的,我已经阅读了并生成了令牌,但我不知道如何重置密码。 - DarkSide77
2个回答

23

您需要使用SSH密钥。为每台计算机创建一个密钥,并将它们全部注册到需要访问的存储库中。这样做可以让您逐个删除计算机的访问权限。

在Github中配置SSH密钥后,您可以阅读本文档来设置个人访问令牌。

https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token

更新文档中介绍了如何切换到访问令牌。

在命令行上使用访问令牌

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

例如,在命令行上,您将输入以下内容:

$ git clone https://github.com/username/repo.git <--- HTTPS, not SSH
Username: your_username
Password: your_token <-------- THE TOKEN, not your password

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

如果没有提示输入用户名和密码,则您的凭据可能已缓存在计算机上。您可以在 Keychain 中更新您的凭据,以用令牌替换旧密码。

您可以使用 Git 客户端缓存您的 PAT,而非手动为每个 HTTPS Git 操作输入 PAT。Git 会在内存中临时存储您的凭据,直到过期时间到达。您还可以将令牌存储在文本文件中,Git 可在每个请求之前读取该文件。有关更多信息,请参见“在 Git 中缓存 GitHub 凭据”。

此外,还发现了一个好的视频演示,可能有助于澄清一些问题。

https://www.youtube.com/watch?v=kHkQnuYzwoo


我读了这篇文章,但我不知道如何使用令牌重置我的密码,这就是我首先提出这个问题的原因。 - DarkSide77

3

2
我已经创建了令牌,但是如何用新密码替换我的旧密码呢? - DarkSide77

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接