我正在尝试使用sourcetree通过bitbucket上的https协议推送我的项目。
但是我无法使用我的登录名和密码(可在网站上使用)连接到bitbucket,但出现致命错误:“身份验证失败”。
我读过其他文章,我可以使用ssh协议而不是https来解决此问题,因此我按照源树常见问题解答上的说明设置了ssh密钥。但是现在我不知道要推送代码时如何更改为ssh协议。有人知道我该怎么做吗?谢谢。
我正在尝试使用sourcetree通过bitbucket上的https协议推送我的项目。
但是我无法使用我的登录名和密码(可在网站上使用)连接到bitbucket,但出现致命错误:“身份验证失败”。
我读过其他文章,我可以使用ssh协议而不是https来解决此问题,因此我按照源树常见问题解答上的说明设置了ssh密钥。但是现在我不知道要推送代码时如何更改为ssh协议。有人知道我该怎么做吗?谢谢。
Answers:
如果您在GIT控制台上遇到身份验证问题,可以尝试通过以下方式进行身份验证:
https://<username>:<password>@bitbucket.org/<username>/<repo>.git
git remote set-url origin https://<username>:<password>@bitbucket.org/<username>/<repo>.git
。
最近,我在SourceTree上遇到了类似的问题:每当我尝试向/从远程源推入/拉出/提取时,都会收到身份验证错误(将SourceTree与Stash结合使用)。有时,在Stash中使用CAPTCHA可能会给我带来挑战,但是无论我是否提供正确的信息,这都没有改变。
对我来说,我们在公司环境中使用SourceTree和Stash。用户帐户基于网络凭据。我们网络安全的一部分要求我们定期更改这些密码。
我以SourceTree / Stash可以“知道”对网络密码所做的任何更改为前提进行操作。但是显然-至少在这种情况下-并非如此。
要修复,我需要做的是:
工具>选项>身份验证>编辑(编辑密码)
我将密码设置为与当前的网络密码匹配,并且一切都按预期开始工作。
不确定这是否对OP有所帮助,但我希望它可以帮助其他人寻找类似问题的答案。
我尝试了一切,发现无奈,但这确实是为我工作“要更新您的凭据,进入控制面板- >凭据管理器- >通用证书。找一个与你的git帐户和编辑它们使用更新密码的凭据”。
在此链接中找到的“以上解决方案”:https : //cmatskas.com/how-to-update-your-git-credentials-on-windows/
我通过编辑OS X钥匙串中的存储值解决了该问题:我寻找了"bitbucket"
(作为Application password)并更改了该值。
然后在Sourcetree上,当我尝试推送时,我直接不得不重新输入新密码。
更改存储库密码后,不使用任何特殊字符(!“§$%&&)为我解决了该问题。
显然,win-credential-store和git和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!)
Windows启动菜单,搜索Windows凭据管理器。搜索bitbucket网址,尝试在那里更新密码。然后再次执行git操作。它应该工作。
如果您使用google /其他oauth制作了帐户,则需要先为帐户设置一个位桶密码。该网址为:https : //bitbucket.org/account/user/ /或在菜单下查找Bitbucket设置。
然后可以从git登录(我通过命令行尝试过)。我使用内置管理器获取凭据:
credential.helper =经理
现在,当我在bitbucket网站上设置密码(也通过电子邮件验证)并尝试再次输入密码后,它提示我输入密码,然后输入密码。
截至2016年5月,bitbucket网页上的菜单位置图像-> http://ctrlv.in/747291。
我有同样的问题。您需要在bitbucket设置中为sourcetree添加应用密码。点击菜单中的“ Bitbucket设置”,进入应用密码,创建应用密码。然后转到SourceTree并编辑您保存的密码
与之抗争了很长时间之后,似乎我发现了一些可行的方法。我正在优化网址以不包括用户名(将其保留为通用名称),但是身份验证对话框不断弹出:
我尝试了所有想到的方法,例如:
无论我使用了什么工具(包括SourceTree),都无济于事。服务器不断返回:“创建应用程序密码”
基本上你必须
如果服务器将在响应中返回此密码,而不是建议使用应用程序密码,那将非常好...
发生此问题的原因是您的git帐户和PC的密码可能不同。因此,请包含您的用户名,如以下示例所示:
https://myusername@bitbucket.org/...
https: //devi@bitbucket.org/...
我尝试了这里给出的几乎所有解决方案。
对我有用的是我打开了GIT GUI,并在其中尝试了Push。要求输入凭据,输入正确的用户名和密码,它将再次开始工作。
我正在使用以下命令
git clone -b branch-name https://<username>@bitbucket.org/<repository>.git
使用用户名添加密码后,问题得到解决(请参见以下命令):
git clone -b branch-name https://<username>:<password>@bitbucket.org/<repository>.git
当域重置密码时,我遇到了同样的问题。我尝试了
(工具>选项>身份验证)中的几乎所有步骤。但是没有任何效果。最后,我从Atlassian社区页面得到了下面的答案,它奏效了。
对我唯一有效的方法是导航到C:\ Users \ USERNAME \ AppData \ Local \ Atlassian \ SourceTree并删除passwd文件
删除该文件后,我只是执行了“推送”操作,最后要求输入密码