mac*_*mac 6 git ssh putty git-extensions
我有一个git存储库,我使用类似于此的路径拉取:
git pull ssh://username@host.com:1234/path/to/repository.git
Run Code Online (Sandbox Code Playgroud)
当GitExtensions然后尝试使用plink从repo中提取时,它会进行以下调用:
plink -T username@host.com:/path/to/repository.git
Run Code Online (Sandbox Code Playgroud)
这最终失败了,因为它实际上正在ping端口#22,而不是#1234.
正确的召唤将是
plink -T -P 1234 username@host.com:/path/to/repository.git
Run Code Online (Sandbox Code Playgroud)
如果我在〜/ .ssh/config中创建一个别名"hostCom",它似乎正常工作(连接到#1234),如果我这样做:
plink -T username@hostCom
Run Code Online (Sandbox Code Playgroud)
但是,只要我添加git repo的路径,它就会再次进入#22.
我尝试的另一个选项是在putty中创建一个会话,让我们称之为"hostPutty",并在那里设置默认端口等.尽管底线最终是相同的:无法将路径与git repo与自定义端口组合.
如何组合所有部件以使其工作?
为什么OpenSSH可以解决这个问题,但Putty不能解决?OpenSSH的唯一问题是它在每次连接尝试时一直要求我输入私钥的密码(我不想在没有密码的情况下创建私钥).
mac*_*mac 11
明白了.
这是让我走错路的原因:
以下是您如何使用它:
Run Code Online (Sandbox Code Playgroud)c:\>echo %GIT_SSH% C:\tools\PuTTY\plink.exe
在上面的示例中,使用"完整"命令来提取,不允许您不指定端口等的主机别名.如果端口丢失,并且只有一个冒号,git将其视为路径分隔符,并将ssh视为端口分隔符(因此它们每个都很糟糕).
git clone ssh://username@host.com:1234/path/to/repository.git
如果你这样做,Git + plink实际上可以解决问题!
如果你不这样做,你可能遇到各种各样的问题,如:
Run Code Online (Sandbox Code Playgroud)ssh.exe": hostPutty:path: no address associated with name fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)error: cannot spawn "C:\tools\PuTTY\plink.exe": No such file or directory fatal: unable to fork
| 归档时间: |
|
| 查看次数: |
7380 次 |
| 最近记录: |