Русский ▾ Topics ▾ Latest version ▾ git-upload-archive last updated in 2.39.0

НАЗВАНИЕ

git-upload-archive — Отправка архива обратно в git-archive

ОБЗОР

git upload-archive <репозиторий>

ОПИСАНИЕ

Вызывается командой git archive --remote и отправляет сгенерированный архив на другой конец по протоколу Git.

Эта команда обычно не вызывается напрямую конечным пользователем. Пользовательский интерфейс для протокола находится на стороне git archive, и эта пара программ предназначена для получения архива из внешнего репозитория.

ЗАЩИТА

Для защиты конфиденциальности объектов, которые были удалены из истории, но ещё не были подчищены (pruned), git-upload-archive избегает обслуживания архивов для коммитов и деревьев, которые не достижимы из ссылок репозитория. Однако, поскольку вычисление достижимости объектов требует больших вычислительных затрат, git-upload-archive реализует более строгий, но более простой для проверки набор правил:

  1. Клиенты могут запрашивать коммит или дерево, на которое непосредственно указывает ссылка. Например, git archive --remote=origin v1.0.

  2. Клиенты могут запрашивать поддерево внутри коммита или дерева, используя синтаксис ref:путь. Например, git archive --remote=origin v1.0:Documentation.

  3. Клиенты не могут использовать другие выражения sha1, даже если конечный результат достижим. Например, ни относительный коммит, такой как master^, ни буквальный sha1, такой как abcd1234, не допускаются, даже если результат достижим из ссылок.

Обратите внимание, что правило 3 запрещает многие случаи, которые не имеют никаких последствий для конфиденциальности. Эти правила могут быть изменены в будущих версиях git, и сервер, к которому обращается git archive --remote, может как следовать этим точным правилам, так и нет.

Если параметр конфигурации uploadArchive.allowUnreachable имеет значение true, эти правила игнорируются, и клиенты могут использовать произвольные выражения sha1. Это полезно, если вас не волнует конфиденциальность недостижимых объектов или если ваша база данных объектов уже общедоступна для доступа через non-smart-http.

ПАРАМЕТРЫ

<репозиторий>

Репозиторий, из которого нужно получить tar-архив.

GIT

Является частью пакета git[1]