git-upload-archive
Имя
git-upload-archive - Отправка архива обратно в git-archive
Синтаксис
git upload-archive <repository>
Описание
Вызывается git archive --remote и отправляет сгенерированный архив на другой конец по протоколу Git.
Эта команда обычно не вызывается непосредственно конечным пользователем. Пользовательский интерфейс для протокола находится на стороне git archive, а данная пара программ предназначена для получения архива из удалённого репозитория.
Безопасность
Для защиты конфиденциальности объектов, удалённых из истории, но которые ещё не были удалены, git-upload-archive избегает предоставления архивов для коммитов и деревьев, которые недоступны из refs репозитория. Однако, поскольку вычисление доступности объектов вычислительно затратно, git-upload-archive реализует более жёсткий, но более простой набор правил:
-
Клиенты могут запросить коммит или дерево, на которые напрямую указывает ref. Например,
git archive --remote=origin v1.0. -
Клиенты могут запросить поддерево в коммите или дереве, используя синтаксис
ref:path. Например,git archive --remote=origin v1.0:Documentation. -
Клиенты могут
notиспользовать другие выражения sha1, даже если конечный результат доступен. Например, ни относительный коммит, такой какmaster^, ни буквальный sha1, такой какabcd1234, не допускаются, даже если результат доступен из refs.
Обратите внимание, что правило 3 запрещает многие случаи, которые не имеют никаких последствий для конфиденциальности. Эти правила могут быть изменены в будущих версиях git, и сервер, к которому обращается git archive --remote, может или не может следовать этим точным правилам.
Если параметр конфигурации uploadArchive.allowUnreachable имеет значение true, эти правила игнорируются, и клиенты могут использовать произвольные выражения sha1. Это полезно, если вы не заботитесь о конфиденциальности недоступных объектов или если ваша база данных объектов уже общедоступна для доступа через не-smart-http.
Параметры
- <repository>
-
Репозиторий, из которого необходимо получить архив tar.
upload-archive
© 2005–2026 Linus Torvalds and others
Licensed under the GNU General Public License version 2.
https://git-scm.com/docs/git-upload-archive