Як я можу скасувати останню випадково скоєну (не натиснуту) зміну в Mercurial?
Якщо це можливо, було б кращим способом зробити це з TortoiseHg.
Оновлення
У моєму конкретному випадку я здійснив набір змін (не натискав). Потім я витягнув і оновив з сервера. Завдяки цим новим оновленням я вирішив, що остання фіксація застаріла, і я не хочу її синхронізувати. Тож здається, що hg rollback
це не саме те, що я шукаю, тому що це відкине потяг замість моєї фіксації.
strip --keep
: stackoverflow.com/questions/29413851/… безпосередньо вирішує завдання, як і QQport MQ. Крім того, може бути краще просто rebase
в сценарії, якщо місцеві зміни також мають бути збережені і не буде конфлікту. (Використовуйте об'єднання, щоб зберегти деякі комбіновані зміни з обох гілок, коли це бажана кінцева мета графа, особливо у випадку, який не є швидким вперед.) Це також може бути справедливим лише для закриття гілки, яка все ще "зберігає історію" (але інакше, ніж злиття) залежно від бажаного кінцевого стану.
hg strip --keep
це команда зробити використання, але ви повинні забезпечити перегляд, наприклад: hg strip --keep -r .
. Ця відповідь добре пояснює stackoverflow.com/a/19064016/1286571
hg rollback
, а потім знову потягнути?