2016-12-19 14 views
1

В моем репозитории git я использую алгоритм для назначения каждой фиксации одного или нескольких уникальных номеров версий на основе названий ветвей и тегов. Я хочу использовать этот механизм с другим большим репозиторием, который я хотел бы клонировать без передачи каких-либо файлов.Git clone bare repo без blobs

Голый клон помогает мне избавиться от рабочей копии капель, но он по-прежнему загружает их с сервера. Неглубокий клон с --depth 1 пропускает большинство капель, но также пропускает метаданные для всех коммитов, кроме одного.

Есть ли что-то вроде git fast-export --no-data, которое я могу использовать на стороне клиента, чтобы получить информацию о графике, содержащую метаданные и, возможно, имена файлов без клонирования репозитория с моего сервера? В идеале я мог бы получить доступ к метаданным, как и любое другое (голое, мелкое) репо, через git log|show|rev-parse|show-ref.

(я знаю, мерзавец LFS и мерзавец Приложение существует и может помочь уменьшить размер некоторых операций РЕПО, но я не могу использовать их на существующем хранилище, не изменяя его.)

ответ

1

Есть ли что-то вроде мерзавец fast-export --no-data, который я могу использовать на стороне клиента?

Номер: git ls-remote (который получает метаданные только для головок удаленного репо), все остальное получит полную историю репо.

Вам понадобится ваше репо, управляемое службой хостинга Git, например GitHub, предоставляющей API (например, commits API) для запроса метаданных без данных.