Array.prototype.combs = function(num) {
var str = this,
length = str.length,
of = Math.pow(2, length) - 1,
out, combinations = [];
while(of) {
out = [];
for(var i = 0, y; i < length; i++) {
y = (1 << i);
if(y & of && (y !== of))
out.push(str[i]);
}
if (out.length >= num) {
combinations.push(out);
}
of--;
}
return combinations;
}
Передайте флаг - depth = 1
к git clone
, чтобы получить только фиксацию HEAD. Это создает «неглубокий клон». Обратите внимание, что есть ограничения с мелким клоном: вы не можете получить полную историю (очевидно), вы не можете клонировать или извлекать из нее, и вы не можете нажимать из нее.
В зависимости от того, включена ли удаленная сторона поддержка архива , вы можете попробовать:
git archive --remote=git://git.example.com/repo.git --output=repo.zip HEAD
Но у вас должна быть возможность доступа к репозиторию через протокол SSH, или поддержка этого должна быть явно включена в git daemon
, поэтому это редко .
Я только что создал тестовое чистое репо, и да, вы можете создать архив из чистого репозитория.
$ cd /tmp/foo.git/
$ git archive --output=/tmp/foo.tgz HEAD
gitosis еще не поддерживает git-archive , 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.