我发现了GitKraken,它看起来很酷,并且与SourceTree不同的是,我从未遇到过index.lock的问题。唯一的问题是我无法将内容推送到位于另一个房间的服务器上。我已经配置了我的ssh密钥。我可以向github/bitbucket帐户推送/拉取,但无法在隔壁房间推拉。如果你曾遇到过这样的问题,或者你有一点点关于如何解决我的问题的想法,请让我知道。我已经联系了支持团队,但回复非常少。
我发现了GitKraken,它看起来很酷,并且与SourceTree不同的是,我从未遇到过index.lock的问题。唯一的问题是我无法将内容推送到位于另一个房间的服务器上。我已经配置了我的ssh密钥。我可以向github/bitbucket帐户推送/拉取,但无法在隔壁房间推拉。如果你曾遇到过这样的问题,或者你有一点点关于如何解决我的问题的想法,请让我知道。我已经联系了支持团队,但回复非常少。
看起来在我的 Mac 上,如果我不运行ssh-add -k ~/.ssh/id_rsa
,那么我会得到关于 SSH 密钥不良的错误。
这在 Ubuntu(18.04)上似乎也有效。
.bash_profile
中
alias shitkraken="ssh-add -k ~/.ssh/id_rsa"
不用谢。 - Valstormssh-add -K ~/.ssh/id_rsa
直接放入您的 ~/.bash_profile 文件中,这样它就会自动加载。 - Jim AhoK
解决了我的问题。 - Rugen Heidbuchelssh-keygen
生成密钥。我提供了一个密码。ssh-add -K ~/.ssh/id_rsa
将我的身份保存在本地 ssh 代理中。 这很重要。请注意,这是大写的-K,这意味着我想将我的密码也存储在本地 ssh 代理中,这将导致它 将我的密码存储在钥匙串中,因此我不需要一直重新输入它,非常方便!~/.ssh/id_rsa.pub
公钥添加到您的服务器 (bitbucket.org、azure devops、github 或其他)。git fetch
或者从 Gitkraken 执行 git fetch 时,都应该可以正常工作。Gitkraken 将使用您计算机自己的 ssh 代理,我们已经配置成功进行身份验证。希望这对您有所帮助。
更新:我还必须在我的~/.bash_profile
中包含ssh-add -K ~/.ssh/id_rsa
,以使其自动加载,否则您将不得不在每次计算机重启时运行该命令。
在macOS上,我有一个私钥/公钥对,GitKraken已成功使用它向Bitbucket存储库推送代码。 公钥文件~/.ssh/id_rsa.pub的格式类似于Josh Patterson的答案:
ssh-rsa AAAAB3NzaC1yc2...8swZ0Ew==
我创建了第二个Bitbucket仓库。然而,GitKraken在某一时刻无法再将代码推送到第一个仓库了。但是,我仍可以通过终端命令行手动输入密码来推送代码至第一个仓库。
GitKraken显示“配置的SSH密钥格式无效。请确保您的密钥有效并且是RSA类型的密钥。”
与Coming Sun的回答类似,我进入了GitKraken首选项/身份验证/通用设置。不同之处在于我已经有了公钥/私钥,并且不想生成新的一对。相反,我选择了“使用本地SSH代理”。这为我解决了GitKraken问题。
我通过结合gabeios的答案和打开/关闭“使用本地ssh代理”选项(gitkraken首选项 > 认证 > 'use local ssh agent')使我的工作正常运行。
我先关闭了它并尝试了gabeios的答案,但它没有起作用,然后再次打开并尝试了gabeios的答案。由于某种原因,这两种方法的结合对我起作用了。我在mac上。希望对你有所帮助。
如果这对别人有帮助的话(或者等我自己忘了再来看),GIT Kraken 对其公钥格式非常挑剔,并且不支持我认为的标准格式。我通常会看到类似于下面这样的密钥:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20181204"
AAAAB3NzaC1yc2EAAAABJQAAAQEA5kpsxjtSZ4kMyKIBy0ASQShN/BSAEa7d4lrL
...
hA2TX0L2fLKDkpzCngkDgGbLDxj5dXTN4gpnZdr7lzMciFQu0uhfTLmeYgi1nFOi
KfJ+cQWg3uOHQ0zd8/2GyvfARWy3nZDFoLSQTrbErkX8swZ0Ew==
---- END SSH2 PUBLIC KEY ----
ssh-rsa AAAAB3NzaC1yc2...8swZ0Ew==
偏好设置... > 认证
我刚刚不得不切换到
[ ] 使用本地SSH代理
而不是使用我的本地ssh路径
(Setting -> Manage Access)