Como posso desfazer minha última alteração acidentalmente confirmada (não pressionada) no Mercurial?
Se possível, seria preferível uma maneira de fazê-lo com o TortoiseHg.
Atualizar
No meu caso concreto, cometei um conjunto de alterações (não pressionado). Então eu puxei e atualizei do servidor. Com essas novas atualizações, decidi que meu último commit está obsoleto e não quero sincronizá-lo. Parece que hg rollback
não é exatamente isso que estou procurando, porque reverteria a atração em vez do meu commit.
strip --keep
: stackoverflow.com/questions/29413851/… resolve diretamente a tarefa, assim como o MQ qimport. Como alternativa, pode ser melhor simplesmente rebase
no cenário se as alterações locais também forem mantidas e não houver conflito. (Use uma mesclagem para manter algumas alterações combinadas de ambas as ramificações quando esse for o objetivo final do gráfico desejado, especialmente em um caso não-rápido.) Também pode ser válido apenas para fechar a ramificação, que ainda 'preserva o histórico' (mas diferente de uma mesclagem), dependendo do estado final desejado.
hg strip --keep
é o comando fazer uso, mas você precisa fornecer uma revisão, por exemplo: hg strip --keep -r .
. Esta resposta explica bem stackoverflow.com/a/19064016/1286571
hg rollback
e depois puxar novamente?