|
| 1 | +git-pack-refs(1) |
| 2 | +================ |
| 3 | + |
| 4 | +НАЗВА |
| 5 | +----- |
| 6 | +git-pack-refs - Пакування заголовків та тегів для ефективного доступу до репозиторію |
| 7 | + |
| 8 | +СИНОПСИС |
| 9 | +-------- |
| 10 | +[verse] |
| 11 | +'git pack-refs' [--all] [--no-prune] [--auto] [--include <pattern>] [--exclude <pattern>] |
| 12 | + |
| 13 | +ОПИС |
| 14 | +---- |
| 15 | + |
| 16 | +Традиційно, підказки гілок та тегів (разом відомі як «посилання») зберігалися в одному файлі на кожне посилання в (під)каталозі в каталозі `$GIT_DIR/refs`. Хоча багато підказок гілок, як правило, часто оновлюються, більшість тегів та деякі підказки гілок ніколи не оновлюються. Коли репозиторій містить сотні або тисячі тегів, цей формат «один файл на посилання» як марнує місце для зберігання, так і знижує продуктивність. |
| 17 | + |
| 18 | +Ця команда використовується для вирішення проблеми зберігання та продуктивності шляхом зберігання посилань в одному файлі `$GIT_DIR/packed-refs`. Коли посилання відсутнє в традиційній ієрархії каталогів `$GIT_DIR/refs`, воно шукається в цьому файлі та використовується, якщо знайдено. |
| 19 | + |
| 20 | +Подальші оновлення гілок завжди створюють нові файли в ієрархії каталогів `$GIT_DIR/refs`. |
| 21 | + |
| 22 | +Рекомендована практика для роботи з репозиторієм із занадто великою кількістю посилань полягає в тому, щоб один раз упакувати його посилання за допомогою `--all` та періодично запускати `git pack-refs`. Теги за визначенням є стаціонарними та не змінюються. Заголовки гілок будуть упаковані з початковим `pack-refs --all`, але розпакуються лише поточні активні заголовки гілок, а наступні `pack-refs` (без `--all`) залишать їх розпакованими. |
| 23 | + |
| 24 | + |
| 25 | +ОПЦІЇ |
| 26 | +----- |
| 27 | + |
| 28 | +--all:: |
| 29 | + |
| 30 | +За замовчуванням ця команда пакує всі теги та посилання, які вже упаковані, і залишає інші посилання без змін. Це пояснюється тим, що очікується активна розробка гілок, а пакування їхніх підказок не покращує продуктивність. Цей параметр також призводить до пакування всіх посилань, за винятком прихованих, пошкоджених та символічних посилань. Корисно для репозиторію з багатьма гілками історичного значення. |
| 31 | + |
| 32 | +--no-prune:: |
| 33 | + |
| 34 | +Зазвичай команда видаляє вільні посилання в ієрархії `$GIT_DIR/refs` після їх пакування. Цей параметр забороняє цьому робити. |
| 35 | + |
| 36 | +--auto:: |
| 37 | + |
| 38 | +Пакуйте посилання за потреби, залежно від поточного стану бази даних посилань. Поведінка залежить від формату посилань, що використовується репозиторієм, і може змінитися в майбутньому. |
| 39 | ++ |
| 40 | + - "files": Вільні посилання упаковуються у файл `packed-refs` на основі співвідношення вільних посилань до розміру файлу `packed-refs`. Чим більший файл `packed-refs`, тим більше вільних посилань має існувати перед повторним упакуванням. |
| 41 | ++ |
| 42 | + - "reftable": Таблиці стискаються таким чином, що вони утворюють геометричну послідовність. Для двох таблиць N та N+1, де N+1 новіша, це зберігає властивість, що N принаймні вдвічі більша за N+1. Стискаються лише таблиці, які порушують цю властивість. |
| 43 | + |
| 44 | +--include <візерунок>:: |
| 45 | + |
| 46 | +Пакувати посилання на основі шаблону `glob(7)`. Повторення цієї опції накопичують шаблони включення. Якщо посилання включено одночасно в `--include` та `--exclude`, `--exclude` має пріоритет. Використання `--include` виключає включення всіх тегів за замовчуванням. Символічні посилання та пошкоджені посилання ніколи не будуть упаковані. При використанні з `--all` це буде помилка. Використовуйте `--no-include` для очищення та скидання списку шаблонів. |
| 47 | + |
| 48 | +--exclude <pattern>:: |
| 49 | + |
| 50 | +Не пакувати посилання, що відповідають заданому шаблону `glob(7)`. Повторення цієї опції накопичують шаблони виключень. Використовуйте `--no-exclude` для очищення та скидання списку шаблонів. Якщо посилання вже упаковане, додавання його за допомогою `--exclude` не призведе до його розпакування. |
| 51 | ++ |
| 52 | +При використанні з `--all`, упаковувати лише вільні посилання, які не відповідають жодному з наданих шаблонів `--exclude`. |
| 53 | ++ |
| 54 | +При використанні з `--include`, посилання, надані `--include`, мінус посилання, надані `--exclude`, будуть упаковані. |
| 55 | +[] |
| 56 | + |
| 57 | + |
| 58 | +ПОМИЛКИ |
| 59 | +------- |
| 60 | + |
| 61 | +Старіша документація, написана до введення механізму packed-refs, може все ще містити повідомлення на кшталт «.git/refs/heads/<гілка> файл існує», коли це означає «гілка <гілка> існує». |
| 62 | + |
| 63 | + |
| 64 | +GIT |
| 65 | +--- |
| 66 | +Частина набору linkgit:git[1] |
0 commit comments