首页 > 解决方案 > 如何使用个人访问令牌克隆、拉取和推送存储库?

问题描述

今天 GitHub 给我带来了一种推送、克隆或拉取 repo 的新方法,让我大吃一惊

当我尝试推送我的项目时,我收到以下错误消息:

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 添加了一个名为Personal access tokens 但我可以使用它的新安全更新?

标签: gitgithub

解决方案


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

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

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

UPDATE它告诉您如何更改文档中的令牌

在命令行上使用令牌

获得令牌后,您可以在通过 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。

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

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

还找到了一个很好的视频演练,可能有助于弄清楚一些事情。

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


推荐阅读