У Intellij есть функция, которая очень крута в теории, называется Smart Checkout. Эта функция срабатывает, когда вы меняете филиалы, и у вас есть файлы в текущей ветке, которые вы изменили, но не сделали.Undo Intellij Smart Checkout
Вместо того, чтобы заставлять вас совершать, хранить или откладывать свои изменения, он застревает их для вас, переключает ветви, а затем запускает stash pop
в новой ветке.
Я предполагаю, что это то, что вы хотели бы иногда, но я запускал это при переключении на неправильную ветку.
Итак, теперь моя ветка master
полна изменений, которые принадлежат другой ветке, некоторые файлы сообщают о конфликтах слияния, и у меня есть все виды боли.
То, что я хочу сделать это:
- Чистоплотный удалить изменения из основной ветви.
- Верните их обратно в филиал, где я работал.
Есть ли способ сделать это?
Кстати, потеря этих изменений довольно мучительна .... несколько рабочий день. Я хотел бы вернуть их. – mlissner
Этот тип магии - именно то, почему я предпочитаю использовать интеграцию IDE VCS только для операций чтения и всегда добавлять, зашивать, фиксировать и т. Д. В командной строке. в любом случае вы можете восстановить спрятанные изменения (здесь есть много вопросов, связанных с SO, например http://stackoverflow.com/questions/89332/how-to-recover-a-dropped-stash-in-git), легко используя git. – ThiefMaster
Использование такого инструмента, как Atlassian Sourcetree, предупредит вас о том, что ваши местные изменения будут перезаписаны кассой, что позволит избежать этой ситуации! Я думаю, что команда, подобная инструменту git, может делать то же самое, но я не уверен на 100%. – mvd