如何在macOS上使用个人访问令牌进行GitHub身份验证?

29
创建个人访问令牌 后,如何取消任何现有的身份验证并在 macOS 终端中使用该令牌?
我尝试运行 osxkeychain 命令 git config --global credential.helper osxkeychain 但没有任何改变。我还尝试了 取消用户密码 git config --global --unset user.password,以及打开 Keychain Access 应用程序并删除 GitHub 条目,但都没有起作用。
3个回答

63

步骤1:取消现有凭据

将此复制到您的终端:

git config --global --unset credential.helper
git credential-osxkeychain erase
host=github.com
protocol=https

按下回车键两次,以从计算机中删除现有的GitHub凭据(用户名和密码)

建议:如果您之前使用GitHub个人访问令牌(PAT)进行身份验证,并希望更新为新的令牌,请通过访问https://github.com/settings/tokens并单击“删除”或“全部撤销”来使旧令牌无法再使用。

步骤2

生成新的访问令牌:前往GitHub,点击右上角的个人头像 -> 设置 -> 开发者设置 -> 个人访问令牌 -> 令牌(经典)并创建一个新的令牌(提示:如果不确定要授予哪些权限,只需选择完整的“repos”权限即可,无需其他权限 - 如果需要,您随时可以创建具有更多权限的另一个令牌)。

第三步

进入私有存储库并尝试推送/拉取。GitHub将提示您输入用户名(电子邮件或GitHub用户名)和密码(刚刚生成的令牌)。


2
我正在运行旧版的High Sierra,它在git credential-osxkeychain erase处卡住了。 - bomben
4
@bomben 我刚刚读了这篇文章,我认为你需要复制我回答中第一个代码段的所有4行,然后按两次回车键,它应该可以工作 :) - stevec
相关链接:https://dev59.com/zKzla4cB1Zd3GeqPC9Me - stevec

19

以下命令对我在Mac上奏效,就像https://gist.github.com/jonjack/bf295d4170edeb00e96fb158f9b1ba3c中所述。

security delete-internet-password -l github.com
在终端中运行此命令后,请运行 git clone 命令,然后它会要求您输入用户名和密码。在密码处,请提供从 GitHub Web 门户创建的访问令牌。

12
TLDR; 您的令牌将成为您的新密码。将其存储在 Mac 密钥链中可使您无需跟踪繁琐操作。以下是更新使用令牌密码的步骤。
我看到您已经创建了一个令牌,如果阅读停用通知,您可能认为这就是您需要做的全部。以下是为尚未创建令牌的任何人创建令牌的说明:https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token#using-a-token-on-the-command-line 但正如您所提到的,下一步是使用令牌替换使用密码。
@stevec 在终端上正确地分享了如何执行此操作,但您也可以打开密钥链应用程序并在那里执行此操作。
  1. 使用Mac搜索“钥匙串”,打开Keychain Access.app
  2. 搜索GitHub。您可能会看到两个选项:应用程序密码和Internet密码
  3. 打开应用程序密码。您可以勾选“显示密码”框,很可能仍然使用您的密码而不是令牌。

将该密码替换为您的令牌。这对我有用。


谢谢!那是一个有见地的观点! - ziff

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