Как я могу отменить последнее случайно внесенное (не отправленное) изменение в Mercurial?
Если возможно, предпочтительнее было бы сделать это с помощью TortoiseHg.
Обновить
В моем конкретном случае я выполнил набор изменений (не нажал). Потом вытащил и обновил с сервера. С этими новыми обновлениями я решил, что моя последняя фиксация устарела и я не хочу ее синхронизировать. Похоже, что hg rollback
это не совсем то, что я ищу, потому что это откатит тягу вместо моей фиксации.
strip --keep
: stackoverflow.com/questions/29413851/… напрямую решает задачу, как и MQ qimport. В качестве альтернативы, может быть лучше просто rebase
в сценарии, если локальные изменения также должны быть сохранены и нет конфликта. (Используйте слияние, чтобы сохранить некоторые объединенные изменения из обеих ветвей, когда это желаемая конечная цель графа, особенно в случае, не связанном с fastforward.) Также может быть допустимым просто закрыть ветвь, которая по-прежнему «сохраняет историю» (но иначе, чем слияние) в зависимости от желаемого конечного состояния.
hg strip --keep
это команда сделать использование, но вы должны обеспечить пересмотр, например: hg strip --keep -r .
. Этот ответ хорошо объясняет stackoverflow.com/a/19064016/1286571
hg rollback
и снова потянуть?