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.43.1 → 2.51.0 no changes
-
2.43.0
2023-11-20
- 2.39.1 → 2.42.4 no changes
-
2.39.0
2022-12-12
- 2.34.1 → 2.38.5 no changes
-
2.34.0
2021-11-15
- 2.18.1 → 2.33.8 no changes
-
2.18.0
2018-06-21
- 2.16.6 → 2.17.6 no changes
-
2.15.4
2019-12-06
- 2.14.6 no changes
-
2.13.7
2018-05-22
- 2.10.5 → 2.12.5 no changes
-
2.9.5
2017-07-30
- 2.7.6 → 2.8.6 no changes
-
2.6.7
2017-05-05
- 2.5.6 no changes
-
2.4.12
2017-05-05
- 2.2.3 → 2.3.10 no changes
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
СИНОПСИС
git send-pack [--mirror] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [--atomic] [--[no-]signed | --signed=(true|false|if-asked)] [<host>:]<directory> (--all | <ref>…)
ОПИС
Зазвичай, вам варто використовувати git push, що є обгорткою вищого рівня для цієї команди. Див. git-push[1].
Викликає git-receive-pack на можливо віддаленому репозиторії та оновлює його з поточного репозиторію, надсилаючи іменовані посилання.
ОПЦІЇ
- --receive-pack=<git-receive-pack>
-
Шлях до програми git-receive-pack на віддаленому кінці. Іноді корисно під час надсилання даних до віддаленого репозиторію через ssh, якщо у вас немає програми в каталозі за замовчуванням $PATH.
- --exec=<git-receive-pack>
-
Те саме, що --receive-pack=<git-receive-pack>.
- --all
-
Замість того, щоб явно вказувати, які посилання оновлювати, оновіть усі заголовки, які існують локально.
- --stdin
-
Взяти список посилань зі stdin, по одному на рядок. Якщо в командному рядку, окрім цього параметра, є посилання, вказані в stdin, тоді посилання зі stdin обробляються після тих, що в командному рядку.
Якщо разом із цією опцією вказано
--stateless-rpc
, то список посилань має бути у форматі пакета (pkt-line). Кожне посилання має бути в окремому пакеті, а список має закінчуватися пакетом flush. - --dry-run
-
Зробіть усе, крім надсилання оновлень.
- --force
-
Зазвичай команда відмовляється оновлювати віддалене посилання, яке не є предком локального посилання, що використовується для його перезапису. Цей прапорець вимикає перевірку. Це означає, що віддалений репозиторій може втратити коміти; використовуйте його обережно.
- --verbose
-
Виконуйте багатослівно.
- --thin
-
Надсилати «тонкий» пакет, який записує об’єкти у дельтифікованому вигляді на основі об’єктів, що не входять до пакету, для зменшення мережевого трафіку.
- --atomic
-
Використовуйте атомарну транзакцію для оновлення посилань. Якщо будь-яке з посилань не оновиться, то вся надсилання завершиться невдачею без зміни будь-яких посилань.
- --[no-]signed
- --signed=(true|false|if-asked)
-
Підписати push-запит для оновлення посилань на стороні приймача, щоб дозволити перевірку хуками та/або запис у журнал. Якщо встановлено значення
false
або--no-signed
, спроба підписання не буде здійснена. Якщо встановлено значенняtrue
або--signed
, push-запит завершиться невдачею, якщо сервер не підтримує підписані push-запити. Якщо встановлено значенняif-asked
, підписати тоді і тільки тоді, коли сервер підтримує підписані push-запити. Push-запит також завершиться невдачею, якщо фактичний викликgpg
--sign
завершиться невдачею. Див. git-receive-pack[1] для отримання детальної інформації на стороні приймача. - --push-option=<string>
-
Передати вказаний рядок як опцію push для використання хуками на стороні сервера. Якщо сервер не підтримує опції push, вивести помилку. Див. git-push[1] та githooks[5] для отримання детальної інформації.
- <host>
-
Віддалений хост для розміщення репозиторію. Коли ця частина вказана, git-receive-pack викликається через ssh.
- <directory>
-
Репозиторій для оновлення.
- <ref>…
-
Віддалені посилання для оновлення.
ВКАЗАННЯ ПОСИЛАНЬ
Існує три способи вказати, які посилання оновлювати на віддаленому кінці.
З прапорцем --all
усі посилання, що існують локально, передаються на віддалену сторону. Ви не можете вказати жодного <ref>, якщо використовуєте цей прапорець.
Без --all
та без будь-якого <ref> оновлюються заголовки, що існують як на локальному, так і на віддаленому боці.
Коли один або декілька <ref> вказані явно (чи то в командному рядку, чи через --stdin
), це може бути або один шаблон, або пара таких шаблонів, розділених двокрапкою ":" (це означає, що назва посилання не може містити двокрапку). Один шаблон <name> – це просто скорочення від <name>:<name>.
Кожна пара шаблонів складається з вихідної сторони (до двокрапки) та сторони призначення (після двокрапки). Посилання, яке потрібно вставити, визначається шляхом пошуку відповідності, що відповідає вихідній стороні, а місце, куди воно буде вставлено, визначається за допомогою сторони призначення. Правила, що використовуються для зіставлення посилання, є тими ж правилами, що використовуються git rev-parse для розв’язання символьного імені посилання. Див. git-rev-parse[1].
-
Це помилка, якщо <src> не відповідає точно одному з локальних посилань.
-
Це помилка, якщо <dst> відповідає кільком віддаленим посиланням.
-
Якщо <dst> не відповідає жодному віддаленому посиланню, або
-
воно має починатися з "refs/"; у цьому випадку <dst> використовується як пункт призначення буквально.
-
<src> == <dst>, а посилання, яке збіглося з <src>, не повинно існувати в наборі віддалених посилань; посилання, яке локально збіглося з <src>, використовується як назва призначення.
-
Без --force
, посилання <src> зберігається на віддаленому сервері лише якщо <dst> не існує або <dst> є належною підмножиною (тобто предком) <src>. Ця перевірка, відома як "перевірка швидкого просування", виконується, щоб уникнути випадкового перезапису віддаленого посилання та втрати комітів інших користувачів звідти.
З параметром --force
перевірка швидкого перемотування вперед вимикається для всіх посилань.
За бажанням, параметр <ref> може мати префікс із знаком «+», щоб вимкнути перемотку лише для цього посилання.
GIT
Частина набору git[1]