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.53.0 → 2.54.0 no changes
-
2.52.0
2025-11-17
- 2.48.1 → 2.51.2 no changes
-
2.48.0
2025-01-10
- 2.44.1 → 2.47.3 no changes
-
2.44.0
2024-02-23
- 2.43.1 → 2.43.7 no changes
-
2.43.0
2023-11-20
- 2.42.1 → 2.42.4 no changes
-
2.42.0
2023-08-21
- 2.36.1 → 2.41.3 no changes
-
2.36.0
2022-04-18
- 2.34.1 → 2.35.8 no changes
-
2.34.0
2021-11-15
- 2.31.1 → 2.33.8 no changes
-
2.31.0
2021-03-15
- 2.29.1 → 2.30.9 no changes
-
2.29.0
2020-10-19
- 2.28.1 no changes
-
2.28.0
2020-07-27
- 2.18.1 → 2.27.1 no changes
-
2.18.0
2018-06-21
- 2.17.1 → 2.17.6 no changes
-
2.17.0
2018-04-02
- 2.12.5 → 2.16.6 no changes
-
2.11.4
2017-09-22
- 2.1.4 → 2.10.5 no changes
-
2.0.5
2014-12-17
СИНОПСИС
git index-pack [-v] [-o <index-file>] [--[no-]rev-index] <pack-file> git index-pack --stdin [--fix-thin] [--keep] [-v] [-o <index-file>] [--[no-]rev-index] [<pack-file>]
ОПИС
Зчитує упакований архів (.pack) із зазначеного файлу, створює для нього файл індексу пакунка (.idx) та, за бажанням, записує зворотний індекс (.rev) для зазначеного пакунка. Упакований архів разом з індексом пакунка потім можна розмістити в теці objects/pack/ репозиторію Git.
ОПЦІЇ
- -v
-
Докладний вивід щодо того, що відбувається, включаючи статус виконання.
- -o <index-file>
-
Записати згенерований індекс пакунка у вказаний файл. Без цієї опції назва файлу індексу пакунка будується з назви файлу упакованого архіву шляхом заміни .pack на .idx (і програма завершує роботу, якщо назва упакованого архіву не закінчується на .pack).
- --rev-index
- --no-rev-index
-
Якщо вказано цей прапорець, створити зворотний індекс (файл
.rev), що відповідає вказаному пакунку. Якщо вказано--verify, перевірити правильність наявного зворотного індексу. Має пріоритет надpack.writeReverseIndex. - --stdin
-
Коли цей прапорець встановлено, пакунок зчитується зі stdin, а потім копія записується в <pack-file>. Якщо <pack-file> не вказано, пакунок записується в теку objects/pack/ поточного репозиторію Git з ім’ям, яке визначається з вмісту пакунка. Якщо <pack-file> не вказано, спробуйте скористатися --keep, щоб запобігти конфлікту між цим процесом та git repack.
- --fix-thin
-
Виправити «тонкий» пакунок, створений командою
gitpack-objects--thin(детальніше див. git-pack-objects[1]), додавши до пакунка об’єкти, що були виключені, на основі яких створено об’єкти-дельти. Ця опція має сенс лише у поєднанні з опцією --stdin. - --keep
-
Перш ніж перемістити індекс у остаточне місце призначення, потрібно створити порожній файл .keep для відповідного файлу pack. Ця опція зазвичай потрібна при використанні параметра --stdin, щоб запобігти видаленню щойно створеного файлу pack та індексу одночасним процесом git repack до того, як посилання будуть оновлені для використання об’єктів, що містяться у файлі pack.
- --keep=<msg>
-
Як і у випадку з опцією --keep, перед переміщенням індексу в остаточне місце призначення необхідно створити файл .keep. Однак замість того, щоб створювати порожній файл, потрібно вставити в файл .keep рядок <msg>, за яким слідує символ LF. Пізніше цей рядок <msg> можна буде шукати у всіх файлах .keep, щоб виявити ті, які вже втратили свою актуальність.
- --index-version=<version>[,<offset>]
-
Ця опція призначена виключно для використання в наборі тестів. Вона дозволяє примусово встановити версію для індексу згенерованого пакунка, а також примусово створити 64-бітні записи індексу для об’єктів, розташованих вище вказаного зміщення.
- --strict[=<msg-id>=<severity>…]
-
Зупинити роботу, якщо пакунок містить пошкоджені об’єкти або посилання. Для зміни рівня критичності деяких можливих проблем можна передати необов’язковий список у форматі <msg-id>
=<severity>, розділений комами, наприклад: --strict=«missingEmail=ignore,badTagName=error». Дивіться запис про параметри конфігураціїfsck.<msg-id> у git-fsck[1] для отримання додаткової інформації про можливі значення <msg-id> та <severity>. - --progress-title
-
Тільки для внутрішнього використання.
Встановлює заголовок індикатора виконання. Зазвичай заголовок «Receiving objects», а якщо вказано
--stdin, то «Indexing objects». - --check-self-contained-and-connected
-
Припинити роботу, якщо пакунок містить непрацюючі посилання. Тільки для внутрішнього використання.
- --fsck-objects[=<msg-id>=<severity>…]
-
Припиняти роботу, якщо пакунок містить пошкоджені обʼєкти, але на відміну від
--strict, не затримуватись на пошкоджених посиланнях. Якщо пакунок містить дерево, що вказує на блоб .gitmodules, якого не існує, виводить хеш цього блобу (для перевірки функцією виклику) після хешу, який входить до назви файлу pack/idx (див. "Примітки").Для зміни ступеня критичності деяких можливих проблем можна передати необовʼязковий список <msg-id>
=<severity>, розділений комами, наприклад,--fsck-objects="missingEmail=ignore,badTagName=ignore". Див. запис про параметри конфігураціїfsck.<msg-id> у git-fsck[1] для отримання додаткової інформації про можливі значення <msg-id> та <severity>. - --threads=<n>
-
Визначає кількість потоків, які потрібно створити під час розвʼязання дельт. Вимагає, щоб index-pack був скомпільований з pthreads, інакше цей параметр ігнорується з попередженням. Це призначено для скорочення часу пакування на багатопроцесорних машинах. Однак необхідний обсяг памʼяті для вікна пошуку дельт множиться на кількість потоків. Якщо вказати 0, Git автоматично визначатиме кількість процесорів і використовуватиме максимум 3 потоки.
- --max-input-size=<size>
-
Припиняти роботу, якщо пакунок більший за <розмір>.
- --object-format=<hash-algorithm>
-
Визначає формат обʼєкта (алгоритм хешування) для пакунка. Допустимі значення: sha1 та (якщо увімкнено) sha256. Зазвичай використовується алгоритм для поточного репозиторію (визначений параметром
extensions.objectFormat) або sha1, якщо значення не вказано або якщо операція виконується поза межами репозиторію.Цей параметр не можна використовувати з --stdin.
Примітка: Наразі немає зворотної сумісності між репозиторіями SHA-256 та репозиторіями SHA-1.
Зазвичай, ми попереджали, що репозиторії SHA-256 можуть пізніше потребувати змін, що впливають на зворотню сумісність, коли ми впроваджуватимемо такі функції сумісності. Сьогодні ми очікуємо лише сумісних змін. Крім того, якщо такі зміни виявляться необхідними, можна очікувати, що репозиторії SHA-256, створені за допомогою сучасного Git, можна буде використовувати в майбутніх версіях Git без втрати даних.
- --promisor[=<message>]
-
Перед фіксацією pack-index створіть файл .promisor для цього пакунка. Це особливо корисно під час написання promisor-пакунка з --fix-thin, оскільки назва пакунка не є остаточною, доки його не буде повністю записано. Якщо надано <message>, то цей вміст буде записано до файлу .promisor для подальшого використання. Див. посилання: partial clone для отримання додаткової інформації.
Крім того, якщо у заданому пакунку є обʼєкти, які посилаються на обʼєкти, що не є промісорами (у репозиторії), ці об’єкти, що не є промісорами, перепаковуються у пакунок промісорів. Це дозволяє уникнути ситуації, коли у репозиторії містяться об’єкти, що не є промісорами, доступ до яких здійснюється через об’єкти-промісори.
Вимагає, щоб <pack-file> не було вказано.
ПРИМІТКИ
Після створення індексу хеш, який входить до назви файлу pack/idx, виводиться в stdout. Якщо також використовувався --stdin, то перед ним ставиться префікс "pack\t" або "keep\t", якщо новий файл .keep було успішно створено. Це корисно для видалення файлу .keep, який використовується як блокування, щоб запобігти конкуренції з git repack, згаданим вище.
GIT
Частина набору git[1]