我正在检查ISO OSI图表,您可以在其中看到git使用的其他两个协议:
https:(这是http over ssl)
和
SSH
但未提及 git://
这是ISO OSI:
答案 0 :(得分:11)
git protocol 是一个与Git一起打包的特殊守护程序;它侦听专用端口(9418),该端口提供类似于SSH协议的服务,但绝对没有身份验证。
它是在Git的最开始,在commit 2386d65 (July 2005, Git 0.99.1)
中引入的在" git协议"添加第一个剪切连接逻辑。
用于从专用服务器中提取内容。而不是连接 使用ssh或只是启动本地管道,我们通过TCP连接到 另一边,试着看看是否有一个git服务器在监听。
当然,既然我还没有写过git服务器,那就永远不会 发生。但是服务器真的只需要监听端口,并且 执行" git-upload-pack"当有人连接时。
(它应该读取一个数据包行,其格式应为
"git-upload-pack directoryname\n"
最终我们可能会有服务器可能接受的其他命令。
该协议最初在next commit 9b011b2
中描述有两种Pack推挽协议。
upload-pack
(S)| fetch / clone-pack(C)协议:send-pack
|receive-pack
协议
如今,Documentation/git-daemon.txt
中描述了git守护程序服务器的完整特性。
一个非常简单的TCP Git守护程序,它通常侦听端口"
DEFAULT_GIT_PORT
"又名9418.
它等待连接请求服务,并且如果启用该服务将提供服务。
请注意,即使在OSI模型中未列出,9418仍然从一开始就列为 IANA (Internet Assigned Numbers Authority)
请参阅commit ba8a497 (Setp. 2005, Git 0.99.7a:
[PATCH]添加有关IANA确认的说明
git端口(9418)现已由IANA正式列出 记录下来。
答案 1 :(得分:0)
如果我不理解错误,那么您可能会要求提供GIT自定义协议URI。如果是,则GIT URI为x-github-client://openRepo/<RepoLink>
。它将在GIT桌面应用程序中打开Repo。
希望它会对您或某人有所帮助。