Откат плохих изменений с svn в Eclipse
допустим, я совершил некоторые плохие изменения в репозитории Subversion. Тогда я совершаю хорошие изменения, которые хочу сохранить.
Что было бы самым простым способом откатить эти плохие изменения в Eclipse и сохранить хорошие изменения? Предполагая, что файлы, относящиеся к плохим изменениям, не совпадают с файлами, относящимися к хорошим изменениям. Как все изменится, если хорошие изменения были внесены в те же файлы, что и плохие изменения?
Я в основном ищу способ сделать это с помощью плагинов Eclipse (Subclipse или подрывной), но команды командной строки также интересны.
7 ответов:
у вас есть два варианта для этого.
быстрый и грязный выбор файлов (с помощью ctrl) в окне проекта щелкните их правой кнопкой мыши, выберите команду
Replace with...
и тогда вы выберете лучший вариант для вас, отLatest from Repository
, или какой-нибудьBranch
версия. После получения этих файлов вы изменяете их (с пробелом или исправляете что-то, ваш вызов и фиксируете их для создания новой версии.более чистый способ выбирает
Merge
в меню команды и перемещаться по мастер, который поможет восстановить старую версию в актуальной редакции.обе команды имеют свои эквиваленты командной строки:
svn revert
иsvn merge
.
В Eclipse Ganymede (Subclipse)
выберите проект / файл, который содержит плохие изменения, и из всплывающего меню выберите:
Если вы хотите сделать 1 файл за раз, вы можете перейти к просмотру истории для файла, предполагая, что у вас установлен плагин Eclipse SVN. "Команда- > Показать Историю"
в представлении истории найдите последнюю хорошую версию этого файла, щелкните правой кнопкой мыши и выберите "получить содержимое". Это заменит вашу текущую версию содержимым этой версии. Затем вы можете зафиксировать изменения, когда вы все это исправили.
в Eclipse с помощью Subversive:
щелкните правой кнопкой мыши проект - > Команда - > слияние
в окне слияния выберите ревизии, которые вы хотите вернуть как обычно, но также включите флажок "обратное слияние".
сольет, как обычно.
Я написал несколько сообщений в блоге на эту тему. Тот, который является Субклип-центрическим:http://markphip.blogspot.com/2007/01/how-to-undo-commit-in-subversion.html и тот, который ориентирован на командную строку:http://blogs.collab.net/subversion/2007/07/second-chances/
в svnbook есть раздел о том, как Subversion позволяет вам отменить изменения из определенной ревизии, не затрагивая изменения, которые произошли в последующих версиях:
http://svnbook.red-bean.com/en/1.4/svn.branchmerge.commonuses.html#svn.branchmerge.commonuses.undo
Я не использую Eclipse много, но в TortoiseSVN вы можете сделать это из диалога из журнала; просто щелкните правой кнопкой мыши на ревизии, которую вы хотите вернуть, и выберите " вернуть изменения из этой ревизии".
в случае, если файлы, для которых вы хотите отменить "плохие изменения", имели "хорошие изменения" в последующих ревизиях, то процесс тот же. Изменения из" плохой "редакции будут отменены, оставив изменения из" хороших " версий нетронутыми, однако вы можете получить конфликты.