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

НАЗВА

git-revert - Скасувати деякі існуючі коміти

СИНОПСИС

git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] <commit>…​
git revert (--continue | --skip | --abort | --quit)

ОПИС

Враховуючи один або декілька існуючих комітів, скасуйте зміни, внесені відповідними патчами, та запишіть кілька нових комітів, які їх записують. Це вимагає, щоб ваше робоче дерево було чистим (без змін з коміту HEAD).

Примітка: «git revert» використовується для запису деяких нових комітів, щоб скасувати ефект деяких попередніх комітів (часто лише помилкового). Якщо ви хочете видалити всі незакомічені зміни у вашому робочому каталозі, вам слід побачити git-reset[1], зокрема опцію --hard. Якщо ви хочете видобути певні файли так, як вони були в іншому коміті, вам слід побачити git-restore[1], зокрема опцію --source. Будьте обережні з цими альтернативами, оскільки обидва варіанти відкинуть незакомічені зміни у вашому робочому каталозі.

Дивіться розділ «Скидання, відновлення та повернення до початкового стану» в git[1], щоб ознайомитися з відмінностями між цими трьома командами.

ОПЦІЇ

<commit>…​

Коміти для повернення. Повніший список способів написання назв комітів див. у gitrevisions[7]. Також можна вказати набори комітів, але обхід за замовчуванням не виконується, див. git-rev-list[1] та його опцію --no-walk.

-e
--edit

З цією опцією, «git revert» дозволить вам редагувати повідомлення коміту перед комітом повернення. Це значення за замовчуванням, якщо ви виконуєте команду з терміналу.

-m parent-number
--mainline parent-number

Зазвичай ви не можете скасувати злиття, оскільки не знаєте, яку сторону злиття слід вважати основною. Ця опція вказує номер батьківського елемента (починаючи з 1) основної лінії та дозволяє скасувати зміни відносно зазначеного батьківського елемента.

Скасування коміту злиття оголошує, що ви ніколи не захочете змін у дереві, внесених злиттям. Як результат, наступні злиття принесуть лише зміни в дереві, внесені комітами, які не є предками попередньо скасованого злиття. Це може бути те, що вам потрібно, а може й ні.

Див. revert-a-faulty-merge How-To для отримання додаткової інформації.

--no-edit

З цією опцією, git revert не запускатиме редактор повідомлень комітів.

--cleanup=<mode>

Цей параметр визначає, як повідомлення коміту буде очищено перед передачею на механізм комітів. Див. git-commit[1] для отримання додаткової інформації. Зокрема, якщо для <mode> надано значення scissors, scissors буде додано до MERGE_MSG перед передачею у разі конфлікту.

-n
--no-commit

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

Це корисно, коли потрібно повернути ефект кількох комітів до вашого індексу поспіль.

-S[<keyid>]
--gpg-sign[=<keyid>]
--no-gpg-sign

Коміти GPG-sign. Аргумент keyid є необов’язковим і за замовчуванням використовує ідентифікатор комітера; якщо його вказано, він має бути прив’язаний до опції без пробілу. --no-gpg-sign корисний для скасування як змінної конфігурації commit.gpgSign, так і попередньої змінної --gpg-sign.

-s
--signoff

Додайте трейлер Signed-off-by в кінці повідомлення коміту. Дивіться опцію підписання в git-commit[1] для отримання додаткової інформації.

--strategy=<strategy>

Використовуйте задану стратегію злиття. Слід використовувати лише один раз. Див. розділ СТРАТЕГІЇ ЗЛИТТЯ в git-merge[1] для отримання детальної інформації.

-X<option>
--strategy-option=<option>

Передайте специфічний для стратегії злиття параметр до стратегії злиття. Див. git-merge[1] для отримання детальної інформації.

--rerere-autoupdate
--no-rerere-autoupdate

Після того, як механізм rerere повторно використає записане вирішення поточного конфлікту для оновлення файлів у робочому дереві, дозвольте йому також оновити індекс результатом вирішення. --no-rerere-autoupdate — це гарний спосіб перевірити, що зробив rerere, та виявити потенційні помилки злиття, перш ніж занести результат до індексу за допомогою окремого git add.

--reference

Замість того, щоб починати тіло повідомлення журналу з "This reverts <повна-назва-об’єкта-коміту-що-відновлюється>.", зверніться до коміту, використовуючи формат "--pretty=reference" (пор. git-log[1]). Змінну конфігурації revert.reference можна використовувати для ввімкнення цієї опції за замовчуванням.

ПІДКОМАНДИ СЕКВЕНСЕРА

--continue

Продовжуйте поточну операцію, використовуючи інформацію з .git/sequencer. Можна використовувати для продовження після вирішення конфліктів у невдалому виборі вишневого коду або поверненні.

--skip

Пропустити поточний коміт та продовжити решту послідовності.

--quit

Забудьте про поточну операцію, що виконується. Може використовуватися для очищення стану секвенсора після невдалого вибору попередніх налаштувань або повернення до попереднього стану.

--abort

Скасувати операцію та повернутися до стану перед послідовністю.

ПРИКЛАДИ

git revert HEAD~3

Скасувати зміни, зазначені в передостанньому коміті в HEAD, та створити новий коміт зі скасованими змінами.

git revert -n master~5..master~2

Скасувати зміни, внесені комітами, починаючи з п’ятого останнього коміта в master (включно) до третього останнього коміта в master (включно), але не створювати жодного коміта зі скасованими змінами. Скасування змінює лише робоче дерево та індекс.

ОБГОВОРЕННЯ

Хоча git автоматично створює базове повідомлення коміту, наполегливо рекомендується пояснювати, чому оригінальний коміт скасовується. Крім того, багаторазове скасування скасувань призведе до дедалі громіздкіших тем листів, наприклад, «Reapply "Reapply "<оригінальна-тема>""». Будь ласка, подумайте про те, щоб переформулювати їх, щоб вони були коротшими та унікальнішими.

КОНФІГУРАЦІЯ

Все, що знаходиться нижче цього рядка в цьому розділі, вибірково включено з документації git-config[1]. Вміст такий самий, як і там:

Warning

Missing uk/config/revert.adoc

See original version for this content.

ДИВ. ТАКОЖ

GIT

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