Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用令牌而不是密码更新mac以向GitHub进行身份验证?_Git_Macos_Github_Terminal_Keychain - Fatal编程技术网

如何使用令牌而不是密码更新mac以向GitHub进行身份验证?

如何使用令牌而不是密码更新mac以向GitHub进行身份验证?,git,macos,github,terminal,keychain,Git,Macos,Github,Terminal,Keychain,我在GitHub开发者博客上读到GitHub是。我按照GitHub在上的说明,但是如何删除密码并设置令牌以在我的mac上使用 我试了一些东西 跑步 它不会出错,但不会提示我输入新密码(即,没有任何更改) 打开Keychain Access应用程序并删除GitHub条目 即使删除了所有github条目,我仍然能够从新的终端窗口提交到私有存储库 问题: 我如何更新我的mac电脑,停止使用密码向GitHub进行身份验证,转而开始使用令牌?我花了几个小时摸索这个,下面是(最终)对我有效的方法。可能有更好

我在GitHub开发者博客上读到GitHub是。我按照GitHub在上的说明,但是如何删除密码并设置令牌以在我的mac上使用

我试了一些东西

跑步 它不会出错,但不会提示我输入新密码(即,没有任何更改)

打开Keychain Access应用程序并删除GitHub条目 即使删除了所有github条目,我仍然能够从新的终端窗口提交到私有存储库

问题:
我如何更新我的mac电脑,停止使用密码向GitHub进行身份验证,转而开始使用令牌?

我花了几个小时摸索这个,下面是(最终)对我有效的方法。可能有更好的方法(例如,不要取消
user.name
user.email
),但为了将来的参考,以下是对我有效的方法:)

步骤1

解开你的锁。将其复制到终端并按enter键两次

git config --global --unset user.name
git config --global --unset user.email
git config --global --unset credential.helper
git credential-osxkeychain erase
host=github.com
protocol=https
# Hit return/enter twice
步骤2

打开新的终端窗口,设置您的姓名和电子邮件:

git config --global user.name "Your Name"
git config --global user.email you@example.com
步骤3

对其中一个存储库进行一个小的本地更改,然后添加git。,然后提交git-commit-m“您的小更改”,最后推送git-push,系统会要求您输入GitHub用户名,在该字段中输入GitHub帐户的电子邮件地址

在下一行,您将被要求输入密码,在此处粘贴您的令牌(即从您所在的GitHub复制令牌并粘贴到其中),如下所示:

git push
Username for 'https://github.com': you@example.com
Password for 'https://you@example.com@github.com': 

您的提交将推送,您现在使用的是令牌身份验证,而不是密码身份验证。这就是它的全部。

我花了好几个小时来摸索这个,所以这里是(最终)对我有用的东西。可能有更好的方法(例如,不要取消
user.name
user.email
),但为了将来的参考,以下是对我有效的方法:)

步骤1

解开你的锁。将其复制到终端并按enter键两次

git config --global --unset user.name
git config --global --unset user.email
git config --global --unset credential.helper
git credential-osxkeychain erase
host=github.com
protocol=https
# Hit return/enter twice
步骤2

打开新的终端窗口,设置您的姓名和电子邮件:

git config --global user.name "Your Name"
git config --global user.email you@example.com
步骤3

对其中一个存储库进行一个小的本地更改,然后添加git。,然后提交git-commit-m“您的小更改”,最后推送git-push,系统会要求您输入GitHub用户名,在该字段中输入GitHub帐户的电子邮件地址

在下一行,您将被要求输入密码,在此处粘贴您的令牌(即从您所在的GitHub复制令牌并粘贴到其中),如下所示:

git push
Username for 'https://github.com': you@example.com
Password for 'https://you@example.com@github.com': 

您的提交将推送,您现在使用的是令牌身份验证,而不是密码身份验证。这就是它的全部;您的令牌将成为您的新密码。将其存储在mac钥匙链中会让您不必跟踪它。以下是有关如何使用令牌更新密码的步骤

我看到您已经创建了一个令牌,如果阅读弃用通知,您可能会认为这就是您所需要做的。以下是有关为尚未创建令牌的用户创建令牌的说明:

但正如您所提到的,下一步是将使用密码替换为使用令牌

@stevec正确地分享了如何在终端上执行此操作,但您也可以打开keychain应用程序并在那里执行此操作

  • 使用mac搜索“keychain”并打开keychain Access.app
  • 搜索GitHub。您可能会看到两个选项:应用程序密码和internet密码
  • 打开应用程序密码。您可能会选中“显示密码”复选框,并且可能会看到这仍然使用您的密码而不是令牌

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

    TLDR;您的令牌将成为您的新密码。将其存储在mac密钥链中会让您不必跟踪它。以下是如何使用令牌更新密码的步骤

    我看到您已经创建了一个令牌,如果您阅读了弃用通知,您可能会认为这就是您需要做的所有事情。以下是有关为尚未创建令牌的任何人创建令牌的说明:

    但正如您所提到的,下一步是将使用密码替换为使用令牌

    @stevec正确地分享了如何在终端上执行此操作,但您也可以打开keychain应用程序并在那里执行此操作

  • 使用mac搜索“keychain”并打开keychain Access.app
  • 搜索GitHub。您可能会看到两个选项:应用程序密码和internet密码
  • 打开应用程序密码。您可以选中“显示密码”复选框,可能会看到这仍然使用您的密码而不是令牌

  • 用您的令牌替换该密码。这对我很有用。

    这不是你自己的复制品吗?请回答这个问题,而不是加倍。@matt昨天的问题(如何检测git/my laptop如何向GitHub进行身份验证)最明确地提示了这一点,在我回答这个问题之前需要解决。但昨天的问题并没有问如何切换到代币。非常相似,但对于昨天的问题,仍然不清楚如何使用令牌进行身份验证,这是我昨天在开始蛇形旅程之前首先搜索的内容,首先删除现有(密码)凭据,然后创建令牌并使用进行身份验证it@matt我想我认为这个问题更重要(昨天的问题是因为我在申请代币之前对删除密码很迂腐)。顺便说一句,我很高兴知道这是怎么回事。@matt,我还应该提到,我认为我的答案不是最优的,它可能包含了不必要的步骤。基于这个原因,我不会接受我的答案。但我只是不希望其他人花几个小时去换代币,特别是因为每个人都必须在几个月内换代币。这很公平。我当然不会这么想翁