Клонирование git-комплекта через http(s)
Можно ли клонировать git bundle через http? Когда я пытаюсь сделать это, я получил:
$ git clone http://127.0.0.1:8888/repo.bundle
Cloning into 'repo.bundle'...
fatal: repository 'http://127.0.0.1:8888/repo.bundle/' not found
Причина для этого заключается в том, чтобы избежать сжатия репозитория на сервере (просто обслуживать файл), и мы ограничены git clone
по заявке пользователя
1 ответ
Я не знаю, как сделать то, что ты просишь. Первоначальная цель комплектов состоит в том, чтобы компенсировать случаи, когда "онлайн" доступ к репо (например, HTTP-соединение, среди прочего) недоступен; поэтому я сомневаюсь, что можно было бы подумать о таком случае использования.
Я понял, что вы хотите подготовить подмножество репо, которое, как вы ожидаете, нужно перенести, чтобы запросы на это подмножество не вызывали затрат на передачу дополнительных данных или отделение того, что нужно, от того, чего нет. В этом случае вы можете рассмотреть возможность подготовки мелкого клона вместо связки. Обратите внимание, что история каждой головы, которая должна быть извлечена из мелкого клона, должна включать, по крайней мере, один коммит, уже находящийся в репо, выполняющем выборку. Так, например, если у вас есть
x -- x -- ... huge history ... -- O -- x -- x <--(master)
\
A -- B -- C <--(some_branch)
и вы хотите поделиться A
через C
таким образом, вы бы
git clone --depth=4 -b some_branch url/of/origin some_branch_repo
Поскольку глубина равна 4, это будет включать O
, A
, B
, а также C
- это означает, что выборка some_branch
может получить A
через C
,