Gitkraken 与 SSH 到 Gitlab

Posted

技术标签:

【中文标题】Gitkraken 与 SSH 到 Gitlab【英文标题】:Gitkraken with SSH to Gitlab 【发布时间】:2017-01-17 19:48:55 【问题描述】:

我一直很难让身份验证与 ssh 密钥一起使用(不想每次都提示用户并通过)。此问题的配置选项/教程很少/不存在。

这里是设置:

我相信来自 Gitlab 的 repo 是用 https 添加的,找不到方法来改变它,不知道它是否重要。

我正在使用 git-bash 运行 Windows 10,并按照 Github 上的教程生成密钥并将它们添加到 ssh-agent。在我的 gitlab 配置文件中添加了公共的,并且可以成功“ssh -T git@gitlab.com”。

弄乱了 .gitkraken 中的配置文件,并将 ssh 密钥的路径更改为:“useLocalAgent”:true、“privateKey”:“C:\Users\mendo\.ssh\id_rsa”、“publicKey”: "C:\Users\mendo\.ssh\id_rsa.pub"。 当我执行拉取操作时,总是提示我插入用户名并通过(即使我从 git-bash 启动了 ssh-agent 进程)。

不知道我如何解决这个问题,所以你们可以提供的任何帮助将不胜感激。 此外,在应用程序或在线中找不到从应用程序中删除/删除存储库的单一方法(我希望这不是很明显,我在自欺欺人)。

提前感谢您的帮助!

最好, 迪奥戈

【问题讨论】:

【参考方案1】:

如果 repo 是使用 HTTPS 克隆的,则不会更改 SSH 设置。您首先必须更改遥控器的 URL。幸运的是,您可以在 GitKraken 中执行此操作。

首先,您应该导航到 GitKraken 中的存储库。

    在左侧面板中展开远程组(由云表示)。 此面板可能已隐藏,如果是这样,您需要点击左上角文件夹图标下方应显示的向右箭头符号。

1

    扩展远​​程组后,您应该会看到一个名为 Origin 的源。将鼠标悬停在该项目上会显示一个垂直的“...”,即选项按钮。

    单击选项并选择“编辑原点”。这将打开一个子窗口,其中有两个可以编辑的文本框。推拉网址。将这些从 https://gitlab.com/user/repo.git 切换到 git@gitlab.com:user/repo.git

完成这些步骤后,您就可以开始更改 GitKraken 的 ssh 设置了。在 Windows 中,如果您不使用 Pagent(来自 PuTTY),则不应在 GitKraken 中选择“使用本地代理”。如果没有 Pagent,您一次只能使用一个键,并在需要更改键时更​​改设置。

如果您想使用命令行来更改 URL,您可以在 repo 的根目录中运行 git-bash 等效于 git remote set-url git@gitlab.com:user/repo.git

PS:抱歉,我无法将图像直接嵌入到我的答案中,还没有足够的业力。额外链接也一样。

【讨论】:

本地代理部分here 有更多关于细节的信息。【参考方案2】:

尝试将其添加到您的 git bash 中:

git config --global user.name="yourUserName"
git config --global user.email="your@email.com"

【讨论】:

感谢您的帮助,但没有成功。重新启动 ssh-agent 和 gitkraken 但它仍然没有工作。我相信我在某处读到 Gitkraken 根据我在程序中使用的配置文件设置这些属性。 哦,好吧,但我可以知道你为什么使用 gitkraken 吗?有什么原因吗? 想要从 SourceTree 进行更改,并且 UI 和易用性都非常酷。

以上是关于Gitkraken 与 SSH 到 Gitlab的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 GitKraken 将标签推送到 Github

GitKraken 与 GitLab 与大学登录的集成

GitKraken与GitLab在大学登录时整合

Git图形化工具

将 GitKraken 与子目录上的大学自托管 GitLab 集成

使用Gitkraken进行其他Git操作