HG: Отменить фиксацию из истории
У меня есть репозиторий HG с оборотами 1, 2, 3, 4, 5 и 6.
Когда я совершил оборот 4, я неосознанно исказил некоторые изменения в rev3, которых я не должен был. Я не заметил этого, пока rev 6 не был уже совершен.
Мне нужно отменить изменения в rev 4, но затем повторно применить все остальные изменения после этого. В основном отменить фиксацию # 4. Как я могу это сделать?
Ответы
Ответ 1
Вы хотите hg backout
Отменить/отменить эффект ранее changeset...
Рецидив работает, применяя набор изменений, который будет отменен в противоположном от набора изменений. Этот новый набор изменений привязан к repository и, в конце концов, слит...
Ответ 2
Вы можете использовать расширение MQ:
hg qinit
hg qimport -r 4:tip
hg qpop -a
hg qdelete 4.diff
hg qpush -a
hg qfinish -a
Выше описано, как вы переписываете историю, и это то, что вы хотите, я верю.
Вы также можете использовать hg backout
, но это отменяет фиксацию в вашем рабочем каталоге, и вы можете зафиксировать это.