我的组织正在从BitBucket切换到Github进行项目管理。今天,我试着用SourceTree把我们最新的项目从BitBucket转移到Github。我向项目中添加了第二个远程存储库(使用Github上目标存储库的URL),更新了所有内容,然后尝试将代码推送到存储库。弹出一个框,要求输入我的Github帐户的密码。我输入了我的(正确的)密码,然后点击‘确定’,对话框再次弹出。我再次(正确地)输入了我的密码,它做了同样的事情。
我的用户名被正确识别,我的密码正确,我尝试更新SourceTree,因为我听说这是以前版本的问题。这个问题仍然存在。
我正在使用SourceTree 2.3.1
5条答案
按热度按时间mgdq6dx11#
如果您对GitHub使用双因素身份验证,则需要create a personal access token and use it with SourceTree:
要在SourceTree中使用GitHub的双因素身份验证,您只需使用您的访问令牌而不是密码。执行此操作的步骤如下:
1.进入您在GitHub的个人访问令牌设置。
1.点击[生成新令牌]按钮。
1.将令牌命名为描述性的名称。
1.选择要授予此令牌的作用域。
1.点击[生成令牌]按钮。
1.复制令牌并将其用作托管存储库中的密码。
您可以在GitHub's help here上找到有关这方面的更多信息。
**Mac用户:如果您的SourceTree一直要求提供密码,请到终端输入:
6jygbczu2#
我使用的是SSH密钥,但SourceTree每次都要求我输入密码。
在Atlassian社区找到的这个解决方案对我很管用:
1.打开终端,进入您的项目目录
1.键入
git config credential.helper store
1.类型
git pull
1.输入用户名/密码(如果要求)
瞧啊!
envsm3lx3#
关注@chris answer如果您已经启用了2FA,要在SourceTree中使用
Personal Access Token
,您需要在SourceTree>首选项中使用此内标识添加您的访问权限,并提供以下信息:在此之后,您可以克隆您的Github回购。
vpfxa7rd4#
安德鲁·马吉尔给出的解决方案对我有效,复制自来源:link
问题是SourceTree的嵌入式Git客户端附带了Git-Credential-Manager v1.12,它不再与Github一起工作,因为他们在他们的网站上禁用了TLS1.1。您需要获得Git-Credential-Manager v1.14。要做到这一点,最简单的方法是单独安装Git客户端的最新副本,然后将SourceTree切换到使用该副本(“系统Git”),而不是其嵌入式客户端。或者,您可以在您的嵌入式客户端中更新git-redential-Manager,方法是将其文件替换为来自Microsoft的最新版本。
laawzig25#
在更新之后,我遇到了类似的事情;我尝试重新添加我的BitBucket凭据,更改协议等,但都没有成功,直到……
1.我打开我的钥匙链,在密码类别下搜索BitBucket(GitHub可能也是如此,只是搜索GitHub即可)。
1.我发现我的用户有多个访问密钥,所以我关闭了我的存储库,删除了所有“应用程序密码”类型的密钥,打开SourceTree首选项>帐户>删除了我的帐户并重新添加了它(像往常一样登录-我使用的是基本的HTTPS)。
1.Key Chain请求许可保存密码,我同意了,现在我只看到一个应用密码的Key。
我从repo浏览器打开了我的存储库,嘿,再也没有密码弹出了!
这件事让我烦了整整一个星期!如果这对你有帮助,你现在可以和我跳支舞了:)