Русский ▾ Topics ▾ Latest version ▾ git-pack-refs last updated in 2.52.0

НАЗВАНИЕ

git-pack-refs - Упаковка указателей на ветки и меток для эффективного доступа к репозиторию

ОБЗОР

git pack-refs [--all] [--no-prune] [--auto] [--include <шаблон>] [--exclude <шаблон>]

ОПИСАНИЕ

Традиционно верхушки (tips) веток и меток (совместно известные как «ссылки») хранились по одному файлу на ссылку в (под)каталоге внутри каталога $GIT_DIR/refs. В то время как многие верхушки веток обновляются часто, большинство меток и некоторые верхушки веток никогда не обновляются. Когда в репозитории сотни или тысячи меток, этот формат «один файл на ссылку» приводит к потере места и снижению производительности.

Эта команда используется для решения проблемы хранения и производительности путём сохранения ссылок в одном файле, $GIT_DIR/packed-refs. Если ссылка отсутствует в традиционной иерархии каталогов $GIT_DIR/refs, она ищется в этом файле и используется, если найдена.

Последующие обновления веток всегда создают новые файлы в иерархии каталогов $GIT_DIR/refs.

Рекомендуемая практика для работы с репозиторием со слишком большим количеством ссылок — один раз упаковать (pack) его ссылки с помощью --all, а время от времени запускать git pack-refs. Метки по определению стационарны и не должны изменяться. Головы (heads) веток будут упакованы при первоначальном pack-refs --all, но только текущие активные головы веток станут распакованными, и следующий pack-refs (без --all) оставит их распакованными.

ПАРАМЕТРЫ

Warning

Missing ru/pack-refs-options.adoc

See original version for this content.

ОШИБКИ

В старой документации, написанной до появления механизма packed-refs, всё ещё могут встречаться фразы вроде «файл .git/refs/heads/<ветка> существует», когда подразумевается «ветка <ветка> существует».

GIT

Является частью пакета git[1]