ローカルコピーを削除せずにSVNリポジトリからファイルを削除する


217

ファイルシステムから削除せずに、SVNリポジトリに既にあるファイルを「削除」するにはどうすればよいですか?

TortoiseSVNまたはコマンドラインの説明は大歓迎です。

以下はうまくいきますが、もっと良いものを期待しています:

  1. ファイルをリポジトリ外の別の場所にコピーします。
  2. SVNファイルを削除します。
  3. コミット
  4. ファイルをコピーして戻し、将来のコミットでそれらを無視するようにしてください。

回答:


265
svn delete --keep-local the_file

4
「svn:invalid option:--keep-local」-1.4.6を使用しているためですか?
barfoon 2009年

7
@barfoon:はい、-keep-localはsvn 1.5.0以降でのみ使用できます。事前に手動でファイルをコピーするか、後でsvn catを使用してチェックアウトする必要があると思います。
phihag 2009年

4
そして、この操作の後にコミットを行うことを忘れないでください。
Teemu Leisti

4
ユーザーが更新すると、リポジトリから最新バージョンが取得されます。質問はリポジトリからファイルを削除する方法を尋ねるため、他のユーザーは更新時にthe_fileが削除されていることに気付くでしょう。
phihag 14

4
それは私が避けようとしていたことです。何かが誤ってチェックインされてしまうと、SVNから何かを消去するのは非常に困難です...
BrDaHa

104

ファイルとフォルダーの削除

リポジトリからアイテムを削除したいが、バージョン管理されていないファイル/フォルダーとしてローカルに保持したい場合は、拡張コンテキストメニュー→削除(ローカルに保持)を使用します。これを拡張コンテキストメニューに表示するには、エクスプローラーリストペイン(右ペイン)でアイテムを右クリックしながらShiftキーを押す必要があります。

完全に削除:
マウスの右クリック→メニュー→削除

ローカルで削除して保持:
Shift +右クリック→メニュー→削除


61

Shift+ TortoiseSVNでは、右クリックして「削除(ローカルに保持)」を含むメニューを表示することもできます。


0

ファイルの名前を変更し、「削除された」ファイルを含む変更をコミットします。新しい(名前が変更された)ファイルは含めないでください。

ファイルの名前を元に戻します。


-2

SVNから1つのxxx.javaファイルを削除する場合:

  1. ファイルが配置されているワークスペースパスに移動します。
  2. フォルダー(xxx.java)からそのファイルを削除します
  3. 右クリックしてコミットすると、ウィンドウが開きます。
  4. 削除したファイル(xxx.java)をフォルダーから選択し、もう一度右クリックして削除します。SVNからファイルが削除されます。

2
これでファイルが削除されますが、問題は、SVNから削除された後、元のファイルを保持することではありませんか?
ティモシージョーンズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.