2014-10-10 80 views
0

我已阅读Configuring Git over SSH to login once。 Muein Muzamil的回答说,使用SSH,我们必须配置如下:为什么Git Shell可以使用带有HTTP远程起始URL的SSH?

[email protected]:your_username/your_project.git

这就是说,在正常的Windows PowerShell,SSH不使用HTTPS工作。

Windows的GitHub附带了Git Shell。这是一个强大的PowerShell,具有一些奇特的功能,包括能够使用SSH与HTTP。我知道这是因为我刚刚运行git push而无需进行身份验证,然后运行git config -l以查看我正在使用HTTPS作为远程原始URL。

为什么正常的Windows PowerShell需要[email protected]协议,而Git Shell不需要?

回答

2

的Windows PowerShell,SSH不使用HTTPS

这是没有意义的工作:您正在使用ssh或您使用的是HTTPS(带有SSL的HTTP)。一个“不适用于”另一个。

G4W (GitHub for Windows)拥有您的GitHub帐户凭据,因此它可以使用https网址。

msysgit/Git for Windows定期Git的外壳可以使用HTTPS或SSH的,但对于SSH,你需要确保:

+0

“G4W ...有您的GitHub帐户信息,因此它可以使用... HTTPS。”这回答了我的问题。 – 2014-10-10 20:59:45

+0

后续问题(可能属于自己的SO问题):*为什么GitHub for Windows(G4W)创建一个SSH密钥?*安装后,有一个'〜\ .ssh \ github_rsa'键及其''。 pub'。 G4W是否曾经使用过这种方式,或者是否总是使用HTTPS?我自己的感觉是,GFW在通过'git @ github.com'协议进行通信时使用SSH密钥,否则使用用户名和密码,并且我们可以使用'git remote set-url origin '命令手动控制此密钥。 – 2014-10-10 21:02:48

+0

你在想什么可能是对的,但'git @ github.com'不是一个协议,ssh是。 Git创建ssh密钥以通过ssh进行身份验证。认证后,您可以推/拉。 – dennisschagt 2014-10-10 23:42:12

相关问题