SourceTree不断询问Github密码
我的组织正在从Bitbucket切换到Github进行项目管理。今天,我尝试使用SourceTree将我们最近的项目从Bitbucket转移到Github。我向项目中添加了第二个远程存储库(使用Github上目标存储库的URL),使所有内容都处于最新状态,然后尝试将代码推送到存储库中。弹出一个框,询问我的Github帐户的密码。我输入了(正确的)密码,然后单击“确定”,对话框再次弹出。我再次(正确地)输入了密码,它也做了同样的事情 我的用户名识别正确,密码正确,我尝试更新SourceTree,因为我听说这是以前版本的问题。问题依然存在 我正在使用SourceTree 2.3.1如果您没有使用,询问您密码的另一个原因是: 您的GitHub repo url是ssh url,而不是https url。SourceTree不断询问Github密码,git,github,bitbucket,atlassian-sourcetree,sourcetree,Git,Github,Bitbucket,Atlassian Sourcetree,Sourcetree,我的组织正在从Bitbucket切换到Github进行项目管理。今天,我尝试使用SourceTree将我们最近的项目从Bitbucket转移到Github。我向项目中添加了第二个远程存储库(使用Github上目标存储库的URL),使所有内容都处于最新状态,然后尝试将代码推送到存储库中。弹出一个框,询问我的Github帐户的密码。我输入了(正确的)密码,然后单击“确定”,对话框再次弹出。我再次(正确地)输入了密码,它也做了同样的事情 我的用户名识别正确,密码正确,我尝试更新SourceTree,因
由于git找不到您的ssh密钥(或者您的ssh密钥未注册到您的GitHub帐户),所以它会返回到帐户/密码机制
如果您使用的是2FA(和https url),那么您需要。如果您使用的是GitHub的双因素身份验证,那么您需要: 要在SourceTree中使用GitHub的双因素身份验证,只需使用访问令牌而不是密码。执行此操作的步骤如下所示:
在我的例子中,发生这种情况的子模块默认为https,即使主项目使用ssh。我通过在SourceTree的存储库设置中将子模块的repo路径更改为使用ssh路径而不是https来修复它。打开终端并克隆您的repo。存储库url必须具有您的usedid, 例如:
$git clone https://@github.com//.git
$git克隆https://mark@github.com/mak123/.git
然后将克隆的文件夹拖放到sourceTree窗口中。您也可以单击“+新建存储库”按钮,然后从菜单中选择“添加现有本地存储库”。
它可能会再次要求输入密码,但这次它会被添加到您的钥匙链中。更新后,我遇到了类似的问题;我尝试重新添加我的bitbucket凭据、更改协议等,但没有成功,直到
这让我烦了整整一个星期!如果这对您有帮助,您现在可以和我跳支舞:)SourceTree 2.4.8.0版 对我来说,问题似乎是SourceTree和GitHub之间的设置顺序。我先设置SourceTree,然后单击所有“稍后设置”选项 一个简单的修复方法-卸载并重新安装SourceTree。不明显的一点是需要手动删除实际的程序文件 从任何“SourceTree.exe”快捷方式中,打开文件位置。我的分支位于“C:\Users\myusername\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Atlassian”,其中快捷方式指向另一个快捷方式 打开该快捷方式的文件位置。我最终在“C:\Users\myusername\AppData\Local\SourceTree”中结束。删除整个“SourceTree”文件夹。升级一级至“…\Local”,并删除“Atlassian”文件夹 现在卸载SourceTree。确保GitHub的设置符合您的要求(对我来说,我还创建并保存了一个用于SourceTree设置的SSH密钥)。使用所有正确的凭据重新安装SourceTree,指向正确的存储库等 在所有这些之后,SourceTree使用两个不同的对话框两次询问我的GitHub凭据,然后停止并开始工作!不再有无止境的循环。祝你好运 如果您正在使用“用户名和密码”身份验证,您可以尝试更改为使用SSH密钥进行身份验证 每次提交GitLab时,我都会遇到这种情况。当我更改身份验证方式:SSH密钥时,问题已经解决了。这就是我发现的(在我的驱动器C:中搜索“sourcetree”后):
安德鲁·马吉尔(Andrew Magill)给出的解决方案对我有效,该解决方案摘自以下来源: 问题是SourceTree的嵌入式Git客户端附带Git credential manager v1.12,它不再适用于Github,因为它们在其站点上禁用了TLS 1.1。您需要获得git credential manager v1.14。最简单的方法是单独安装Git客户端的当前副本,然后切换SourceTree以使用该(“系统Git”)而不是其嵌入式客户端。或者,您可以更新git凭证管理
git config --global credential.helper osxkeychain
$ git clone https://<username>@github.com/<userId>/<reponame>.git
$ git clone https://mark@github.com/mak123/<reponame>.git
git config --global credential.helper osxkeychain