Macbook Pro 和 GitHub 的钥匙串访问

nic*_*son 1 git macos github

GitHub 现在正在转向不使用密码连接到存储库。我想知道 Mac 上的 Git 是如何工作的,因为它在钥匙串中存储了用于访问的用户名和密码。

我目前使用 ssh 来完成 Git 工作,但是,我在使用 Mac 的包管理器 Homebrew 时遇到了问题。

有谁知道我可以使用不同的 Git 凭证助手或其他解决方案吗?谢谢!

bk2*_*204 6

如果您在 Mac 上使用 HTTPS 和 Git 来访问 GitHub,那么您可以继续这样做,只需使用个人访问令牌而不是密码。这个个人访问令牌就像密码一样通过 HTTP 协议发送。使用个人访问令牌和密码之间的主要区别如下:

  • 个人访问令牌由 CSPRNG 生成,因此任何人在计算上都无法猜测。虽然用户通常可以选择弱密码,但个人访问令牌永远不会在用户之间重复,也永远不会弱。
  • 与密码不同,个人访问令牌的范围可以限制为仅执行某些活动。因此,如果 PAT 意外​​暴露,造成的损害会更有限,并且可以轻松撤销和替换。

要将 PAT 与 Git 结合使用,您可以通过执行以下操作来重置凭据管理器中使用的凭据

$ echo url=https://github.com | git credential reject
Run Code Online (Sandbox Code Playgroud)

然后,下次 Git 提示您输入用户名和密码来访问 GitHub 时,请照常输入您的用户名,然后生成包含范围的 PATrepo并将其粘贴作为您的密码。如果您使用凭证管理器(这是 macOS 上的默认配置),从那时起,Git 将使用这些凭证来访问 GitHub。