Я случайно запустил svn add *
и добавил кучу файлов, которые не должны находиться в репозитории. У меня также есть локальные изменения в некоторых файлах, которые я хочу сохранить. Есть ли простой способ просто отменить svn add
без возврата локальных изменений? Основное предложение, которое я вижу в Google, - svn revert
, которое якобы отменяет локальные изменения.
Отменить svn add без возврата локальных изменений
Ответ 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>
В моем случае мне не нужен каталог, поэтому его можно было бы удалить. Если вы хотите сохранить файлы/каталоги, сохранив их до места, прежде чем применять команду и после ее копирования