小智
8
虽然我不完全确定这是最适合这个答案的地方,但我相信这是其他人在面临试图通过VCS连接到GTPLab的PHPStorm(或者,真的,任何JetBrains)时最有可能的地方IDE).
话虽这么说,我遇到的问题与OP非常相似 - 在运行Git Bash时,我没有任何问题通过SSH连接到Git Lab.但是,当尝试通过Git与PHPStorm的VCS连接时,它会永久挂起.
对于前驱,我自己的发现与那些在Windows上运行JetBrain IDE的人有所不同.
解决方案是:
- 首先,您必须(显然)为您的GitLab用户帐户创建并注册了SSH密钥.
- 正如@ Spero.ShiroPetto所提到的,PHPStorm确实利用SSH密钥的标准$ HOME/.ssh目录.所以:
- 确保您的新生成的密钥文件可从主目录中的.ssh文件夹中获得.
- PHPStorm还对这些文件使用标准命名约定,因此为了简单起见,请将这些命名为"id_rsa"和"id_rsa.pub".
- (可选)最好还为SSH密钥创建配置文件.如果您需要有多个密钥,这将有所帮助.如果您使用的是非标准SSH端口,或者如果存在与服务器连接相关的其他非标准参数,那么这是必须的.
- 现在,您已准备好打开PHPStorm,但在此之前,请确保以管理员身份运行它.这是必要的,因为当使用VCS for Git时,PHPStorm会在临时目录中创建一个批处理文件.此文件必须可以写入PHPStorm,这最简单的方法是以管理员身份运行应用程序.
- 最后,在尝试从GitLab服务器测试/克隆repo之前,您需要将Git设置为在访问Git时使用它的内置SSH可执行文件.所以:
- 打开PHPStorm的设置(文件 - >设置或Ctrl + Alt + S)
- 展开"项目设置"中的"版本控制"部分,然后选择Git
- 确保SSH-Executable设置为"Built-in".(当你在这里时,你也可以确保Git可执行文件也设置正确.你可以点击Test按钮来验证这一点)
如果像OP和我一样,你之前已经能够通过Git Bash连接,那么此时你应该可以连接并使用VCS来满足你的Git需求.