我想知道Github服务器是否支持Git Wire Protocol-v2协议? - https://opensource.googleblog.com/2018/05/introducing-git-protocol-version-2.html - https://github.com/git/git/blob/master/Documentation/technical/protocol-v2.txt
我想知道Github服务器是否支持Git Wire Protocol-v2协议? - https://opensource.googleblog.com/2018/05/introducing-git-protocol-version-2.html - https://github.com/git/git/blob/master/Documentation/technical/protocol-v2.txt
但这个新实现仅适用于Git 2.18,该版本于2018年7月发布。
在OP提出问题时,GitHub还不支持它。
您可以使用以下命令进行检查:
# Linux
GIT_CURL_VERBOSE=2 git -c protocol.version=2 ls-remote --heads https://github.com/bower/bower.git
# Windows:
cmd /v /c "set GIT_CURL_VERBOSE=2&& git -c protocol.version=2 ls-remote --heads https://github.com/bower/bower.git"
S: 200 OK
S: <Some headers>
S: ...
S:
S: 000eversion 2\n
S: <capability-advertisement>
七月份,我看到:
< HTTP/1.1 200 OK
< Server: GitHub Babel 2.0
< Content-Type: application/x-git-upload-pack-advertisement
< Transfer-Encoding: chunked
< Expires: Fri, 01 Jan 1980 00:00:00 GMT
< Pragma: no-cache
< Cache-Control: no-cache, max-age=0, must-revalidate
< Vary: Accept-Encoding
< X-GitHub-Request-Id: F361:7598:2BF8FEF:518E5FB:5B541C22
< X-Frame-Options: DENY
目前还没有 000eversion 2\n
版本。
注意:(2018年7月),GitLab的方向页面清楚地提到了“支持Git协议版本2”的GitLab 11.2(2018年8月22日):请参见问题46555。
为了使GitLab服务器开始使用v2协议回答,我们需要做一些事情:
- (必需)在gitlab-omnibus中的Gitaly服务器上安装Git 2.18
- (必需)在workhorse -> gitaly -> git中传播
Git-Protocol
HTTP头,请参见gitlab-org/gitaly-proto
合并请求208- (必需)在sshd -> gitlab-shell -> gitaly -> git中传播
Git-Protocol
环境变量- (可选)使用功能标志门控v2广告,以便我们可以阻止它达到gitaly。这样,我们就可以控制v2协议是否处于活动状态。
谁会是第一个?
... 从这个评论中,GitLab可能会首先支持(2018年11月,对于GitLab 11.4)
看起来我们是第一个支持它的大型Git主机!如果我们验证了这一点,我们应该在发布博客文章中提到它 :)
但目前只有HTTPS,还没有SSH(问题46555)
SSH上的Git v2也不会默认启用(需要SSHD更改,我们需要记录)。
问题5244证实:
我可以看到在GitLab.com上通过HTTP工作
# Original Git wire protocol
GIT_TRACE_PACKET=1 git -c protocol.version=0 ls-remote https://gitlab.com/gitlab-org/gitlab-ce.git master
# New Git wire protocol v2
GIT_TRACE_PACKET=1 git -c protocol.version=2 ls-remote https://gitlab.com/gitlab-org/gitlab-ce.git master
文档应遵循(gitlab-org/gitlab-ce
合并请求22227)。
... 然而,GitLab相对于GitHub来说稍微有点晚:
11月8日: "GitHub上支持Git Wire Protocol v2":
请参阅 "GitHub now supports version 2 of the Git wire protocol.
An immediate benefit of the new protocol is that it enables reference filtering on the server-side, this can reduce the number of bytes required to fulfill operations like **git fetch on large repositories**. (source, source, source, …)
To utilize the new protocol, your git client must be at or beyond version 2.18, released June 2018 and the protocol version must be specified in your git client configuration:
git config --global protocol.version 2
Documentation/technical/protocol-v2.txt
" 了解更多信息。