Русский ▾ Topics ▾ Latest version ▾ git-revert last updated in 2.54.0
Changes in the git-revert manual
  1. 2.55.0 no changes
  2. 2.54.0 2026年04月20日
  3. 2.50.1 → 2.53.0 no changes
  4. 2.50.0 2025年06月16日
  5. 2.44.1 → 2.49.1 no changes
  6. 2.44.0 2024年02月23日
  7. 2.43.1 → 2.43.7 no changes
  8. 2.43.0 2023年11月20日
  9. 2.39.1 → 2.42.4 no changes
  10. 2.39.0 2022年12月12日
  11. 2.38.1 → 2.38.5 no changes
  12. 2.38.0 2022年10月02日
  13. 2.37.1 → 2.37.7 no changes
  14. 2.37.0 2022年06月27日
  15. 2.30.1 → 2.36.6 no changes
  16. 2.30.0 2020年12月27日
  17. 2.27.1 → 2.29.3 no changes
  18. 2.27.0 2020年06月01日
  19. 2.23.1 → 2.26.3 no changes
  20. 2.23.0 2019年08月16日
  21. 2.22.1 → 2.22.5 no changes
  22. 2.22.0 2019年06月07日
  23. 2.10.5 → 2.21.4 no changes
  24. 2.9.5 2017年07月30日
  25. 2.8.6 no changes
  26. 2.7.6 2017年07月30日
  27. 2.6.7 2017年05月05日
  28. 2.1.4 → 2.5.6 no changes
  29. 2.0.5 2014年12月17日

Check your version of git by running

git --version

НАЗВАНИЕ

git-revert — отмена некоторых существующих коммитов

ОБЗОР

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

Отменить операцию и вернуться в состояние до последовательности.

ПРИМЕРЫ

git revert HEAD~3

Отменить изменения, указанные четвёртым с конца коммитом в HEAD, и создать новый коммит с отменёнными изменениями.

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

Отменить изменения, сделанные коммитами от пятого с конца коммита в master (включительно) до третьего с конца коммита в master (включительно), но не создавать никаких коммитов с отменёнными изменениями. Отмена изменяет только рабочий каталог и индекс.

ОБСУЖДЕНИЕ

Хотя git автоматически создаёт базовое сообщение коммита, настоятельно рекомендуется объяснять, почему исходный коммит отменяется. Кроме того, многократная отмена отмен приведёт к всё более громоздким строкам темы, например Reapply "Reapply "<original-subject>"". Пожалуйста, рассмотрите возможность переформулировать их, чтобы сделать короче и уникальнее.

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

Дальнейшее содержание этого раздела, выборочно повторяет то, что можно найти в документации git-config[1]:

Warning

Missing ru/config/revert.adoc

See original version for this content.

СМ. ТАКЖЕ

GIT

Является частью пакета git[1]

AltStyle によって変換されたページ (->オリジナル) /