У меня есть рабочий каталог SVN. Я сделал некоторые изменения в этом каталоге, и он показывает в svn status
. Но есть ли для меня способ удалить все мои изменения и просто получить все из транка с помощью командной строки?
195
У меня есть рабочий каталог SVN. Я сделал некоторые изменения в этом каталоге, и он показывает в svn status
. Но есть ли для меня способ удалить все мои изменения и просто получить все из транка с помощью командной строки?
svn revert -R .
svn up
Это рекурсивно вернет текущий каталог и все, что в нем, а затем обновится до последней версии.
Я использовал комбинацию ответов других людей, чтобы придумать это решение:
Вернуть нормальные локальные изменения SVN
Удалить любые другие изменения и поддерживает удаление файлов / папок с пробелами и т. Д.
Не забудьте получить последние файлы из SVN
источник
источник
svn cleanup . --remove-ignored
Если у вас нет изменений, вы всегда можете быть очень тщательным и / или ленивым и делать ...
Но, нет, на самом деле, не делайте этого, если вы действительно не уверены, что вариант с ядерным оружием - это то, что вам нужно !! Это имеет преимущество в том, что он удаляет все сборки, временные файлы и вещи, которые SVN игнорирует.
Более правильное решение - использовать команду revert:
-R заставляет subversion возвращать и возвращать все в текущем рабочем каталоге и ниже.
источник
svn nuke-from-space
Ни один из ответов здесь не был таким, как я хотел. Вот что я придумал:
Проверено на Linux; может работать в Cygwin, но опирается (я полагаю) на специфичное для GNU расширение, которое позволяет разделять xargs на основе
'\0'
вместо пробелов.Преимущество вышеупомянутой команды в том, что она не требует какой-либо сетевой активности для сброса песочницы. Вы получаете именно то, что имели раньше, и теряете все свои изменения . (отказ от ответственности перед тем, как кто-то обвиняет меня в том, что этот код разрушает их работу) ;-)
Я использую этот скрипт в системе непрерывной интеграции, где я хочу убедиться, что после выполнения некоторых тестов выполняется чистая сборка.
Изменить : я не уверен, что это работает со всеми версиями Subversion. Не ясно,
svn status
всегда ли команда форматируется последовательно. Используйте на свой страх и риск, как с любой командой, которая использует такую общуюrm
команду.источник
svn revert отменит все ваши локальные изменения
источник
Вы можете использовать следующую команду, чтобы отменить все локальные изменения:
источник
Удалит любой файл, который был изменен. Кажется, я помню проблемы с возвратом, когда файлы и каталоги могли быть добавлены.
источник
SVN Revert
источник
Если вы находитесь в Windows, следующий цикл for вернет все незафиксированные изменения, внесенные в ваше рабочее пространство:
Если вы хотите удалить все незафиксированные изменения и все неверсионные объекты, потребуется 2 цикла:
источник