尝试加载https://domain/path/project.git/HEAD
在bitbucket和github上都给出了404,根据git book(git-scm.com),情况并非如此。
这两个网站是特例还是我做错了什么?
请注意,我希望尽可能避免下载整个存储库。
答案 0 :(得分:1)
你要做的是假设旧的Git HTTP协议,它只使用静态文件。 Github和Bitbucket使用Git的新HTTP协议,带有一个活动(编程)服务器,因此没有名为“HEAD”的URL。
因此,您至少需要使用智能客户端与其进行通信。但是,并不一定要说你需要克隆存储库;可能有工具可以与服务器通信,而无需进行完整克隆。例如,有git ls-remote
:
$ git ls-remote http://server/git/project
7f38468acf1de9b73d931aebf9a8add8f691a6dc HEAD
7f38468acf1de9b73d931aebf9a8add8f691a6dc refs/heads/master
有关详细信息,请参阅git-http-backend
。
(另外,应该注意的是,如果你想要避免的只是“下载整个存储库”,那么你可以简单地进行浅层克隆。)
答案 1 :(得分:0)
可以使用Github API完成此操作。只需使用基本身份验证(如果需要)调用GET到/repos/:owner/:repo/commits
并解析JSON响应
我理解你的问题是关于HTTP ......这只是一个替代方案。我不相信这是可能的。