Как отменить последствия одного коммита в Mercurial, сохранив при этом последующие коммиты?

При разработке одного веб-приложения я сделал одно крошечное изменение в одном коммите, а затем пошел дальше. Сегодня мой репозиторий продвинулся довольно далеко вперед. Я хочу отменить изменения, внесенные в этот конкретный коммит, сохранив при этом изменения, внесенные в последующие коммиты.

Как мне это сделать в Меркуриал?

Пример: предположим, что в коммите 96 я изменил логическую переменную, которая была истинной, на ложную.

Сегодня мой репозиторий имеет версию 678. Я хочу отменить только те изменения, которые были сделаны в коммите 96.

Как мне это сделать?


person Devdatta Tengshe    schedule 19.06.2014    source источник
comment
Как упоминал @LazyBadger, backout — это то, что вам нужно.   -  person Edward    schedule 19.06.2014


Ответы (1)


  • Удалить набор изменений с помощью hg strip|hg histedit (-1 набор изменений в истории)

or

  • Отменить набор изменений с помощью hg backout (+1 набор изменений в истории, который отменяет изменения из неправильного набора изменений)
person Lazy Badger    schedule 19.06.2014
comment
Backout - лучший ответ. Если кто-то еще использует репозиторий, strip и histedit не будут работать, вы получите набор изменений обратно при следующем извлечении (если только вы не используете эволюцию набора изменений, но это не так). Оставайтесь с hg backout - person Ry4an Brase; 19.06.2014