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.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-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 See original version for this content. |
GIT
Частина набору git[1]