GitHub,HTTPS和Mac应用程序

wha*_*ide 4 git macos github

我知道GitHub中的SSH没有问题(每次都没有输入用户名/密码即可),但我需要使用HTTPS作为我的回购.

现在,我git init编辑了回购,我承诺,我git remote add origin https://github.com/user/repo.git 按照GitHub的建议做了.

我正准备做git push -u origin master:首先它提示我输入用户名和密码,然后回答:

remote: Anonymous access to user/repo.git denied.
fatal: Authentication failed for 'https://github.com/user/repo.git/'
Run Code Online (Sandbox Code Playgroud)

我有300%肯定我输入了正确的密码(我还是再试过几次).我在这里和那里搜索,然后我尝试了最后的机会:为Mac安装GitHub应用程序.我输入了我的凭据,输入了他们发给我的双因素身份验证码,并试图再次推送:这次它有效.

为什么?GitHub应用在幕后做了什么?它与2因素身份验证有关吗?

无论如何,我将无法在我设置的每台机器上下载应用程序,可能是通过使用某些脚本自动执行此过程.

Von*_*onC 15

如果已激活双因素身份验证,则GitHub密码将无效.

您需要生成个人访问令牌,正如我在" 配置Git客户端,如GitHub for Windows,不要求身份验证 "中所述.

这个长(40个字符)的密码将作为您的GitHub密码,无需第二次身份验证.

PAT(Personnal Access令牌)和您的Github密码帐户之间的区别:

  • 它不需要第二步,但是:
  • 它比简单的密码更复杂(不应该被记住)
  • 您可以根据需要生成任意数量(例如,每个用于访问GitHub的不同计算机的一个)
  • 你可以随时撤销它(比更改你的GitHub密码更容易)

你可以在一个.netrc.gpg文件中加密你的GitHub凭证,正如我在" 使用https:// github时有没有办法跳过密码输入 "中所说明的那样.
我发现它远远优于内存缓存机制(如credential-osxkeychain),因为您不必在每个会话中键入GitHub(长和复杂令牌)密码.
您只需键入gpg密钥的密码,GitHub登录/令牌凭据,或您在~/.netrc.gpg文件中加密的任何其他凭据 .