2011-08-11 21 views
14

SVN リビジョンMからリビジョンN(M> N)の作業コピーではなく、git reset -hardのようにリビジョンを元に戻したいとします。"git reset --hard" with SVN

どうすればいいですか?

答えて

9

EDIT

他の回答(https://stackoverflow.com/a/24500425/520162は)私が提案したものよりもよりよい解決策であるように思われます。それをチェックしてください!クライアントで


、それは簡単です:

svn checkout -r <revision> url://path/to/repo 

はそれを行う必要があります。

編集した質問のように、サーバー上にいる場合は、達成したいことによって異なります。


あなたは、N後に離れてすべてのリビジョンを投げ、その後

svnadmin dump -r1:N yourrepo > repo.dump 

を行い、古いレポを削除した場合は、新しいもの

svnadmin create newrepo 
svnadmin load newrepo < repo.dump 

を作成したい場合あなたのレポを保ちたい、クライアント上でNをチェックし、サーバにコミットして、Nは最新の状態です。


3つ目は:Nから始まるブランチを設定し、その1つの上で動作します。

+0

非常にありがとうございます! – Quentin

+0

@Quentin:どのように使いましたか? – eckes

+0

次の答え '' 'svn revert - 再帰的に解決する方が良いでしょう。 '' ' –

31

ここに行きます。

svn revert --recursive . 
+1

これは、選択された答えよりも好ましいと思われます。コマンドを覚えやすく、リポジトリのURLを掘り起こさない)。 – Kat

+0

svn revert - 再帰 - ブランチの競合に対して再帰が機能しませんでした。私はsvnのチェックアウトでそれを修正することができました。 – sgowd