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.51.2 → 2.53.0 no changes
-
2.51.1
2025-10-15
- 2.50.1 → 2.51.0 no changes
-
2.50.0
2025-06-16
- 2.45.1 → 2.49.1 no changes
-
2.45.0
2024-04-29
- 2.39.1 → 2.44.4 no changes
-
2.39.0
2022-12-12
- 2.37.4 → 2.38.5 no changes
-
2.37.3
2022-08-30
- 2.35.1 → 2.37.2 no changes
-
2.35.0
2022-01-24
- 2.20.1 → 2.34.8 no changes
-
2.20.0
2018-12-09
- 2.17.0 → 2.19.6 no changes
-
2.16.6
2019-12-06
- 2.7.6 → 2.15.4 no changes
-
2.6.7
2017-05-05
- 2.5.6 no changes
-
2.4.12
2017-05-05
- 2.1.4 → 2.3.10 no changes
-
2.0.5
2014-12-17
ОБЗОР
gitreflog[show] [<параметры-журнала>] [<ссылка>]gitrefloglistgitreflogexists<ссылка>gitreflogwrite<ссылка> <старый-oid> <новый-oid> <сообщение>gitreflogdelete[--rewrite] [--updateref] [--dry-run|-n] [--verbose] <ссылка>@{<спецификатор>}...gitreflogdrop[--all[--single-worktree] | <ссылки>…]gitreflogexpire[--expire=<время>] [--expire-unreachable=<время>] [--rewrite] [--updateref] [--stale-fix] [--dry-run|-n] [--verbose] [--all[--single-worktree] | <ссылки>…]
ОПИСАНИЕ
Эта команда управляет информацией, записанной в журналах ссылок (reflogs).
Журналы ссылок, или «reflogs», записывают, когда обновлялись верхушки (tips) веток и других ссылок в локальном репозитории. Журналы ссылок полезны в различных командах Git для указания старого значения ссылки. Например, HEAD@{2} означает «где HEAD находился два действия назад», master@{one.week.ago} означает «куда master указывал неделю назад в этом локальном репозитории» и так далее. Для получения более подробной информации смотрите gitrevisions[7].
Команда принимает различные подкоманды и разные параметры в зависимости от подкоманды:
Подкоманда «show» (которая также используется по умолчанию, если не указаны никакие подкоманды) показывает журнал ссылки, указанной в командной строке (или HEAD по умолчанию). Журнал ссылок охватывает все недавние действия, и, кроме того, журнал ссылок HEAD записывает переключения веток. git reflog show — это псевдоним для git log -g --abbrev-commit --pretty=oneline; дополнительную информацию смотрите в git-log[1].
Подкоманда «list» выводит список всех ссылок, для которых существует соответствующий журнал ссылок.
Подкоманда «exists» проверяет, есть ли у ссылки журнал ссылок. Она завершается с нулевым статусом, если журнал ссылок существует, и с ненулевым статусом, если нет.
Подкоманда «write» записывает одну запись в журнал ссылок указанной ссылки. Эта новая запись добавляется в конец журнала ссылок и, таким образом, станет самой последней записью. Имя ссылки должно быть полностью квалифицированным. Как старый, так и новый ID объекта не должны быть сокращены и должны указывать на существующие объекты. Сообщение журнала ссылок нормализуется.
Подкоманда «delete» удаляет отдельные записи из журнала ссылок, но не сам журнал ссылок. Её аргументом должна быть точная запись (например, «git reflog delete master@{2}»). Обычно эта подкоманда также не используется напрямую конечными пользователями.
Подкоманда «drop» полностью удаляет журнал ссылок для указанных ссылок. Это отличается от «expire» и «delete», оба из которых можно использовать для удаления записей журнала ссылок, но не самого журнала ссылок.
Подкоманда «expire» подчищает (prunes) старые записи журнала ссылок. Записи старше времени expire или записи старше времени expire-unreachable и недостижимые из текущей верхушки (tip), удаляются из журнала ссылок. Обычно это не используется напрямую конечными пользователями — вместо этого смотрите git-gc[1].
ПАРАМЕТРЫ
Параметры для delete
git reflog delete принимает параметры --updateref, --rewrite, -n, --dry-run и --verbose с теми же значениями, что и при использовании с expire.
Параметры для expire
-
--all -
Обработать журналы ссылок всех ссылок.
-
--single-worktree -
По умолчанию, когда указан
--all, обрабатываются журналы ссылок из всех рабочих копий. Этот параметр ограничивает обработку только журналами ссылок из текущей рабочей копии. -
--expire=<время> -
Подчистить (prune) записи старше указанного времени. Если этот параметр не указан, время устаревания берётся из настройки конфигурации
gc.reflogExpire, которая по умолчанию составляет 90 дней.--expire=allподчищает записи независимо от их возраста;--expire=neverотключает подчистку достижимых записей (но смотрите--expire-unreachable). -
--expire-unreachable=<время> -
Подчистить (prune) записи старше <время>, которые недостижимы из текущей верхушки (tip) ветки. Если этот параметр не указан, время устаревания берётся из настройки конфигурации
gc.reflogExpireUnreachable, которая по умолчанию составляет 30 дней.--expire-unreachable=allподчищает недостижимые записи независимо от их возраста;--expire-unreachable=neverотключает преждевременную подчистку недостижимых записей (но смотрите--expire). -
--updateref -
Обновить ссылку до значения верхней записи журнала ссылок (т.е. <ссылка>@{0}), если предыдущая верхняя запись была подчищена. (Этот параметр игнорируется для символических ссылок.)
-
--rewrite -
Если предшественник записи журнала ссылок подчищен, скорректировать её поле «старый» SHA-1, чтобы оно равнялось полю «новый» SHA-1 записи, которая теперь ей предшествует.
-
--stale-fix -
Подчистить (prune) все записи журнала ссылок, которые указывают на «сломанные коммиты». Сломанный коммит — это коммит, который недостижим ни из одной из верхушек (tips) ссылок и который прямо или косвенно ссылается на отсутствующий коммит, дерево или blob-объект.
Это вычисление включает обход всех достижимых объектов, т.е. оно требует таких же затрат, как и git prune. Оно предназначено в первую очередь для исправления повреждений, вызванных сборкой мусора с использованием старых версий Git, которые не защищали объекты, на которые ссылаются журналы ссылок.
-
-n -
--dry-run -
Фактически не подчищать (prune) никакие записи; только показать, что было бы подчищено.
-
--verbose -
Выводить дополнительную информацию на экран.
GIT
Является частью пакета git[1]