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.54.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] [<log-options>] [<ref>]gitrefloglistgitreflogexists<ref>gitreflogwrite<ref> <old-oid> <new-oid> <message>gitreflogdelete[--rewrite] [--updateref] [--dry-run|-n] [--verbose] <ref>@{<specifier>}...gitreflogdrop[--all[--single-worktree] | <refs>…]gitreflogexpire[--expire=<time>] [--expire-unreachable=<time>] [--rewrite] [--updateref] [--stale-fix] [--dry-run|-n] [--verbose] [--all[--single-worktree] | <refs>…]
ОПИС
Ця команда управляє інформацією, що зберігається в reflogs (журналах посилань).
Журнали посилань, або "reflogs", записують, коли вершини гілок та інші посилання оновлювалися в локальному репозиторії. Reflogs корисні в різних командах Git для визначення старого значення посилання. Наприклад, HEAD@{2} означає "де HEAD був два кроки тому", master@{one.week.ago} означає "куди master вказував тиждень тому в цьому локальному репозиторії" тощо. Див. gitrevisions[7] для отримання додаткової інформації.
Команда приймає різні субкоманди та різні опції залежно від них:
Субкоманда «show» (яка також є стандартною, якщо не вказано інших субкоманд) показує журнал посилання, вказаного в командному рядку (або зазвичай HEAD). Журнал reflog охоплює всі останні дії, а крім того, журнал HEAD фіксує перемикання гілок. git reflog show є псевдонімом для git log -g --abbrev-commit --pretty=oneline; див. git-log[1] для отримання додаткової інформації.
Субкоманда «list» виводить список усіх ref, які мають відповідний reflog.
Субкоманда «exists» перевіряє, чи є у ref журнал reflog. Вона завершується з кодом 0, якщо журнал reflog існує, і з кодом, відмінним від 0, якщо його немає.
Субкоманда «write» записує один запис у журнал посилань (reflog) вказаного об’єкта-посилання. Цей новий запис додається в кінець журналу посилань і, таким чином, стає найновішим записом. Ім’я об’єкта-посилання має бути вказано у повному вигляді. Ідентифікатори як старого, так і нового об’єкта не повинні бути скороченими та мають вказувати на наявні об’єкти. Повідомлення журналу посилань нормалізується.
Субкоманда «delete» видаляє окремі записи з reflog, але не сам reflog. Її аргументом має бути точний запис (наприклад, «git reflog delete master@{2}»). Зазвичай ця субкоманда також не використовується кінцевими користувачами безпосередньо.
Субкоманда «drop» повністю видаляє журнал посилань для вказаних посилань. Вона відрізняється від команд «expire» та «delete», які можна використовувати для видалення записів із журналу посилань, але не самого журналу.
Субкоманда «expire» видаляє старі записи з reflog. Записи, які старші за час, вказаний у параметрі expire, або записи, які старші за час, вказаний у параметрі expire-unreachable, і до яких неможливо дістатися з поточної кінцевої точки, видаляються з reflog. Зазвичай кінцеві користувачі не використовують цю функцію безпосередньо — натомість див. git-gc[1].
ОПЦІЇ
Опції для delete
Команда git reflog delete приймає опції --updateref, --rewrite, -n, --dry-run та --verbose з тими ж значеннями, що й під час їх використання з expire.
Опції для expire
-
--all -
Обробляти reflogs всіх посилань.
-
--single-worktree -
Стандартно, якщо вказано параметр
--all, обробляються reflogs з усіх робочих дерев. Цей параметр обмежує обробку лише reflogs з поточного робочого дерева. -
--expire=<time> -
Видаляти записи, старіші за вказаний час. Якщо цей параметр не вказано, час закінчення терміну дії береться з налаштування конфігурації
gc.reflogExpire, яке, у свою чергу, зазвичай становить 90 днів.--expire=allвидаляє записи незалежно від їхнього віку;--expire=neverвимикає видалення доступних записів (але див.--expire-unreachable). -
--expire-unreachable=<time> -
Видалити записи, старші за <time>, до яких неможливо дістатися з поточної іершини гілки. Якщо цей параметр не вказано, час закінчення терміну дії береться з параметра конфігурації
gc.reflogExpireUnreachable, який за замовчуванням становить 30 днів.--expire-unreachable=allвидаляє недоступні записи незалежно від їхнього віку;--expire-unreachable=neverвимикає дострокове видалення недоступних записів (але див.--expire). -
--updateref -
Оновити посилання на значення найвищого запису журналу посилань (тобто <ref>@{0}), якщо попередній найвищий запис було вилучено. (Цей параметр ігнорується для символічних посилань.)
-
--rewrite -
Якщо попередній запис у журналі reflog було видалено, слід змінити його «старий» SHA-1 так, щоб він збігався з «новим» полем SHA-1 запису, який тепер стоїть перед ним.
-
--stale-fix -
Видалить із reflog усі записи, що вказують на «поламані коміти». Поламаний коміт — це коміт, до якого неможливо дістатися з жодного з кінців посилань і який прямо чи опосередковано посилається на відсутній коміт, дерево або об’єкт blob.
Це обчислення включає обхід усіх досяжних обʼєктів, тобто має таку ж вартість, як і «git prune». Воно в першу чергу призначене для виправлення пошкоджень, спричинених збиранням сміття за допомогою старіших версій Git, які не захищали обʼєкти, на які посилаються reflogs.
-
-n -
--dry-run -
Насправді не вилучати жодних записів; просто показати те, що мало б бути вилучено.
-
--verbose -
Виводити додаткову інформацію на екран.
GIT
Частина набору git[1]