Оба hg revert
и hg backout
возвращают изменения, сделанные предыдущей ревизией. В чем разница между двумя?
В чем разница между hg revert и hg backout?
Ответ 1
Учитывая историю изменений:
A --- B --- C --- D --- E
[bad] (*)
hg revert -r B
: Оставайтесь с текущей версией, но обновляйте рабочий каталог
начиная с версии B
. Он имеет эффект патча, который отменяет изменения
C
, D
и E
.
hg backout -r C
: обновить рабочий каталог, чтобы он содержал слияние
версии C parent (B
) и текущей ревизии, сохраняющей изменения
между двумя версиями (рабочий каталог все еще содержит изменения
ревизия D
и E
). Это влияет на патч, примененный на E
,
отменяя изменения только C
.
Возможно, вы захотите отредактировать некоторые файлы, если не все из C
были плохими. Не забудьте сделать
a hg commit
в любом случае:
A --- B --- C --- D --- E --- F
[bad] (*)