我们喜欢TortoiseGit,并希望利用GitHub's 2-Factor Authentication ...但这两者似乎并不想一起工作。
有没有人为此制定解决方案?
答案 0 :(得分:24)
要赞美Cupcake's answer,请在使用TortoiseGit时使用GitHub.com中的个人访问令牌功能:
Set up a personal access token - 记下生成的令牌(使用生成的令牌旁边的Copy to clipboard按钮)。
设置TortoiseGit以记住您的密码as detailed here。
现在在GitHub.com上执行拉取操作,输入您的用户名,但不要使用普通密码,而是使用步骤2中生成的令牌。
在GitHub.com上执行另一次拉取操作,以确保记住该令牌。
答案 1 :(得分:16)
GitHub blog post about 2-Factor Authentication提到您可以生成“个人访问令牌”,可以在启用双因素身份验证时用来代替密码:
我不确定它是否真的可以与TortoiseGit一起使用,但也许你可以尝试一下?您可以在Authorized applications settings page:
生成访问令牌
答案 2 :(得分:2)
在 github 中创建个人访问令牌后(请参阅:https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token),转到存储库的 TortoiseGit 设置,然后转到本地配置,如下所示:
之后,编辑存储库的URL,格式为github username:access_token@rest/of/the/url.git,如下所示:
为我工作。能够毫无问题地推送代码。
答案 3 :(得分:1)
如果有人遇到同样的问题 - 使用TortoiseGit的访问权限一般工作,虽然由于某种原因我不能强迫它使用正常的身份验证提示,所以我必须做git clone https://ghusername:accesstoken@github.com/repo.git
答案 4 :(得分:0)
你必须生成访问令牌以在Github中使用tortoise进行双因素身份验证来提取/推送代码。使用此令牌作为密码。
以下是其他步骤 -
https://help.github.com/articles/creating-an-access-token-for-command-line-use/
答案 5 :(得分:0)
这似乎已经存在了一段时间了,多亏了上面“ Pawel Gorczynski's”的回答,我才设法解决了这个问题。
在特定的存储库中,打开“〜/ repo / .git / config”文件并创建如下一行:
[credential "https://GHUserName:GHPersonalAccessToken@github.com/GHUserName/GHRepository"]
GHUserName =您在GitHub上的用户名,而不是您的电子邮件。
GHPersonalAccessToken =在https://github.com/settings/tokens生成的整个令牌字符串
GHRepository =为此访问令牌创建的存储库的名称,请注意“ .git”已被排除。
您可以在'〜/ repo / .git / config'中找到或创建配置文件,该配置文件没有扩展名,应该已经存在。