【问题标题】:Support for password authentication was removed. Please use a personal access token instead删除了对密码身份验证的支持。请改用个人访问令牌
【发布时间】:2021-10-18 08:39:21
【问题描述】:

当我尝试使用 git pull 时,我在控制台上收到此错误:

远程:已于 2021 年 8 月 13 日移除对密码身份验证的支持。请改用个人访问令牌。
远程:请参阅https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ 了解更多信息。
致命:无法访问“...”:请求的 URL 返回错误:403

这很奇怪,因为我只是按照文档并在两周前在 GitHub 上创建了一个令牌,该令牌将于 2021 年 10 月 26 日星期二到期。为什么今天被删除了?

【问题讨论】:

  • 我不明白这个问题。从字面上看,错误消息中的链接“从 2021 年 8 月 13 日开始,在 GitHub.com 上对 Git 操作进行身份验证时,我们将不再接受帐户密码。”
  • 即使我已经有一个 ssh 密钥,我也会收到这个愚蠢的错误
  • @JuanC 这里是mac的快速教程youtu.be/iKf8-hhdWjs
  • 感谢@VeKe 的教程!我能够修复它,但是当我被要求输入“密码”时它有点误导,但它可以与令牌一起使用。
  • 也许是时候接受一个答案了(在 29 个中)?

标签: git github token github-api git-pull


【解决方案1】:

此消息表示您正在使用密码而不是个人访问令牌通过 HTTPS 访问 GitHub,并且不再允许这样做。 GitHub 已禁用密码身份验证,因为人们意外泄露密码很常见,虽然可以限制个人访问令牌以限制损坏,但密码不能。

如果您没有在提示时明确输入密码,那么很可能您有一个凭据管理器正在保存您的密码并在不提示您的情况下发送它。

您可以按照说明清除您的凭据管理器listed in the Git FAQ

$ echo url=https://account@github.com | git credential reject

