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.54.0
2026-04-20
- 2.50.1 → 2.53.0 no changes
-
2.50.0
2025-06-16
- 2.44.1 → 2.49.1 no changes
-
2.44.0
2024-02-23
- 2.43.1 → 2.43.7 no changes
-
2.43.0
2023-11-20
- 2.39.1 → 2.42.4 no changes
-
2.39.0
2022-12-12
- 2.38.1 → 2.38.5 no changes
-
2.38.0
2022-10-02
- 2.37.1 → 2.37.7 no changes
-
2.37.0
2022-06-27
- 2.30.1 → 2.36.6 no changes
-
2.30.0
2020-12-27
- 2.27.1 → 2.29.3 no changes
-
2.27.0
2020-06-01
- 2.23.1 → 2.26.3 no changes
-
2.23.0
2019-08-16
- 2.22.1 → 2.22.5 no changes
-
2.22.0
2019-06-07
- 2.10.5 → 2.21.4 no changes
-
2.9.5
2017-07-30
- 2.8.6 no changes
-
2.7.6
2017-07-30
-
2.6.7
2017-05-05
- 2.1.4 → 2.5.6 no changes
-
2.0.5
2014-12-17
СИНОПСИС
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. Аргумент
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— це хороший спосіб ще раз перевірити, що зробив git-rerere[1], і виявити можливі помилки злиття, перш ніж зафіксувати результат в індексі за допомогою окремої команди git-add[1].
- --reference
-
Замість того, щоб починати тіло повідомлення журналу з "This reverts <повна-назва-обʼєкта-коміту-що-відновлюється>.", посилайтесь на коміт, використовуючи формат "--pretty=reference" (пор. git-log[1]). Для стандартного увімкнення цієї опції можна використати змінну конфігурації
revert.reference.
СУБКОМАНДИ СЕКВЕНСОРА
- --continue
-
Продовжити поточну операцію, використовуючи інформацію з теки
.git/sequencer. Цю функцію можна використовувати для продовження роботи після усунення конфліктів, що виникли під час невдалого вибору змін або відкату (cherry-pick або revert). - --skip
-
Пропустити поточний коміт та продовжити решту послідовності.
- --quit
-
Забути про поточну операцію, що виконується. Може використовуватися для очищення стану секвенсора після невдалого вибіркового відновлення або відкату (cherry-pick або revert.).
- --abort
-
Скасувати операцію та повернутися до попереднього стану.
ПРИКЛАДИ
-
gitrevertHEAD~3 -
Скасувати зміни, внесені в попередньому четвертому коміті в HEAD, і створити новий коміт зі скасованими змінами.
-
gitrevert-nmaster~5..master~2 -
Скасувати зміни, внесені комітами, починаючи з пʼятого останнього коміту в master (включно) до третього останнього коміта в master (включно), але не створювати жодного коміта зі скасованими змінами. Скасування змінює лише робоче дерево та індекс.
ОБГОВОРЕННЯ
Хоча git автоматично створює базове повідомлення коміту, наполегливо рекомендується пояснювати, чому оригінальний коміт скасовується. Крім того, багаторазове скасування скасувань призведе до дедалі громіздкіших тем листів, наприклад, «Reapply "Reapply "<оригінальна-тема>""». Будь ласка, подумайте про те, щоб переформулювати їх, щоб вони були коротшими та унікальнішими.
КОНФІГУРАЦІЯ
Все, що знаходиться нижче цього рядка в цьому розділі, вибірково включено з документації git-config[1]. Вміст такий самий, як і там:
|
Warning
|
Missing See original version for this content. |
GIT
Частина набору git[1]