Как мне получить только голову от гитоза? - PullRequest
16 голосов
/ 05 августа 2010

У меня запущен гитоз на моем сервере. Моя система сборки должна получить копию кода из Gitosis. Прямо сейчас я клонирую весь репозиторий, что занимает много времени.

Как мне получить только голову филиала? (Я пробовал архив git, но не могу получить архив от gitosis.)

Можно ли создать архив из пустого хранилища?

Ответы [ 4 ]

26 голосов
/ 05 августа 2010

Передайте флаг --depth=1 на git clone, чтобы получить только коммит HEAD.Это создает «мелкий клон».Обратите внимание, что у мелкого клона есть ограничения: вы не можете получить полную историю (очевидно), вы не можете клонировать или извлекать ее, и вы не можете оттолкнуться от нее.

2 голосов
/ 22 августа 2010

gitosis пока не поддерживает git-архив, AFAIS. Соответствующая ветвь в http://eagain.net/gitweb/?p=gitosis.git;a=commitdiff;h=refs/heads/remote-archive не была объединена.

Таким образом, вы не можете использовать "git archive --remote = git: //git.example.com/repo.git ..." с gitosis.

0 голосов
/ 06 августа 2010

В зависимости от того, включена ли на удаленной стороне поддержка архива , вы можете попробовать:

git archive --remote=git://git.example.com/repo.git --output=repo.zip HEAD

Но вы должны либо иметь доступ к хранилищу по протоколу SSH, либо поддержка этого должна быть явно включена в git daemon, так что это редко.

0 голосов
/ 06 августа 2010

Я только что создал тестовое пустое хранилище, и да, вы можете создать архив из пустого хранилища.

$ cd /tmp/foo.git/
$ git archive --output=/tmp/foo.tgz HEAD
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...