我正在尝试使用sourcetree通过bitbucket上的https协议推送我的项目 但是我无法使用我的登录名和密码(在网站上工作)连接到bitbucket,我有一个致命的错误:“身份验证失败”。
我在其他帖子上看到我可以使用ssh协议而不是https来解决问题,所以我按照source tree faq上的说明设置了一个ssh密钥。 但是现在我不知道如何在我想要推送代码时更改为ssh协议。 有人知道我怎么做到这一点? 谢谢。
答案 0 :(得分:100)
如果您在使用GIT控制台时遇到身份验证问题,可以尝试以这种方式验证身份:
https://<username>:<password>@bitbucket.org/<username>/<repo>.git
答案 1 :(得分:41)
我最近在SourceTree上遇到了类似的问题:每当我尝试向/从远程源推送/提取/取出时,我都会收到身份验证错误(使用带Stash的SourceTree)。有时我会用CAPTCHA在Stash中挑战,但如果我提供了正确的信息,它就永远不会有所作为。
对我来说,我们在企业环境中使用SourceTree和Stash;用户帐户基于网络凭据。我们网络安全的一部分要求我们定期更改这些密码。
我的假设是SourceTree / Stash是&#34;意识到&#34;对我的网络密码所做的任何更改。但显然 - 至少在这种情况下 - 它不是。
要解决,我需要做的就是:
工具&gt;选项&gt;身份验证&gt;编辑(编辑密码)
我设置密码以匹配我当前的网络密码,一切都按预期开始工作。
不确定这是否有助于OP,但我希望它可以帮助其他人寻找类似问题的答案。
答案 2 :(得分:19)
工具 - &gt;选项 - &gt; git并选择'use system git'为我带来了魔力。
答案 3 :(得分:16)
我通过编辑 OS X Keychain 中的存储值解决了这个问题:我查找了"bitbucket"
(作为应用程序密码)并更改了值。
然后在 Sourcetree 上,当我尝试推送时,我直接不得不重新输入我的新密码。
答案 4 :(得分:10)
更改存储库密码后,问题已解决,没有使用特殊字符(!“§$%&amp;&amp;)。
显然,win-credential-store和git and bitbucket的web界面使用不同的字符编码。
完整程序:
D:\shared\Project> cd /path/to/your/project
D:\shared\Project> git init
D:\shared\Project> git remote add origin https://bitbucket.org/USERNAME/project.git
D:\shared\Project> git-credential-winstore.exe
然后
D:\shared\Project> git push
Failed to erase credential: Element not found
fatal: Authentication failed for 'https://bitbucket.org/USERNAME/project.git/'
更改密码后:
D:\shared\Project> git push
Counting objects: 102, done.
Delta compression using up to 8 threads.
... etc. ...
Windows tresory中的设置:
address: git:bitbucket.org (remeber the preceding "git:")
user: USERNAME
pass: old incl!"§§$%&, new without!"§$%%&/( (your passphrase!)
答案 5 :(得分:5)
答案 6 :(得分:4)
我遇到了同样的问题。它与Git for Windows中的错误有关。对我来说,将SourceTree中使用的Git更改为嵌入式Git就足够了:
工具 - &gt;选项 - &gt; Git并点击按钮&#39;使用嵌入式Git&#39;
答案 7 :(得分:3)
我尝试了其他一切并发现无助但这确实对我有用“要更新您的凭据,请转到控制面板 - &gt;凭据管理器 - &gt;通用凭据。找到与您相关的凭据git帐户并编辑它们以使用更新的密码“。
以上解决方案在此链接中找到: https://cmatskas.com/how-to-update-your-git-credentials-on-windows/
答案 8 :(得分:2)
如果您使用google / other oauth创建了帐户,则需要先为您的帐户设置bitbucket密码。其URL是: https://bitbucket.org/account/user/ /或在菜单下查找Bitbucket设置。
然后可以从git登录(我尝试通过命令行)。我使用内置管理器获取凭据:
credential.helper =管理器
现在,我在bitbucket网站上设置了密码(也验证了电子邮件),并尝试再次推送,它提示我输入密码,然后按下代码。
bitbucket网页上的菜单位置图片 - &gt; http://ctrlv.in/747291截至2016年5月。
答案 9 :(得分:2)
答案 10 :(得分:1)
在Mac上,我需要转到Preferences > Accounts
,然后添加一个新帐户Bitbucket Server
并输入我公司的bitbucket服务器网址。然后我必须选择HTTPS
作为协议并输入我的用户名(不带@email)和密码。
此外,我点击Set Default...
页面底部的Preferences > Account
按钮,将此新帐户设为默认帐户。
答案 11 :(得分:1)
Windows启动菜单,搜索Windows凭据管理器。搜索bitbucket网址,尝试在那里更新密码。然后再次执行git操作。应该可以。
答案 12 :(得分:1)
发生此问题的原因是您的git帐户的密码和您的PC可能不同。因此,请包含您的用户名,如以下示例所示:
https://myusername@bitbucket.org/...
https: //devi@bitbucket.org/...
答案 13 :(得分:1)
我遇到了同样的问题。您需要在bitbucket设置中为sourcetree添加应用密码。点击菜单中的“Bitbucket设置”,App密码,创建应用密码。然后转到SourceTree并编辑您保存的密码
答案 14 :(得分:0)
答案 15 :(得分:0)
与之抗争了很长时间之后,似乎我发现了一些可行的方法。我正在优化网址以不包括用户名(请尽可能使用通用名称),但是身份验证对话框不断弹出:
我尝试了所有想到的事情,例如:
无论我使用了什么工具(包括SourceTree),都无济于事。服务器不断返回:“创建应用程序密码”
基本上您必须
如果服务器在响应中返回此消息而不是建议使用应用程序密码...
答案 16 :(得分:0)
对于 Mac 用户。在源代码树上设置了默认帐户,该帐户不允许我克隆Url,因为我当前的Url具有不同的bitbucket帐户。因此,它显示无效的源路径,然后我单击高级选项,发现对your_clone_url的身份验证失败。因此,请按照以下步骤
此处将显示您的帐户列表。只需点击底部的添加按钮,然后添加您的Bitbucket帐户详细信息。它将在“帐户”标签下列出您的帐户。您还可以通过点击底部的 Set Default .. 按钮来设置默认帐户。现在一切都完成了。
答案 17 :(得分:0)
以上都不适合我 - 问题出在我的Sourcetree偏好设置中。在“网络”标签中,我在那里设置了“URL的默认用户名”,其中不包含一个:&#39;。用户名不正确之前我输错了 - 我把它设置为我的电子邮件而不是用户名。我突出显示了条目,然后单击“删除”。然后我返回到我的存储库页面并再次单击Push。在推送时,它问我完整的用户名和密码,我能够正确输入 - 推送然后终于工作了。
答案 18 :(得分:0)
我尝试了这里给出的几乎所有解决方案。
为我工作的是我打开了GIT GUI,然后在其中尝试了Push。要求输入凭据的用户,输入正确的用户名和密码,它将再次开始工作。
答案 19 :(得分:0)
我正在使用以下命令
git clone -b branch-name https://<username>@bitbucket.org/<repository>.git
使用用户名添加密码后问题得到解决(请参见以下命令):
git clone -b branch-name https://<username>:<password>@bitbucket.org/<repository>.git
答案 20 :(得分:0)
我已通过在MacOS中执行以下步骤解决了该问题。
答案 21 :(得分:0)
在Windows中这对我有用
git config --global http.sslVerify false
答案 22 :(得分:0)
答案 23 :(得分:0)
域的密码重置发生了同样的问题。
我尝试了几乎所有的步骤
(工具>选项>身份验证)。
但是没有任何效果。终于,我从Atlassian社区页面得到了下面的答案,并且有效。
对我来说唯一有效的方法是导航到C:\ Users \ USERNAME \ AppData \ Local \ Atlassian \ SourceTree并删除passwd文件
一旦该文件被删除,我就做了一个“推送”,最后它要求输入密码
答案 24 :(得分:0)
答案 25 :(得分:0)
我正在尝试git push --all bitbucket
调用,但它返回了“致命:'https:// ...”身份验证失败的响应。对我有用的解决方案是将命令更改为:
git push --all https://{username}@{url}
在Windows上,这会弹出一个对话框,允许我输入密码,然后按下即可。
答案 26 :(得分:0)
删除 Sourcetree 密码缓存文件对我有用。导航到 C:\Users\USERNAME\AppData\Local\Atlassian\SourceTree 并删除(或重命名)名为 passwd 的文件。重新启动 SourceTree 并执行需要身份验证的命令(例如 Pull、Push 等)。然后,SourceTree 会提示您输入密码,重写缓存的凭据。