Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.45.2 → 2.51.0 no changes
-
2.45.1
2024-04-29
- 2.45.0 no changes
- 2.44.2 → 2.44.4 no changes
-
2.44.1
2024-04-19
- 2.44.0 no changes
- 2.43.5 → 2.43.7 no changes
-
2.43.4
2024-04-19
- 2.43.1 → 2.43.3 no changes
- 2.43.0 no changes
- 2.42.3 → 2.42.4 no changes
-
2.42.2
2024-04-19
- 2.42.1 no changes
- 2.42.0 no changes
- 2.41.2 → 2.41.3 no changes
-
2.41.1
2024-04-19
- 2.41.0 no changes
- 2.40.3 → 2.40.4 no changes
-
2.40.2
2024-04-19
- 2.40.1 no changes
- 2.40.0 no changes
- 2.39.5 no changes
-
2.39.4
2024-04-19
- 2.38.1 → 2.39.3 no changes
-
2.38.0
2022-10-02
- 2.34.1 → 2.37.7 no changes
-
2.34.0
2021-11-15
- 2.21.1 → 2.33.8 no changes
- 2.21.0 no changes
- 2.19.3 → 2.20.5 no changes
-
2.19.2
2018-11-21
- 2.11.4 → 2.19.1 no changes
-
2.10.5
2017-09-22
- 2.1.4 → 2.9.5 no changes
-
2.0.5
2014-12-17
СИНОПСИС
git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc] [--advertise-refs] <directory>
ОПИС
Викликається командою git fetch-pack, дізнається, яких об’єктів бракує на іншій стороні, та надсилає їх після пакування.
Ця команда зазвичай не викликається безпосередньо кінцевим користувачем. Інтерфейс користувача для протоколу знаходиться на стороні «git fetch-pack», а пара програм призначена для використання для отримання оновлень з віддаленого репозиторію. Щодо операцій push див. «git send-pack».
ОПЦІЇ
- --[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
-
Внутрішня змінна, що використовується для встановлення зв’язку з протоколом Wire. Адміністраторам сервера може знадобитися налаштувати деякі транспорти, щоб дозволити передачу цієї змінної. Див. обговорення в 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]