是否可以从git remote的URL中删除“ ssh://”?


8

我习惯于创建一些手动存储库,以将代码推送到我的宠物服务器或在公司内部共享代码。我使用URL ssh://user@ip/folder.git作为远程添加到我的工作区。

我想知道GitHub之类的服务如何在没有协议规范的情况下设置存储库URL,例如git@github.com:igorsantos07/Restler.git


2
git@github.com:igorsantos07/Restler.gitssh://git@github.com:igorsantos07/Restler.git
pho14

那不是我的问题,伙计!
igorsantos14年

Answers:


6

如果您看一下可在此处访问的Git书:4.1服务器上的Git-协议提到了Git接受的协议的各种格式。

摘抄

Git最常见的传输协议可能是SSH。这是因为大多数地方已经设置了对服务器的SSH访问,如果没有,则很容易做到。SSH也是唯一可以轻松读取和写入的基于网络的协议。其他两个网络协议(HTTP和Git)通常是只读的,因此即使您可以将它们用于未清洗的群,您仍然需要SSH来编写自己的写命令。SSH也是经过身份验证的网络协议;而且由于它无处不在,因此通常易于设置和使用。

要通过SSH克隆Git存储库,您可以指定ssh:// URL,如下所示:

  $ git clone ssh://user@server/project.git

或者,您可以将较短的类似于scp的语法用于SSH协议:

  $ git clone user@server:project.git

您也不能指定用户,并且Git假定您当前以该用户身份登录。

诸如GitHub之类的服务在访问存储库方面还具有其他技巧,方法是实质上使用HTTP包装访问,然后在HTTP服务器的后端发出正确的协议。通常将其作为某种反向代理来完成。可以使用的具有上述某些功能的产品称为Gitolite(TOCIntro)以及Gitorious


哎呀!“较短的类似scp的语法”确实回答了我的问题。那就是我想要的,但我没有注意到那里有一个可隆。谢谢!
igorsantos14年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.