我的服务器上运行了gitosis。我的构建系统需要从gitosis获取代码的副本。现在我克隆整个存储库,这需要很长时间。
我如何才能获得分支机构的负责人? (我已经尝试过git存档,但似乎无法从gitosis获得存档。)
我可以从裸存储库创建存档吗?
答案 0 :(得分:26)
将--depth=1
标志传递给git clone
以仅获取HEAD提交。这创造了一个“浅层克隆”。请注意,浅层克隆存在局限性:您无法获得完整的历史记录(显然),您无法克隆或从中获取,并且您无法从中推送。
答案 1 :(得分:2)
gitosis还不支持git-archive,AFAIS。 http://eagain.net/gitweb/?p=gitosis.git;a=commitdiff;h=refs/heads/remote-archive的相应分支尚未合并。
所以你不能使用gitosis的“git archive --remote = git://git.example.com/repo.git ...”。
答案 2 :(得分:0)
我刚刚创建了一个测试裸仓库,是的,您可以从裸存储库创建存档。
$ cd /tmp/foo.git/
$ git archive --output=/tmp/foo.tgz HEAD
答案 3 :(得分:0)
根据远程端启用的归档支持,您可以尝试:
git archive --remote=git://git.example.com/repo.git --output=repo.zip HEAD
但您必须能够通过SSH协议访问存储库,或者必须在git daemon
中明确启用对此的支持,因此很少见。