我刚刚设置了一个具有智能 HTTP 访问权限的 git 服务器,在让其他人使用它之前我需要检查是否存在任何问题。
但是,我对 git 本身几乎一无所知。我检查过我可以clone
、、fetch
和pull
,push
但仅此而已。除了学习 git 并设置和使用大型项目之外,有没有更好的方法可以做到这一点?
我检查了 HTTP 协议文档(这里或man 5 gitprotocol-http
),我最初的理解是,我只需要检查两个服务是否存在:git-upload-pack
和git-receive-pack
。我可以使用以下命令检查它们是否存在curl
:
$ curl -i -raw https://example.com/git/test.git/info/refs?service=git-receive-pack | cat -v
HTTP/1.1 200 OK^M
...
Content-Type: application/x-git-receive-pack-advertisement^M
...
001f# service=git-receive-pack
000000b3e644099125769fc0fdc512f573367f3819d17437 refs/heads/master^@report-status report-status-v2 delete-refs side-band-64k quiet atomic ofs-delta object-format=sha1 agent=git/2.34.1
git-upload-pack
如果我得到和的合理输出,我可以假设 git 客户端向我抛出的任何命令都会成功吗git-receive-pack
?“合理”输出到底是什么?还有其他可能有用的关于服务器设置常见问题的提示吗?谢谢。