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.48.1 → 2.51.0 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).
- --[no-]rev-index
-
Якщо цей прапорець надано, генерувати зворотний індекс (файл
.rev
), що відповідає заданому пакету. Якщо надано--verify
, переконатися, що існуючий зворотний індекс є правильним. Має пріоритет надpack.writeReverseIndex
. - --stdin
-
Коли цей прапорець встановлено, пакет зчитується зі stdin, а потім копія записується в <pack-file>. Якщо <pack-file> не вказано, пакет записується в каталог objects/pack/ поточного репозиторію Git з ім’ям за замовчуванням, яке визначається з вмісту пакета. Якщо <pack-file> не вказано, спробуйте скористатися --keep, щоб запобігти конфлікту між цим процесом та «git repack».
- --fix-thin
-
Виправити "тонкий" пакет, створений командою
git
pack-objects
--thin
(див. посилання git-pack-objects[1] для отримання детальної інформації), додавши до пакету виключені об’єкти, на яких базуються дельтифіковані об’єкти. Ця опція має сенс лише в поєднанні з --stdin. - --keep
-
Перед переміщенням індексу до кінцевого місця призначення створіть порожній файл .keep для пов’язаного файлу пакета. Цей параметр зазвичай необхідний разом з --stdin, щоб запобігти одночасному видаленню щойно створеного пакета та індексу процесом «git repack» до того, як посилання можна буде оновити для використання об’єктів, що містяться в пакеті.
- --keep=<msg>
-
Як і у випадку з --keep, створіть файл .keep перед переміщенням індексу до його кінцевого місця призначення. Однак, замість створення порожнього файлу, помістіть <msg>, а потім LF, у файл .keep. Повідомлення <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
-
Тільки для внутрішнього використання.
Встановіть заголовок індикатора виконання. За замовчуванням заголовок «Отримання об’єктів», а якщо вказано
--stdin
, то «Індексування об’єктів». - --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]