Отменить svn add без возврата локальных изменений

Я случайно запустил svn add * и добавил кучу файлов, которые не должны находиться в репозитории. У меня также есть локальные изменения в некоторых файлах, которые я хочу сохранить. Есть ли простой способ просто отменить svn add без возврата локальных изменений? Основное предложение, которое я вижу в Google, - svn revert, которое якобы отменяет локальные изменения.

Ответ 1

Это будет:

svn rm --keep-local .

То же самое случилось со мной.:-P

(отметить конечную точку)

Ответ 2

Если эти файлы находятся в каталоге, который еще не был зафиксирован, вы можете удалить содержимое всего каталога из следующего коммита, выполнив:

svn delete --keep-local /path/to/directory

Однако, если эти файлы уже находятся в репозитории и теперь содержат изменения, которые вы не хотите совершать, вы можете передать остальные файлы с помощью списков изменений:

svn changelist somename /file/to/be/committed
svn commit --changelist somename

Ответ 3

Вы можете исправить ваш заказ следующим образом:

  • Резервное копирование локальных файлов
  • Отменить проверку SVN
  • Восстановить файлы

-

rsync -av --exclude .svn/ YOURDIR YOURDIR.bak
svn revert -R YOURDIR
rsync -av YOURDIR.bak/* YOURDIR 

Ответ 4

У меня была такая же проблема, я случайно добавляю каталог/через svn add, содержащий двоичные файлы и скомпилированный файл. Эта команда фактически удаляет каталог.

svn rm --force <directory-name>

В моем случае мне не нужен каталог, поэтому его можно было бы удалить. Если вы хотите сохранить файлы/каталоги, сохранив их до места, прежде чем применять команду и после ее копирования