SmartGit Hg“认证失败”

23
我使用SmartGit Hg已经几个月了,使用的是Bitbucket存储库。我创建了另一个Bitbucket账户,然后将当前存储库克隆到SmartGit中。但当我尝试提交和推送(需要输入密码)时,它显示“认证失败”。请帮忙解决,提前致谢。

你能否通过命令行推送代码到BitBucket? - mstrap
不,我还没有尝试过。 - Wylan Osorio
1
我在首选项中切换到“使用系统SSH客户端”,这对我起作用了。 - Igor Markelov
9个回答

27

这对我来说有效。 转到编辑>首选项>主机提供商。在您的主机提供商(以Bitbucket为例)选择它,单击删除,然后单击添加选择托管,单击生成API令牌会自动打开浏览器并生成令牌,然后复制回到您的 Smartgit,然后粘贴令牌,最后单击添加


谢谢!这对我有用。在Ubuntu 20.04.2 LTS上使用Github + Smartgit 20.2.4。 - Jeffery Petit
另外,从“编辑”>“首选项”>“身份验证”中删除凭据。这对我有效。 - Isuru Dilshan
这个已经可以工作了,不会再次请求用户/密码。 - Vasil Valchev
SmartGit 仍然要求输入密码 :( - endolith
检查您的令牌是否已过期,谢谢,伙计,它对我有用。 - Alejo Florez
1
对我没用。以前可以,但现在不行了。在令牌被复制到SmartGit之后,我会得到一个存储库列表。我选择我想要的那个,点击确定。几秒钟后,输出窗口会显示“添加远程存储库:使用OAuth进行身份验证失败;请检查您在首选项中的GitHub托管提供程序配置。” - Ted

20

在 SmartGit 上,提供的所有答案都未能解决我的问题。

我进入“编辑”->“首选项” ->“认证”,但已知凭据列表为空,托管提供程序列表也是空的。

原因是 SmartGit 将我的凭据存储在 Windows 凭据管理器中。

要解决此问题,我去了“控制面板”->“凭据管理器”->“Windows 凭据”,选择要更新的特定凭据,选择编辑,然后更新您的凭据。

在 Windows 凭据管理器中更改凭据


1
为了完成的缘故:我删除了凭据,然后SmartGit使用了我在首选项/托管提供商中存储的API密钥。 - Mathieu Dhondt
1
我在Windows凭据管理器中存储了一个git凭据。为了避免“找不到存储库”错误,我必须删除此凭据。然后,下一次尝试推送时,smartgit会弹出GitHub用户名/密码界面。但是随后,我立即收到一封电子邮件,说GitHub添加了一个新的个人访问令牌。这里发生的事情不是很清楚,因此更多的文档会有所帮助。 - Brian D
这是最终帮助我的唯一解决方案,我先尝试了所有其他方法,然后尝试了这个,它立即完成了任务。谢谢! - Ident

19

也许SmartGit记住了错误的账号凭据,无法在BitBucket上验证您的身份。 请前往编辑菜单 -> 首选项 -> 认证, 并删除失败的仓库的凭据。 下次推送时,SmartGit将要求您输入登录名和密码。


4
我无法获取输入凭据的对话框。 - yousafsajjad
1
我不在那里拥有这个代码库。 - Igor Markelov
4
由于某些原因,这不起作用。更新、删除然后重新添加凭据对我来说都没有用。我的解决方案如下。 - Jeremy
@Jeremy 你下面提供的解决方案完美地运行。 - JustRandom
它没有记住错误的凭据,重新输入将导致相同的结果。 - Vasil Valchev

2

重新安装的更简单方法,但您需要重新设置。

删除:c:\Users\{YOUR_USER_NAME}\AppData\Roaming\syntevo

重新启动SmartGit后,它可能会注意到凭据助手存在问题。如果是这样,请通过将以下内容添加到.gitconfig中来强制使用SmartGit。

"credential"部分:

[credential]
    helper = smartgit

[credential]
  helper=

该文件位于:c:\ Users \ {YOUR_USER_NAME} \ .gitconfig
重新启动SmartGit,执行PULL操作,它将提示您设置主密码。完成后,它将要求您输入项目凭据。
最初的回答已经被翻译成中文。

1
我在使用HTTPS进行Git身份验证时遇到了类似的错误,经过很长时间的挣扎后,我卸载了SmartGit并删除了SmartGit AppData文件夹中的所有内容。(在Windows上删除c:\ Users \ {YOUR_USER_NAME} \ AppData \ Roaming \ syntevo \ SmartGit)
重新安装后,一切正常。

0
在我的情况下,存储库URL的开头缺少myaccount@
在左侧窗格中选择并打开存储库后,我必须点击远程菜单,然后选择属性...
URL或路径字段中,我有类似于https://github.com/org/repo.git的内容,然后我将其修改为https://myaccount@github.com/org/repo.git。它要求输入我的密码,然后... bingo。

0

第一种解决方案仅在您禁用 Github 上的限制时才有效。

在 Github 中,在组织下:转到:第三方 => oAuth 应用程序 => 单击禁用限制


-1
我使用了这些SmartGit故障排除建议: http://www.syntevo.com/doc/pages/viewpage.action?pageId=6979745 具体来说,我只是从GIT-Shell工具中重新执行了每个源的pull/fetch。它起作用了,然后SmartGit开始正常接受凭据。
之前在这些线程建议中对我没有用,而且我也不想重新安装SmartGit。
在Git-Shell中:
1  git pull origin1 branch
2  git pull origin2 branch

-1
在我的情况下,这是由于SSH客户端的错误配置导致的。
SmartGit > 首选项 > 认证
更改:"使用Smartgit作为SSH客户端"为"使用系统SSH客户端"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接