Git частичное клонирование: как отключить динамическую c выборку объекта? - PullRequest
2 голосов
/ 06 августа 2020

Я вызвал Git частичный клон , чтобы клонировать репозиторий без каких-либо блобов:

git clone --filter=blob:none https://server/repo.git

Теперь я хотел бы поэкспериментировать с этим репозиторием, чтобы увидеть, какие операции выполняются локально возможно без Git динамического извлечения недостающих объектов с удаленного промисора. Есть ли какая-нибудь опция конфигурации Git, чтобы отключить динамическую c выборку и вместо этого позволить мне столкнуться с ошибками «отсутствует объект»?

Ответы [ 2 ]

3 голосов
/ 06 августа 2020

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

На данный момент Git будет только извлекаться отсутствующим объекты из пультов promisor . Из документации :

Dynami c объектная выборка будет запрашивать только удаленные промисоры для недостающих объектов. Мы предполагаем, что пульты Promisor имеют полное представление о репозитории и могут удовлетворить все такие запросы.

Это указано как ограничение , поэтому оно вполне может измениться в будущем . Однако на данный момент вы можете использовать это в своих интересах, просто сообщив Git, что пульт origin не является обещающим, сказав:

git config remote.origin.promisor false
1 голос
/ 06 августа 2020

Я бы go с удалением пульта. Либо удалив пульт из файла .git/config, либо запустив git remote remove origin.

...