SourceTree一直在询问Github密码

Abi*_*Fox 28 git github bitbucket atlassian-sourcetree sourcetree

我的组织正在从Bitbucket切换到Github进行项目管理.今天,我试图通过使用SourceTree将我们最近的项目从Bitbucket转移到Github.我在项目中添加了第二个远程存储库(使用Github上目标存储库的URL),使所有内容保持最新,然后尝试将代码推送到存储库.弹出一个框,询问我的Github帐户的密码.我输入了(正确的)密码,然后单击"确定",再次弹出对话框.我再次输入了密码(正确),它做了同样的事情.

我的用户名被正确识别,我的密码是正确的,我尝试更新SourceTree,因为我听说这是以前版本的问题.问题依然存在.

我正在使用SourceTree 2.3.1

Chr*_*ris 38

如果您使用GitHub进行双因素身份验证,则需要创建个人访问令牌并将其与SourceTree一起使用:

要在SourceTree中使用GitHub的双因素身份验证,您只需使用访问令牌而不是密码.执行此操作的步骤如下:

  1. 转到GitHub中的个人访问令牌设置.
  2. 单击Generate new token按钮.
  3. 将该令牌命名为描述性的.
  4. 选择您希望授予此令牌的范围.
  5. 单击" 生成令牌"按钮.
  6. 复制令牌并将其用作托管存储库中的密码.

您可以在GitHub的帮助中找到有关此内容的更多信息.

Mac用户: 如果您的SourceTree继续要求输入密码,请转到终端并输入以下内容:

git config --global credential.helper osxkeychain
Run Code Online (Sandbox Code Playgroud)

  • 我必须执行的另一个步骤是 - 使用 `ssh -T git@github.com ` 这提示 - ` 无法确定主机“github.com”的真实性。RSA 密钥指纹是_________。您确定要继续连接吗(是/否)?` 之后按“是”使其工作。 (4认同)
  • 对我来说,这部分是有效的:git config --global credential.helper osxkeychain (3认同)
  • 我已经为此奋斗了一年多,但从未解决过这个问题。“git config --global credential.helper osxkeychain”。这就像一个魅力! (3认同)
  • **个人访问令牌**位于**设置**/**开发人员设置** (2认同)
  • “......并将其用作托管存储库中的密码”。如何? (2认同)

nah*_*g89 11

如果您启用了 2FA,要在 SourceTree 中使用,请遵循@Chris 的回答Personal Access Token,您需要在SourceTree > Preferences 中添加带有此令牌的 acc 并提供以下信息:

  • 身份验证类型:基本
  • 用户名:{your-github-account}
  • 密码:{您的个人访问令牌}
  • 协议:HTTPS

之后,您就可以克隆您的 Github 存储库。

在此处输入图片说明

  • 这样做了,仍然有问题,不断询问密码 (2认同)

Mar*_*arc 10

我正在使用 SSH 密钥,但 SourceTree 每次都问我密码。

在 Atlassian 社区上找到的这个解决方案对我有用:

  1. 打开终端,进入你的项目目录
  2. 类型 git config credential.helper store
  3. 类型 git pull
  4. 输入用户名/密码(如果询问)

瞧!


AEQ*_*AEQ 6

更新后我有类似的事情;我尝试重新添加我的 bitbucket 凭据,更改协议等,但没有运气,直到...

  1. 我打开我的钥匙串并在密码类别下搜索 bitbucket(可能与 github 相同,只需搜索 github)。

  2. 我发现我的用户有多个访问密钥,所以我关闭了我的存储库,删除了“应用程序密码”种类的所有键,打开了 SourceTree 首选项 > 帐户 > 删除了我的帐户并重新添加了它(照常登录 - 我使用带有 HTTPS 的 Basic)。

  3. 钥匙串要求获得保存密码的许可,我说是的,现在我只看到一个“应用程序密码”类型的钥匙。

我从 repo 浏览器打开了我的存储库,嘿,快了,没有密码弹出窗口了!

这困扰了我整整一周!如果这对你有帮助,你现在可以和我一起跳舞了 :)


A_0*_*_01 5

安德鲁·马吉尔 (Andrew Magill) 为我提供的解决方案,复制自来源:链接

问题在于 SourceTree 的嵌入式 Git 客户端带有 git-credential-manager v1.12,由于他们在其站点上禁用了 TLS 1.1,因此不再适用于 Github。您需要获取 git-credential-manager v1.14。最简单的方法是单独安装 Git 客户端的当前副本,然后切换 SourceTree 以使用它(“系统 git”)而不是其嵌入式客户端。或者,您可以通过使用 Microsoft 的最新版本替换其文件来更新嵌入式客户端中的 git-credential-manager。

  • 这是迄今为止对我有用的最简单的解决方案。 (2认同)