我试图用 sourcetree 推送到 github 但得到以下错误:
git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin live_version:live_version remote:用户名或密码无效。致命:“https://github.com/myname/myrepo/”的身份验证失败推送到 https://github.com/myname/myrepo 已完成错误,请参见上文。
https://i.stack.imgur.com/pmZMm.png
工具 > 身份验证 > 我的 github 帐户
https://i.stack.imgur.com/c52yJ.png
认证成功
SourceTree has been successfully authenticated. You may now close this page.
它总是有效,但突然停止,我没有两因素身份验证。我尝试删除帐户并再次添加它无济于事。我怎样才能让连接再次工作,以便我可以将我的项目推送到 github。
源树版本 2.1.8.0
我找到了答案 here,这是 2.1.8+ 版本的已知错误
以下步骤为我修复了它:
Tools > Options > Git > Update Embedded Git
也可以使用命令行推送。
编辑
还添加@Latisha的答案:
1. Do the above.
2. Close Sourcetree
3. Delete AppData\Local\Atlassian\SourceTree\passwd
4. Restart SourceTree
我为此苦苦挣扎,在我的 Mac 上为我解决的问题是:
打开查找器,单击 Cmd + Shift + g
进入~/库/
转到应用程序支持/SourceTree 文件夹
删除用户名@STAuth-bitbucket.org
打开钥匙串访问
搜索源树
删除“登录”项
从 bitbucket 克隆您的源
KeyChain 将要求您提供 bitbucket 通行证
我对 Sourcetree 2.10 有同样的问题,但上述解决方案不起作用。
恢复到 2.0 版解决了它。
Sourcetree 下载存档:(https://www.sourcetreeapp.com/download-archives)
我在更新 Embedded Git
时遇到了这个问题。通过删除 passwd 文件解决了它。你可以在这里找到它。然后重新启动源代码树。
AppData\Local\Atlassian\SourceTree\passwd
对于 OSX,请按照以下步骤操作
https://i.stack.imgur.com/xZfom.png
我刚刚通过使用访问令牌解决了这个问题。我使用macbook,上面的所有答案都对我不起作用。转到您的 github 帐户,单击右上角的个人资料图片,然后单击:
设置 -> 开发人员设置 -> 个人访问令牌 -> 生成新令牌
将此令牌粘贴到 sourcetree 弹出窗口中,需要密码区域,而不是输入您的帐户密码。 Github 使用两步验证,因此您需要使用令牌而不是帐户密码。祝你好运!让我知道这是否适合您。
我有同样的问题,我重新登录帐户为我解决了这个错误。
在工具\选项对话框中删除您保存的帐户。再次推或拉,SourceTree 将要求您输入登录名和密码。
这在 Mac 上对我有用
转到首选项-> Git 使用系统 Git
我有同样的问题,我通过安装最新版本的 git for windows 来解决它
对于使用嵌入式 git 的 macOS 的 SourceTree 2.7.6,我遵循了所有建议的答案,但仍然遇到同样的问题。
我的解决方案是关闭两因素身份验证。
显然不理想,但有时你只需要完成你的工作。
在 Windows 上尝试:
工具>选项>身份验证-从Git保存的密码中删除您的问题回购数据(例如login@repo.com)选择带有问题回购的选项卡。打开终端并执行一些 git 命令(例如 git pull origin),系统会询问您登录名和密码。输入正确的登录名和密码。登录名和密码将更新,一切正常。
我在推送时输入了错误的用户名(电子邮件地址),对我有用的是:
打开 KeyChain Access 搜索 SourcTree 删除“登录”项
然后转到 Sourcetree > Preferences > Advanced 并删除包含错误电子邮件地址的默认用户名。
就我而言,这发生在我在 GitHub 上切换到 OAuth 后,我的两台计算机中的一台上。错误消息指的是位于 AppData\Local\Atlassian\SourceTree\git_extras 中的 git-credential-manager.exe。我注意到我的工作机器上的版本是 2018 年的,而非工作机器上的版本是 2017 年的。两者都运行最新版本的 SourceTree (3.0.17)。这就是我为使其工作所做的工作:
卸载 SourceTree 因为这没有删除 AppData\Local\Atlassian\SourceTree,所以我手动删除了整个目录 将 git 更新到最新版本(整洁:>git update-git-for-windows) - 可能没有必要,但无论如何都是个好主意- 安装的 SourceTree 添加了现有的本地 repos Fetch - 最后,在输入用户名和密码(两次,如果有记忆的话)后,我被要求提供 OAuth 令牌。耶!
令人惊讶的是, AppData\Local\Atlassian\SourceTree\git_extras 已创建,但现在为空......
Sourcetree 将用户名保存在以下文件中。在此文件中更改您的用户名并重新启动您的 sourcetree 应用程序
C:\Users\{USER}\AppData\Local\Atlassian\SourceTree\userhosts
或者在克隆 URL 中使用您的用户名。这将使 sourcetree 为新用户请求密码
https://{user}@bitbucket.org
我的设置
视窗 10
源树 3.4.5
对我有用的是一些现有答案的组合
在工具 > 首选项中使用系统 Git。
在工具 > 首选项中删除现有帐户凭据。
重新启动源树。
使用 git push/pull 从命令行 git 执行完整的凭据检查,输入完整凭据一次,然后返回 Sourcetree 重试。
这可能是个人访问令牌过期的简单情况。
对于 Mac 用户:
转到首选项▶︎高级菜单并删除要重置的主机名。
之后,您可以在需要时重新输入您的用户名和密码
我在 Sourcetree 应用程序中遇到了同样的错误,经过一些更改(将 git 和 Sourcetree 应用程序更新到最新版本并删除 AppData\Local\Atlassian\SourceTree\passwd)当我想登录时看到此消息。
远程:Bitbucket Cloud 最近停止支持用于 Git 身份验证的帐户密码。
祝你好运!让我知道这是否适合您。
远程:有关详细信息,请参阅我们的社区帖子:https://atlassian.community/t5/x/x/ba-p/1948231
远程:对于大多数用例,建议使用应用程序密码,并且可以在您的个人设置中创建:
远程:https://bitbucket.org/account/settings/app-passwords/
创建应用密码
创建应用密码:
从左下角的头像中,单击个人设置。单击访问管理下的应用程序密码。单击创建应用密码。为应用程序密码指定一个与将使用该密码的应用程序相关的名称。选择您希望此应用程序密码具有的特定访问权限和权限。复制生成的密码并将其记录或粘贴到您要授予访问权限的应用程序中。密码仅显示一次。
将应用程序密码添加到 Sourcetree 或其他应用程序
要将您的应用密码添加到 Sourcetree:
转到您将添加或编辑帐户详细信息的选项卡: (Windows) 转到工具 > 选项。从“选项”对话框中,选择“身份验证”选项卡。 (macOS) 转到 Sourcetree > 首选项。从选项对话框中,选择“帐户”选项卡。单击以编辑您的帐户详细信息或添加新帐户。从身份验证或身份验证类型中,选择基本并输入您的用户名(如果尚未存在)。输入您刚刚创建的应用程序密码作为您的密码。如果您使用的是 Windows,则需要先点击“刷新密码”。单击确定或保存以保存您的帐户详细信息。
要将您的应用程序密码添加到另一个应用程序,请参阅应用程序的文档以了解如何应用应用程序密码。
Sourcetree > Preferences > Git > Use System Git
上。