"unadd" файл в SVN перед фиксацией - PullRequest
187 голосов
/ 25 мая 2010

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

Какой самый простой способ отменить это, не удаляя все документы?

Ответы [ 5 ]

236 голосов
/ 25 мая 2010

Использование svn revert --recursive folder_name


Внимание

svn revert по своей природе опасен, поскольку его цель - отбросить данные & mdash; а именно, ваши незафиксированные изменения. После того, как вы вернулись, Subversion не предоставляет способа вернуть эти незафиксированные изменения.

http://svnbook.red -bean.com / о / 1,7 / svn.ref.svn.c.revert.html

137 голосов
/ 24 февраля 2011

svn rm --keep-local folder_name

Примечание: в svn 1.5.4 svn rm удаляет неверсированные файлы, даже если указан ключ --keep-local. См. http://svn.haxx.se/users/archive-2009-11/0058.shtml для получения дополнительной информации.

30 голосов
/ 25 мая 2010

Попробуйте svn revert filename для каждого файла, который вам не нужен и еще не зафиксирован. Или же выполните svn revert -R folder для проблемной папки, а затем повторите операцию с корректным игнорированием конфигурации.

Из документации:

 you can undo any scheduling operations:

$ svn add mistake.txt whoops
A         mistake.txt
A         whoops
A         whoops/oopsie.c

$ svn revert mistake.txt whoops
Reverted mistake.txt
Reverted whoops
2 голосов
/ 21 ноября 2016

Полный процесс (пакет Unix svn):

Проверить файлы не в SVN:

> svn st -u folder 
? folder

Добавить все (включая игнорируемые файлы):

> svn add folder
A   folder
A   folder/file1.txt
A   folder/folder2
A   folder/folder2/file2.txt
A   folder/folderToIgnore
A   folder/folderToIgnore/fileToIgnore1.txt
A   fileToIgnore2.txt

Удалить флаг «Добавить» для всех * Игнорировать * файлы:

> cd folder

> svn revert --recursive folderToIgnore
Reverted 'folderToIgnore'
Reverted 'folderToIgnore/fileToIgnore1.txt'


> svn revert fileToIgnore2.txt
Reverted 'fileToIgnore2.txt'

Редактировать SVN игнорировать в папке

svn propedit svn:ignore .

Добавьте две одиночные строки со следующим:

folderToIgnore
fileToIgnore1.txt

Проверьте, какие файлы будут загружены и зафиксированы:

> cd ..

> svn st -u
A   folder
A   folder/file1.txt
A   folder/folder2
A   folder/folder2/file2.txt


> svn ci -m "Commit message here"
2 голосов
/ 11 февраля 2016

для файлов - svn revert filename

Для папок - svn revert -R folder

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...