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