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 <номер-родителя>] [-s] [-S[<id-ключа>]] <коммит>…
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 <номер-родителя>
- --mainline <номер-родителя>
-
Обычно вы не можете отменить слияние, потому что не знаете, какая сторона слияния должна считаться основной линией. Этот параметр указывает номер родителя (начиная с 1) основной линии и позволяет отменять изменение относительно указанного родителя.
Отмена коммита слияния объявляет, что вы никогда не захотите изменений в дереве, внесённых слиянием. В результате последующие слияния будут включать только изменения дерева, внесённые коммитами, которые не являются предками ранее отменённого слияния. Это может соответствовать вашим желаниям, а может и нет.
Более подробную информацию см. в revert-a-faulty-merge How-To.
- --no-edit
-
С этим параметром git revert не будет запускать редактор сообщений коммита.
- --cleanup=<режим>
-
Этот параметр определяет, как сообщение коммита будет очищено перед передачей механизму фиксации. Дополнительные сведения см. в git-commit[1]. В частности, если <режиму> присвоено значение
scissors, в случае конфликта кMERGE_MSGбудет добавлен разделительscissorsперед передачей. - -n
- --no-commit
-
Обычно команда автоматически создаёт некоторые коммиты с сообщениями журнала коммитов, указывающими, какие коммиты были отменены. Этот флаг применяет изменения, необходимые для отмены указанных коммитов, к вашему рабочему каталогу и индексу, но не создаёт коммиты. Кроме того, при использовании этого параметра ваш индекс не должен соответствовать коммиту HEAD. Отмена выполняется относительно начального состояния вашего индекса.
Это полезно, когда вы отменяете эффект более чем одного коммита в вашем индексе подряд.
- -S[<id-ключа>]
- --gpg-sign[=<id-ключа>]
- --no-gpg-sign
-
Подписывать коммиты с помощью GPG. Аргумент id-ключа необязателен, и если не указан, в качестве значения по умолчанию будет использоваться личное имя коммиттера; если аргумент указан, он должен следовать сразу после параметра, без пробела. Параметр
--no-gpg-signполезен, если нужно отменить переменную конфигурацииcommit.gpgSignили параметр--gpg-sign, заданный ранее. - -s
- --signoff
-
Добавляет завершитель (trailer)
Signed-off-byв конец сообщения коммита. Дополнительную информацию см. в описании опции signoff в 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может использоваться для включения этого параметра по умолчанию.
ПОДКОМАНДЫ ПОСЛЕДОВАТЕЛЯ (SEQUENCER)
- --continue
-
Продолжить выполняющуюся операцию, используя информацию в
.git/sequencer. Может использоваться для продолжения после разрешения конфликтов в неудачном копировании коммита или отмене. - --skip
-
Пропустить текущий коммит и продолжить с остальной частью последовательности.
- --quit
-
Забыть о текущей выполняющейся операции. Может использоваться для очистки состояния механизма последовательности после неудачного копирования коммита или отмены.
- --abort
-
Отменить операцию и вернуться в состояние до последовательности.
ПРИМЕРЫ
-
gitrevertHEAD~3 -
Отменить изменения, указанные четвёртым с конца коммитом в HEAD, и создать новый коммит с отменёнными изменениями.
-
gitrevert-nmaster~5..master~2 -
Отменить изменения, сделанные коммитами от пятого с конца коммита в master (включительно) до третьего с конца коммита в master (включительно), но не создавать никаких коммитов с отменёнными изменениями. Отмена изменяет только рабочий каталог и индекс.
ОБСУЖДЕНИЕ
Хотя git автоматически создаёт базовое сообщение коммита, настоятельно рекомендуется объяснять, почему исходный коммит отменяется. Кроме того, многократная отмена отмен приведёт к всё более громоздким строкам темы, например Reapply "Reapply "<original-subject>"". Пожалуйста, рассмотрите возможность переформулировать их, чтобы сделать короче и уникальнее.
КОНФИГУРАЦИЯ
Дальнейшее содержание этого раздела, повторяет то, что может быть найдено в git-config[1]:
|
Warning
|
Missing See original version for this content. |
GIT
Является частью пакета git[1]