回答:
使用する svn revert --recursive folder_name
svn revert
データ全体、つまりコミットされていない変更を破棄することを目的としているため、本質的に危険です。元に戻すと、Subversionはそれらのコミットされていない変更を取り戻す方法を提供しません。
http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.revert.html
svn revert
新しく追加された変更も削除しHEAD
ます。反対票を削除しましたが、それでも警告は重要だと感じています。
svn rm --keep-local folder_name
注:svn 1.5.4では、--keep-localが指定されている場合でも、svn rmはバージョン管理されていないファイルを削除します。詳細については、http://svn.haxx.se/users/archive-2009-11/0058.shtmlを参照してください。
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
svn revert
。ここでの回答はいずれも、ローカルの変更が元に戻すことによって失われるという事実について言及していません。
完全なプロセス(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 ignoreを編集します
svn propedit svn:ignore .
次のように2つのシングル行を追加します。
folderToIgnore
fileToIgnore2.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"
revert
は、リビジョンを指定せずに、指定したファイルの追加/削除のスケジュール変更を含む、最後のチェックアウト以降に発生した変更を元に戻します。