我习惯于创建一些手动创建的存储库,以将代码推送到我的宠物服务器或在我的公司内部共享代码。我使用 URLssh://user@ip/folder.git
作为遥控器添加到我的工作区。
我想知道像 GitHub 这样的服务如何在没有协议规范的情况下设置存储库 URL,例如[email protected]:igorsantos07/Restler.git
.
答案1
如果您查看此处的 Git 书籍:4.1 服务器上的 Git - 协议其中提到了 Git 将接受的协议的各种格式。
摘抄
Git 最常见的传输协议可能是 SSH。这是因为大多数地方都已经设置了对服务器的 SSH 访问 — 如果没有设置,也很容易做到。 SSH 也是唯一可以轻松读取和写入的基于网络的协议。其他两个网络协议(HTTP 和 Git)通常是只读的,因此即使您将它们提供给普通大众,您仍然需要 SSH 来执行自己的写入命令。 SSH也是一种经过身份验证的网络协议;由于它无处不在,因此通常很容易设置和使用。
要通过 SSH 克隆 Git 存储库,您可以指定 ssh:// URL,如下所示:
$ git clone ssh://user@server/project.git
或者您可以对 SSH 协议使用更短的类似 scp 的语法:
$ git clone user@server:project.git
您也可以不指定用户,Git 会假定您当前登录的用户。
诸如 GitHub 之类的服务在访问存储库方面还发挥了其他作用,本质上是使用 HTTP 包装访问,然后从 HTTP 服务器的后端发出正确的协议。这通常作为某种反向代理来完成。您可以使用一种名为 Gitolite 的产品来为您提供其中一些功能(总有机碳或者介绍) 也吉托里斯。