Русский ▾
Localized versions of git-upload-pack manual
  1. English
  2. Português (Brasil)
  3. Русский
  4. Svenska
  5. українська мова
  6. 简体中文
Topics ▾ Latest version ▾ git-upload-pack last updated in 2.52.0
Changes in the git-upload-pack manual
  1. 2.53.0 → 2.55.0 no changes
  2. 2.52.0 2025年11月17日
  3. 2.45.2 → 2.51.2 no changes
  4. 2.45.1 2024年04月29日
  5. 2.45.0 no changes
  6. 2.44.2 → 2.44.4 no changes
  7. 2.44.1 2024年04月19日
  8. 2.44.0 no changes
  9. 2.43.5 → 2.43.7 no changes
  10. 2.43.4 2024年04月19日
  11. 2.43.1 → 2.43.3 no changes
  12. 2.43.0 no changes
  13. 2.42.3 → 2.42.4 no changes
  14. 2.42.2 2024年04月19日
  15. 2.42.1 no changes
  16. 2.42.0 no changes
  17. 2.41.2 → 2.41.3 no changes
  18. 2.41.1 2024年04月19日
  19. 2.41.0 no changes
  20. 2.40.3 → 2.40.4 no changes
  21. 2.40.2 2024年04月19日
  22. 2.40.1 no changes
  23. 2.40.0 no changes
  24. 2.39.5 no changes
  25. 2.39.4 2024年04月19日
  26. 2.38.1 → 2.39.3 no changes
  27. 2.38.0 2022年10月02日
  28. 2.34.1 → 2.37.7 no changes
  29. 2.34.0 2021年11月15日
  30. 2.21.1 → 2.33.8 no changes
  31. 2.21.0 no changes
  32. 2.19.3 → 2.20.5 no changes
  33. 2.19.2 2018年11月21日
  34. 2.11.4 → 2.19.1 no changes
  35. 2.10.5 2017年09月22日
  36. 2.1.4 → 2.9.5 no changes
  37. 2.0.5 2014年12月17日

Check your version of git by running

git --version

НАЗВАНИЕ

git-upload-pack - Отправка упакованных объектов обратно в git-fetch-pack

ОБЗОР

git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]
		 [--advertise-refs] <каталог>

ОПИСАНИЕ

Вызывается git fetch-pack, узнаёт, каких объектов не хватает на другой стороне, и отправляет их после упаковки.

Эта команда обычно не вызывается напрямую конечным пользователем. Интерфейс для протокола находится на стороне git fetch-pack, и эта пара программ предназначена для извлечения (pull) обновлений из внешнего репозитория. Для операций отправки (push) смотрите git send-pack.

ПАРАМЕТРЫ

--strict
--no-strict

Не пытаться использовать <каталог>/.git/, если <каталог> не является каталогом Git.

--timeout=<n>

Прервать передачу после <n> секунд простоя.

--stateless-rpc

Выполнить только один цикл чтения-записи с stdin и stdout. Это соответствует модели обработки HTTP POST-запросов, где программа может прочитать запрос, записать ответ и должна завершиться.

--http-backend-info-refs

Используется git-http-backend[1] для обслуживания запросов $GIT_URL/info/refs?service=git-upload-pack. Смотрите «Smart Clients» в gitprotocol-http[5] и «HTTP Transport» в документации gitprotocol-v2[5]. Также понимается git-receive-pack[1].

<directory>

Репозиторий, из которого выполняется синхронизация.

ОКРУЖЕНИЕ

GIT_PROTOCOL

Внутренняя переменная, используемая для согласования сетевого протокола. Администраторам серверов может потребоваться настроить некоторые транспорты, чтобы разрешить передачу этой переменной. Смотрите обсуждение в git[1].

GIT_NO_LAZY_FETCH

При клонировании или получении (fetch) из частичного репозитория (т.е. такого, который сам был клонирован с --filter), серверная сторона upload-pack может нуждаться в получении дополнительных объектов из своего вышестоящего (upstream) репозитория для завершения запроса. По умолчанию upload-pack откажется выполнять такое отложенное получение (lazy fetch), поскольку git fetch может выполнять произвольные команды, указанные в конфигурации и перехватчиках (hooks) исходного репозитория (а upload-pack старается быть безопасным для запуска даже в недоверенных каталогах .git).

Это реализовано путём внутренней установки переменной GIT_NO_LAZY_FETCH в 1 в upload-pack. Если вы хотите переопределить это (потому что вы получаете данные из частичного клона и уверены, что доверяете ему), вы можете явно установить GIT_NO_LAZY_FETCH в 0.

ЗАЩИТА

Большинство команд Git не следует запускать в недоверенном каталоге .git (см. раздел SECURITY в git[1]). upload-pack старается избегать любых опасных параметров конфигурации или перехватчиков (hooks) из обслуживаемого репозитория, что делает безопасным клонирование недоверенного каталога и выполнение команд в полученном клоне.

Для дополнительного уровня безопасности вы можете запустить upload-pack от имени другого пользователя. Детали будут зависеть от платформы, но на многих системах вы можете выполнить:

git clone --no-local --upload-pack='sudo -u nobody git-upload-pack' ...

СМ. ТАКЖЕ

GIT

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

AltStyle によって変換されたページ (->オリジナル) /