TortoiseSVNでコミットを取り消す


99

誤って大量のファイル(異なるフォルダーにある何十ものファイル)をコミットしました。作業ディレクトリからファイルを削除せずにコミットを「取り消す」ための最も簡単でクリーンな(そして最も安全な!)方法は何ですか?

回答:


151

[ログ画面の表示]に移動し、元に戻すリビジョンを選択して右クリックし、[ このリビジョンから変更を元に戻す ]を選択します。これによりリバースマージが行われます。


8
それは私が期待していたことですが、最新のカメリリースにはサインがありません
アンソニーメイン

39
ローカルでマージするだけなので、後でコミットすることを忘れないでください。
pihentagy 2011

5
これを行う前に必ず作業コピーを更新してください。そうしないと何も起こりません。
Florian Brucker 2013年

1
この手順のドキュメント:tortoisesvn.net/docs/release/TortoiseSVN_en/...
コスタ

TortoiseSVNは>の表示ログ> <古いrevesionを選択>>このリビジョンに戻すtortoisesvn.net/docs/nightly/TortoiseSVN_en/...
Satyendra

15

コマンドラインを使用する必要がある場合がありますが、SVNマージコマンドを使用してリビジョンを逆に指定し、コミットを効果的に元に戻すことができます。悪いコミットがr1123であるとすると、次のようになります。

svn merge -r1123:1122 <url of your working copy>

私がこのようにしても何も変わりません:svn merge -r 1880:1879 server / myproject / branches / problem42 この「-r 1880:1879」のようなスペースと「-r1880:1879」のようなスペースなしの両方を試しました。その後「svn st」を実行すると、何も変わっていません。
neoneye

2

作業コピーをコミット前のリビジョンに戻すことができます。作業コピーを元に戻したら、変更をコミットするだけで、偶発的なコミットを効果的にロールバックできます。

特にあなたのようなケースでは、新しい作業コピーにロールバックしたいリビジョンをチェックアウトして、作業コピーをヘッドリビジョンにコミットします。


4
これはあなたのリビジョンが古く、コミットする前に更新する必要があることを教えてくれませんか?古いものに更新するのではなく、以前のリビジョンをマージする必要があると思います。
Mnebuerquo 2008年

また、この戦略では、悪いコミットが以前のコミットであると想定しています。すべてを取り消すことなく、少し前に行われた変更を取り消したい場合があります。
jpaugh 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.