您应该使用相同的 URL,但将 account 替换为您自己的用户名(例如,在我的例子中,它看起来像 echo url=https://bk2204@github.com)。

然后,下次您尝试推送或拉取时,Git 会提示您输入用户名和密码。对于用户名,输入您的 GitHub 用户名,对于密码,生成一个新的个人访问令牌 on the appropriate settings page 并将其粘贴到密码字段中。如果您从命令行工作,您可能看不到任何密码已成功粘贴的迹象;这是正常的,所以之后只需按 Enter 即可。

这会将个人访问令牌保存在您的凭据管理器中,以备下次使用,假设您已经设置了一个。如果您不确定是否设置了一个,请运行 git config credential.helper 并查看它是否输出任何内容。

如果您没有设置一个,您应该添加一个,这样您就不必记住您的令牌。根据操作系统运行以下命令之一:

  • git config --global credential.helper manager 在 Windows 上;
  • git config --global credential.helper osxkeychain 在 macOS 上;
  • git config --global credential.helper libsecret 在 Linux 上(如果可用);或
  • 如果libsecret 不可用,则在 Linux 上使用git config --global credential.helper store

然后您可以再次尝试推送或拉取,直到不再提示您为止。

【讨论】:

  • 感谢您的信息,我刚刚测试了git config --global credential.helper osxkeychaingit config --global credential.helper,但我的控制台没有任何反应,所以我将尝试第一个解决方案。只有一个问题,url=https://account@github.com 是什么?我的repot的链接还是我的github?
  • 查看stackoverflow.com/questions/68776300/… 以在 Mac 上更改密码
  • 我上面提到的技术将清除任何系统上的密码,因此 Git 会再次提示输入密码。这就是我们在常见问题解答中记录它的原因,因为每个单独的操作系统和凭据帮助程序的方向都不同,而且当涉及到 GUI 时,很难编写一个适用于所有系统的单一答案。
  • echo url=https://account@github.com | git credential reject 正是我所需要的。谢谢!
  • 这是解决问题的方法,谢谢!显然我根据无数的提醒做的一切都是正确的,但它实际上并没有说如何开始使用令牌...
【解决方案2】:

如果您使用的是 macOS,只需按照以下步骤操作:

  1. 转到此链接:https://github.com/settings/tokens(个人资料 -> 设置 -> 开发人员设置 -> 个人访问令牌)。 (不要转到存储库设置;这是您的个人资料设置)
  2. 生成一个新令牌并将其复制粘贴到安全的地方。
  3. 现在在您的 Mac 中搜索名为 Keychain Access 的应用程序。
  4. 搜索github.com(如果有多个GitHub登录则选择Kind: Internet password),双击它。
  5. 单击显示密码,然后输入您的 Mac 密码并按 Enter
  6. 密码现在应该是可见的。现在,只需粘贴您在第 2 步中生成的令牌,然后点击 Save changes

就是这样。享受吧!

如果您使用的是 Windows:

  1. 按照上述步骤 1 和 2 进行操作。
  2. 在您的 Windows 操作系统中搜索名为 Credential Manager 的应用程序 → 然后是 Windows Credentials
  3. 搜索github.com编辑使用您在GitHub 上生成的token 的密码。 现在享受吧!

开发者的 hack(简码):

git remote set-url origin https://<githubtoken>@github.com/<username>/<repositoryname>.git

克隆时:

git clone https://<username>:<githubtoken>@github.com/<username>/<repositoryname>.git

它适用于所有操作系统(Mac、Windows 或 Linux)。

缺点:您必须记住或应该需要对本地的每个存储库进行操作。所以我希望每个人都使用上面提到的步骤。

注意:

对于那些没有此条目的人:可以制作。一种方法是克隆一个项目。然后它会询问您的用户名和密码。而不是密码,给它令牌,然后输入。

【讨论】:

  • 我没有这样的条目(Mac)
  • 绝对!谢谢@ClaudH。我更新了答案。
  • 我发现在 Windows 上,有必要在凭据管理器中删除现有凭据。然后,下次我尝试执行git push 时,它会提示输入个人访问令牌。简单地重置现有凭据是行不通的。
  • 拯救了我的一天 ? 开发者的快捷方式对我来说很棒,只是删除了旧的远程 url 并添加了新的(mac,但我相信所有操作系统都是这种情况)
  • 对于没有这个条目的人:应该做。一种方法是克隆一个项目。然后它会询问您的用户名和密码。代替密码给它令牌,然后输入。
【解决方案3】:

从 2021 年 8 月 13 日起,GitHub 在对 Git 操作进行身份验证时不再接受帐户密码。您需要添加一个PAT(个人访问令牌),您可以按照以下方法在您的系统上添加一个PAT。

在 GitHub 上创建个人访问令牌

从您的 GitHub 帐户,转到 设置 => 开发者设置 => 个人访问令牌 => 生成新令牌 (输入你的密码) => 填写表格 => 点击生成令牌 => 复制生成的令牌,就会有东西了喜欢ghp_sFhFsSHhTzMDreGRLjmks4Tzuzgthdvfsrta

现在根据您的机器遵循以下方法:

适用于 Windows 操作系统

控制面板转到凭据管理器 => Windows凭据 =>找到git:https://github.com => 编辑 => 将密码替换为您的 GitHub 个人访问令牌 => 大功告成

如果您没有找到git:https://github.com => 点击添加通用凭据 => Internet 地址将是git:https://github.com,您需要输入您的用户名和密码将是您的GitHub 个人访问令牌 => 点击确定就完成了


对于 macOS

单击菜单栏右侧的 Spotlight 图标(放大镜)。输入 Keychain access 然后按 Enter 键启动应用程序 => 在 Keychain Access 中,搜索 github.com => 找到 github.com互联网密码 条目 =>相应地编辑或删除条目=>你完成了


对于基于 Linux 的操作系统

对于 Linux,您需要使用用户名配置本地 GIT 客户端 和电子邮件地址,

$ git config --global user.name "your_github_username"
$ git config --global user.email "your_github_email"
$ git config -l

配置好 GIT 后,我们就可以开始使用它来访问 GitHub。 示例:

$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY
> Cloning into `Spoon-Knife`...
$ Username for 'https://github.com' : username
$ Password for 'https://github.com' : give your personal access token here

现在将给定记录缓存在您的计算机中以记住令牌:

$ git config --global credential.helper cache

如果需要,您可以随时通过以下方式删除缓存记录:

$ git config --global --unset credential.helper
$ git config --system --unset credential.helper

现在尝试用-v拉取验证

$ git pull -v

Linux/Debian (克隆如下):

git clone https://<tokenhere>@github.com/<user>/<repo>.git

对于 PhpStorm

如果您使用的是 PhpStorm,请转到菜单 Git => pull 并选择通过 Personal Access Token 进行身份验证。输入您的PAT,它将允许您拉/推更改。

【讨论】:

  • 确保将令牌保存在某个本地文件或某个云中。已投票。
  • 鉴于 OP 声明他们已经在两周前创建了一个令牌,这并不能解决实际问题。
  • 嗯,当我克隆我的仓库时它不要求令牌,那我应该如何继续?
  • 与@Prhyme 的体验相同。我无法让 git 提示我输入用户名和密码,甚至尝试克隆私人仓库、推送到仓库等。当我去推送到仓库时,它继续给出“对密码身份验证的支持已被删除”消息,而不提示任何内容。
  • 第一次使用mac时,当你将代码推送到你的仓库时提示你输入密码,输入访问令牌,它会将令牌添加到钥匙串中,并且不会再次提示。
【解决方案4】:

对于 Linux,这些简单的步骤可以解决您的问题

  1. 如果您的 Git 密码缓存在 credential.helper 中,则取消设置:

    git config --local --unset credential.helper
    

    或者,如果您已全局设置凭据,则:

    git config --global --unset credential.helper
    
  2. 现在转到您的 GitHub帐户设置

  3. 点击开发者设置

  4. 选择个人访问

  5. 生成具有给定权限的令牌,例如,

  6. 现在 git pull 在您的 Git 存储库中

  7. 提供用户名和生成的令牌作为密码

这是一个简单的逐步解决方案。

PS:如果你对 Git 一遍又一遍地询问用户名/令牌感到恼火,请按照以下三个简单步骤操作

  • 运行nano ~/.git-credentials。删除 GitHub 行并保存。

  • git config --global credential.helper store

    令牌保存在文件 ~/.git-credentials 中存在风险

  • 运行git pull 并只提供一次用户名和密码

它现在不会一次又一次地询问用户名和访问令牌!

【讨论】:

  • 这些是很多的权限。你用那个令牌做什么?
  • 这完全取决于您要使用该令牌的用例。因此,请根据您的用例选择这些权限。
  • 只有当我遵循这个时它才有效。
【解决方案5】:

使用我的帐户设置开发者设置个人访问令牌生成新令牌.

git remote set-url origin https://<token>@github.com/<username>/<repo>

【讨论】:

  • 请注意,这似乎需要在每个 repo 中运行此命令才能使用新凭据重置该 repo。希望有一个全球性的解决方案。
  • 这个非常适合我。上面的投票最多的那个不起作用。
  • 谢谢!使用令牌作为密码不起作用,但添加这项工作很棒
  • 这是非常不安全的,它不仅允许本地系统上的任何人对本地 repo 进行读取访问控制对该 repo 的控制,git remote -v 只是公开了让攻击者帐户广泛访问你的密钥的密钥GitHub 帐户。
  • @ßãlãjî 操作系统密钥管理器和浏览器不遗余力地保护凭据。正常的 git 工作流程不会将密码或 ssh 私钥暴露给对 repo 具有读取权限的其他用户。上面的建议可以。它允许任何对本地存储库副本具有读取权限的人,包括例如共享的工作或学校文件系统,来查看用户的明文个人访问令牌。这也扩展到存档副本,例如保留 .git 目录的源 tarball。
【解决方案6】:

Android Studio 北极狐解决方案(Windows 10)

我使用个人访问令牌在 Android Studio Arctic Fox(最新版本)中进行了身份验证,但我仍然在 2021 年 8 月 14 日收到此错误:

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.

我在 github.com 上生成了一个新的访问令牌,从 Android Studio 中删除了我的 GitHub 帐户,并使用新的访问令牌再次添加了该帐户。但是,它仍然显示相同的错误。

阅读 StackOverflow 上的其他解决方案后,我下载了 GitHub CLI,并在 Windows 命令提示符下成功添加了我的 GitHub 帐户和访问令牌,并尝试再次从 Android Studio 推送存储库,但再次失败。

然后跟随this article,我在命令行做了以下操作:

cd <project-directory>
git remote set-url origin https://<TOKEN>@github.com/<user_name>/<repo_name>.git

我从Android Studio再次推送,终于成功了!

【讨论】:

    【解决方案7】:

    GitHub 对密码验证进行了更改。如果您尝试通过用户名和密码访问 git,那么它不允许您访问。因此,请使用个人访问令牌而不是密码来访问 git。

    以下是生成个人访问令牌的步骤。

    点击这里 - https://github.com/settings/tokens

    第 1 步 - 打开 GitHub 并使用您的凭据登录。

    第 2 步 - 点击设置菜单。

    第 3 步 - 从 设置 菜单中点击 开发者设置

    第 4 步 - 从 开发者设置 的菜单中点击 个人访问令牌

    第 5 步 - 从 个人访问令牌 点击 生成新令牌 按钮。

    第 6 步 - 现在填写所需的详细信息,例如 注意、到期、选择范围。然后点击Generate Token按钮。

    第 7 步 - 生成新令牌之后。复制生成的令牌并使用此令牌通过用户名和令牌访问 Git。

    如果您使用的是 Windows,请按照以下步骤操作。

    打开控制面板 => 用户帐户 => 管理您的凭据 => Windows凭据。。 p>

    它将显示所有通用凭据。找到您的 GitHub URL 并单击它。现在点击编辑按钮。然后将 GitHub 生成的 个人访问令牌 添加到密码字段中。然后点击保存按钮。

    现在你可以访问 git。

    如果您在 Android Studio 中访问 Git,如果系统要求您输入密码,请在任何地方添加 GitHub 个人访问令牌,而不是您的密码。

    【讨论】:

    • 你是我的英雄。起初它不起作用,因为对我来说,凭证管理器中正确的 GitHub URL 是 git:gitshub.com 而不是 github.com/username。也许它可以帮助某人。我也认为 GitHub 的可恶是无止境的。
    • 还有一种替代方法:您也可以使用直接 ssh 密钥:youtu.be/egdJy_FWUh4
    • 所以基本上密码应该到处都用git token代替。
    • 而且,如果我使用的是 Linux 命令行?编辑:答案:只需使用令牌作为密码...
    • @Lars Wissler 非常感谢,你救了我! git:github.com 确实是正确的地址。
    【解决方案8】:

    生成 GitHub 个人访问令牌 (PAT)

    1. 登录到您的 GitHub 帐户并打开 设置开发者设置 个人访问令牌。
    2. 点击Generate New Token

    不要忘记复制和生成后的令牌。它只能访问一次。

    Windows

    1. 打开控制面板用户帐户凭据管理器
    2. 现在,寻找git:https://github.com
    3. 点击编辑
    4. 用 GitHub 个人访问令牌替换密码。

    MAC

    1. 点击 Spotlight 图标并搜索 Keychain Access
    2. 在 Keychain Access 中,搜索 github.com
    3. 现在,查找 github.com 的 Internet 密码条目。
    4. 更新条目。

    【讨论】:

    • 我发现在 Windows 上,有必要在凭据管理器中删除现有凭据。然后,下次我尝试执行git push 时,它会提示输入个人访问令牌。简单地重置现有凭据是行不通的。
    【解决方案9】:

    一键简单的解决方案

    如果您的计算机没有向 GitHub 帐户添加 SSH 密钥,我会在答案末尾添加信息供您执行。你应该先做。

    推送失败后,执行以下操作:

    git remote set-url origin git@github.com:{user_id}/{project_name}.git
    

    然后再推。然后就可以了。

    让我在下面展示我的案例。
    (我会指导你如何处理你的案子。)

    一开始,当我添加、提交和推送时,我遇到了这个问题:

    然后,我当前的 Git 日志如下。

    在决赛中,这是我解决问题的方法。

    就我而言,

    1. {project_name} open-idea-pool

    2. {user_id} milochen0418 是

    3. {branch_name} master

    (你的 branch_name 可能是 main,但不是 master

    当我推送失败时,我唯一需要的是这个命令:

    git remote set-url origin git@github.com:{user_id}/{project_name}.git
    

    然后我再次推送:

    git push -u origin {branch_name}
    

    以我的情况为例,

    git remote set-url origin git@github.com:milochen0418/open-idea-pool.git
    git push -u origin master
    

    有效。

    -- 顺便说一句,这是为 GitHub 帐户创建 SSH 密钥的过程。

    你可以参考这两个链接来做。此处的信息支持 Mac、Windows 和 Linux。

    1. Issue on adding SSH key to GitHub
    2. Adding a new SSH key to your GitHub account

    另外,如果要克隆一个新项目,可以执行以下命令:

    git clone git@github.com:{user_id}/{project_name}.git
    

    【讨论】:

    • 我敢打赌这只是因为你有一个 SSH 密钥添加到 github 帐户。
    • 也许在答案中添加创建 SSH 密钥的过程?
    • 非常感谢。明天我将添加一些创建 SSH 密钥的简单过程。 GitHub官方文档也介绍了怎么做,但是对于初级的人来说太复杂了。
    • 我已经通过参考两个优秀的链接将创建SSH密钥的过程添加到github帐户。
    • 建议使用ssh 而不是username/password(token) 方法。好答案。而不是https://github.com/&lt;repo_url&gt; 使用git@github.com:&lt;repo_url&gt;
    【解决方案10】:

    设置开发者设置在 GitHub 中生成访问令牌。

    如果您过去克隆了您的存储库并将其设置为 origin,那么您可以更改身份验证,

    git remote set-url origin https://<token>@github.com/<username>/<repo>.git
    

    如果您要在 2021 年 8 月 13 日之后克隆存储库,那么您可以使用正常的克隆命令并在密码字段中设置生成的访问令牌。

    【讨论】:

    • 它应该是“.git”。
    • 如果你像我一样拥有多年的 git 存储库,你使用了基于密码的身份验证。我做了这个:find . -type f -path '*/.git/*' -name 'config' -exec sed -i 's%https://github.com/%git@github.com:%g' {} \; 它将在.git 文件夹中递归搜索任何名为 config 的文件,并找到并用 git@github 替换 https URL。我建议只在你知道你有普通香草遥控器的简单仓库上这样做。我还没有测试过它将如何在不同的设置上工作。 YMMV!
    • 我尝试删除用户名并且成功了: git remote set-url origin https://@github.com/.git
    【解决方案11】:

    在 Linux 中,您可以在 GitHub 中生成新的访问令牌并直接替换它来代替 ~.git-credentials 文件中的密码。

    密码部分以: 开头,以@ 结尾。

    【讨论】:

      【解决方案12】:

      Mac 用户 -- 一个简单的解决方案。

      在 GitHub 中设置个人访问令牌:

      设置开发者设置个人访问令牌

      打开钥匙串 → 输入“GitHub”

      将密码更改为个人访问令牌。

      尝试提交/推送。

      选择“始终允许”,一切照旧。

      【讨论】:

        【解决方案13】:

        对于 Ubuntu,请使用以下步骤

        【讨论】:

          【解决方案14】:

          如果项目是在 2020 年 8 月 13 日之前克隆的,请在项目目录中运行这些命令:

          git remote set-url <remote_name> <remote_url>
          git pull
          

          输入您的用户名个人访问令牌作为密码

          【讨论】:

          【解决方案15】:

          作为安全预防措施,GitHub 会自动删除一年未使用的个人访问令牌。为了提供额外的安全性,我们强烈建议您为您的个人访问令牌添加过期时间。

          只要关注Creating a token

          【讨论】:

            【解决方案16】:

            三个命令

            首先按照官方文档中的说明创建一个令牌:Creating a personal access token

            然后重置 Git 凭据

            git config --global --unset credential.helper
            

            克隆或拉取您的存储库:

            `git pull` or `git clone`
            

            然后输入令牌作为您的密码。

            如果你想保存你的令牌,你可以使用:

            git config --global credential.helper cache
            

            【讨论】:

              【解决方案17】:

              对于 Mac 用户

              生成一个令牌并将其设置在钥匙串中。

              This quick video explains it well.

              对于 Windows 用户

              您需要使用新生成的令牌设置Credential Manager,而不是钥匙串。

              Here is a quick video for Windows

              【讨论】:

                【解决方案18】:

                对于那些按照说明生成个人访问令牌,但忘记选择合适范围的人:

                请记住选择合适的范围,例如存储库。无论您使用以前的密码还是没有合适范围的新令牌,您都不会收到不同的错误提示。

                【讨论】:

                • Re"选择合适的范围,比如repositories"(好像不太理解):你的意思是"选择合适的范围 for 存储库"?或者是其他东西?请通过editing (changing) your answer 回复,而不是在 cmets 中(without "Edit:"、"Update:" 或类似的 - 答案应该看起来像是今天写的)。
                【解决方案19】:

                适用于 Windows 用户的快速解决方案

                打开 Credential Manager 并删除已保存的 Git 凭据:https://github.com

                在这一步之后,在终端中再次运行拉/推命令。 GitHub 会自动要求使用您的默认浏览器登录(确保您在默认浏览器中使用 GitHub 登录)。

                登录成功后,我们收到这条消息:

                更多相关帮助,也可以关注this video

                【讨论】:

                  【解决方案20】:

                  转到设置开发者设置 → 如果不存在则生成新令牌。

                  如果存在则复制令牌。

                  然后设置令牌:

                  git remote set-url origin https://<token>@github.com/<username>/<repo>.git/
                  

                  【讨论】:

                    【解决方案21】:

                    对于使用Sourcetree 作为 Git 客户端的任何人,打开 Preferences转到 Accounts 选项卡添加 GitHub accountAuth type = basic → 填写你的 GitHub 账户和你从 GitHub 创建的访问令牌作为密码 → 使用 HTTPS 协议 → 完成! p>

                    【讨论】:

                      【解决方案22】:

                      我之前在 Linux 上使用git pull 并带有密码。

                      如果是这种情况,您唯一需要做的就是使用 token 代替 password

                      通过转到 Personal access tokens 生成访问令牌。

                      这里是git pull的例子

                      git pull
                      
                      Username for 'https://github.com': gitusername
                      Password for 'https://yourusername@github.com': //Then enter generated token
                      

                      【讨论】:

                      • 在我的情况下,在执行“git pull”之后,只需再次执行“git pull”,您应该会自动提示输入用户名和密码。它不应该要求您在操作系统设置中删除您的密码。
                      【解决方案23】:

                      最近 GitHub 更新了他们的远程:支持密码验证。它已于 2021 年 8 月 13 日被删除,以使用 PAT(个人访问令牌)代替访问 GitHub API。

                      您可以在博文here阅读。

                      现在启用 PAT

                      • 登录您的 GitHub 帐户。
                      • 关注this write-up 以了解下一步行动。

                      现在要在命令行上使用令牌,这样做

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

                      注意,您的令牌有到期时间,必须保密,并在您需要在命令行上验证时使用。

                      注意

                      如果您要克隆到由以下人员拥有的存储库中:

                      组织

                      • 确保您是该组织的成员

                      或者如果是一些个人存储库,

                      • 确保您已启用以下功能

                      组织/个人需要启用远程克隆和分叉,如下所示:

                      • 转到组织设置:

                      • 启用会员权限:

                      【讨论】:

                        【解决方案24】:

                        对于想要使用Sourcetree的人:

                        source 路径下像这样复制:

                        https://<token>@github.com/<username>/<repo>
                        

                        【讨论】:

                          【解决方案25】:

                          目前我发现的最佳解决方案:

                          1. 安装 GitHub CLI,brew install ghcheck how to install for other OSes

                          2. 在终端中输入gh auth login

                          3. 如下所示:

                            What account do you want to log into?
                            Choose GitHub.com
                            
                            What is your preferred protocol for Git operations?
                            Choose HTTPS
                            
                            Authenticate Git with your GitHub credentials?
                            Choose Yes
                            
                            How would you like to authenticate GitHub CLI?
                            Choose Login with a web browser
                            
                            (Copy the one-time code and paste in the browser)
                            
                            Press 'Enter' to open github.com in your browser
                            

                          【讨论】:

                          【解决方案26】:

                          首先在 GitHub 上创建令牌:

                          1. 点击头像并在菜单中选择设置
                          2. 在底部左侧菜单中选择开发者设置
                          3. 在左侧菜单中选择个人访问令牌(第三个选项)
                          4. 选择生成新令牌并执行后续步骤。

                          如果您尚未安装 GitHub CLI,则不会在您的钥匙串访问中找到它。因此,您应该先安装它。

                          1. 为 macOS 安装 GitHub CLI

                            brew install gh
                            

                            对于 Windows:

                            winget install gh
                            scoop install gh
                            choco install gh
                            
                          2. 在命令行输入gh auth login,根据提示,提供以下答案

                            ?您要登录哪个帐户? GitHub.com

                            ?您首选的 Git 操作协议是什么? HTTPS

                            ?使用您的 GitHub 凭据对 Git 进行身份验证?

                            ?您希望如何对 GitHub CLI 进行身份验证? 粘贴身份验证令牌

                          3. 粘贴您在 GitHub 上创建的令牌,然后按 Enter

                          【讨论】:

                            【解决方案27】:

                            昨天我在 MacBook 的钥匙串上查找 GitHub 时遇到了一些问题。我尝试了很多方法都没有成功。

                            从我的角度来看,我过去能够快速从我的 GitHub 帐户拉取和推送的解决方法是通过 SSH 完成的。

                            这让我无需进一步配置就可以做到这一点。

                            1. 你可以去 SSH keys
                            2. 然后新的 SSH 密钥
                            3. 如果您已经在本地创建了 SSH,只需在终端中运行 pbcopy &lt; ~/.ssh/id_rsa.pub
                            4. 然后从 GitHub 存储库中拉取、推送、克隆或任何您需要的内容,就完成了

                            我知道这不是问题的解决方案,但它对我有用,因为我需要快速完成它,老实说,我没有任何理由需要使用 HTTPS 而不是 SSH。

                            【讨论】:

                            • 这对我不起作用。
                            • 你能提供更多细节吗?您是否已经生成了 ssh?此外,请确保在克隆您更改的存储库时。 HTTPS 到 SSH
                            【解决方案28】:

                            我无法克隆总是出现此错误的项目。我鼓励的解决方案是,在帖子中说出帖子时生成令牌后,我按照如下所述进行。

                            使用个人访问令牌克隆新项目。

                            对于克隆,您也只需像在第 2 步中所做的那样修改 URL。

                            克隆存储库的旧方法:

                            git clone repository_URL folder_name
                            
                            git clone https://github.com/<user>/<repository> my_project
                            

                            使用个人访问令牌进行克隆的新方法:

                            git clone https://<token>@github.com/<user>/<repository> my_project
                            

                            我分享我的解决方案。

                            【讨论】:

                              【解决方案29】:
                              1. 为您的帐户创建个人访问令牌 (PAT)。请参阅此处以创建您的 PAT。您的 PAT 应以 ghp_ 开头

                              2. 打开你的 Keychain Access 应用,搜索 GitHub,然后删除你现有的保存密码

                              3. 返回您的终端并尝试推送您的提交。它应该提示您输入用户名和密码。现在,尝试输入您的 PAT 来代替您通常的 GitHub 密码/密码。

                              【讨论】:

                              • 为什么要以"ghp_"开头?
                              【解决方案30】:

                              我在这个问题上花了几个小时,WSL 2 (Ubuntu 20.04 (Focal Fossa))。打开一个新的外壳对我有用。尝试旧的shell,它不起作用。

                              我也在调查GitLab,因为他们可能没有强迫您按照他们的方式做事(“您会更喜欢这种方式”)或一直发布重大更改的 Microsoft 文化。

                              【讨论】:

                                猜你喜欢
                                • 2021-10-17
                                • 2021-10-17
                                • 2013-12-24
                                • 2021-09-12
                                相关资源
                                最近更新 更多