українська мова ▾ Topics ▾ Latest version ▾ git-reflog last updated in 2.50.0

НАЗВА

git-reflog - Керування інформацією про рефлог

СИНОПСИС

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" перевіряє, чи має посилання журнал посилань. Вона завершує роботу з нульовим статусом, якщо журнал посилань існує, і з ненульовим статусом, якщо його немає.

ОПЦІЇ

Варіанти для show

git reflog show приймає будь-які опції, прийняті git log.

Варіанти для 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 reflog delete приймає опції --updateref, --rewrite, -n, --dry-run та --verbose з тими ж значеннями, що й під час їх використання з expire.

Варіанти для drop

--all

Видалити рефлоги всіх посилань з усіх робочих дерев.

--single-worktree

За замовчуванням, коли вказано --all, рефлоги з усіх робочих дерев видаляються. Цей параметр обмежує обробку лише рефлогами з поточного робочого дерева.

GIT

Частина набору git[1]