繁体   English   中英

SourceTree GUI 无法推送,终端可以推送

[英]SourceTree GUI can't push, terminal can push

以下问题:当我提交内容时,我无法通过单击 GUI 按钮来推送它们,我收到此错误消息:

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin master:master 推送到 ssh://xxxxx@git.mydomain.de/srv/git/MyFolder/MyProject.git

致命:无法从远程存储库读取。

请确保您拥有正确的访问权限并且存储库存在。

当我从此错误消息中复制完全相同的命令并单击“终端”按钮并将其粘贴到那里时,它按预期工作,没有任何错误。

我做错了什么?

我猜 SourceTree 无法从远程存储库读取,因为它无法对您进行身份验证。

确保 SourceTree 可以访问您的 ssh 密钥。 您可以使用pagent来做到这一点。

通过将“ SSH 客户端配置”更改为OpenSSH并设置您的id_dsa ,它将被修复(应首先创建 SSH 密钥并将其添加到 gitlab)。


转到Tools -> Options -> General :在SSH 客户端配置中将SSH 客户设置为OpenSSH ,为SSH 密钥选择您的id_dsa

如果您不使用 SSH,则另一种解决方案是通过 github 的配置文件下拉菜单 > 设置 > 开发人员设置 > 个人访问令牌创建个人访问令牌。

在那里您可以允许您想要使用的所有权限。 然后在 Sourcetree 应用程序中,转到您拥有 Github 帐户的位置,对其进行编辑,为 Auth Type 选择 basic 并粘贴您从 Github 获得的个人访问令牌,然后单击保存。 现在尝试您想要的以前不起作用的 git 操作,它现在应该可以工作了,因为现在您将能够通过 Github 进行身份验证。

我遇到了同样的问题,即未通过身份验证并需要创建此访问令牌,因为错误表明 Sourcetree 有更新,并且我无法像以前一样使用我的 Github 密码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM