українська мова ▾ Topics ▾ Latest version ▾ git-upload-pack last updated in 2.52.0

НАЗВА

git-upload-pack — Надсилання упакованих обʼєкти назад до git-fetch-pack

СИНОПСИС

git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]
		  [--advertise-refs] <directory>

ОПИС

Викликається командою git fetch-pack, дізнається, яких обʼєктів бракує на іншій стороні, та надсилає їх після пакування.

Ця команда зазвичай не викликається безпосередньо кінцевим користувачем. Інтерфейс користувача для протоколу знаходиться на стороні git fetch-pack, а пара програм призначена для використання для отримання оновлень з віддаленого репозиторію. Щодо операцій push див. git send-pack.

ОПЦІЇ

--strict
--no-strict

Не намагайтеся використовувати <directory>/.git/, якщо <directory> не є текою 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. Див. "Розумні клієнти" в gitprotocol-http[5] та "HTTP-транспорт" в документації gitprotocol-v2[5]. Також розуміється git-receive-pack[1].

<directory>

Репозиторій для синхронізації.

НАВКОЛИШНЄ СЕРЕДОВИЩЕ

GIT_PROTOCOL

Внутрішня змінна, що використовується для встановлення з’єднання за допомогою мережевого протоколу. Адміністраторам серверів може знадобитися налаштувати деякі транспортні протоколи, щоб забезпечити передачу цієї змінної. Див. обговорення в git[1].

GIT_NO_LAZY_FETCH

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

Це реалізовано шляхом внутрішнього встановлення змінної GIT_NO_LAZY_FETCH значенням 1 у upload-pack. Якщо ви хочете перевизначити це значення (оскільки ви отримуєте дані з часткового клону і впевнені, що довіряєте йому), ви можете явно встановити GIT_NO_LAZY_FETCH значенням 0.

БЕЗПЕКА

Більшість команд Git не слід виконувати в теці .git, яка не викликає довіри (див. розділ БЕЗПЕКА у git[1]). Команда upload-pack намагається уникнути використання небезпечних параметрів конфігурації або гачків з репозиторію, який вона обслуговує, завдяки чому можна безпечно клонувати теку, що не викликає довіри, та виконувати команди на отриманому клоні.

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

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

ДИВ. ТАКОЖ

GIT

Частина набору git[1]