How do I revert all or part of an SVN commit using TortoiseSVN?
4 に答える
まず、リビジョンの「すべての変更」を元に戻すか、単一のファイルだけを元に戻すかを特定する必要があります。TortoiseSVN には「1 またはすべて」のアプローチしかありません。つまり、部分的なチェックインではなく、チェックイン セット全体または単一のファイルを元に戻すことができます。
チェンジセット全体
そのため、特定のリビジョンに戻す場合 (そしてその変更セット内のすべてのファイルを変更したい場合) は、右クリック -> TortoiseSVN -> ログを表示する必要があります。ロールバックするリビジョン/変更セットを見つけ、そのリビジョンを右クリックして [このリビジョンに戻す] をクリックします。
興味のある別のオプションがあります。「このリビジョンからの変更を元に戻す」です。これは、そのリビジョンと現在のバージョンの間で Diff-merge を実行し、相違点だけをマージします。時々、これがより魅力的だと思います。そのため、変更セット間ですべての変更を保持できます。
単一ファイル
もう 1 つのオプションは、単一のファイルを元に戻すことです。もう一度右クリック -> TortoiseSVN -> ログを表示します。ただし、今回は単一のファイルを選択できます。
TortoiseSVN では、変更セット内の複数のファイルを選択して元に戻すことはできません。それはすべて、または1つだけです。
変更セットのチェックイン
他のすべての読み取りについては、「チェックイン」がその変更に関連するファイルのみを含むことを確認してください。これは、最近では一般的な方法です。しかし、開発者は 1 日の終わりにチェックインを「ショットガン」し、その日のすべての変更を 1 つのチェックインにまとめています。
私は目を細めてそれらの開発者をちらりと見ます。-_^
If you want to revert previously made commit (revision):
With explorer:
- Right click on file/folder you want to revert,
- TortoiseSVN->show log,
- right click on unwanted revision,
- "revert changes from this revision",
- commit->OK.
If you want to undo locally made changes (uncommited)
With explorer: Right click on file(s), TortoiseSVN->Revert.
「元に戻す」ことができるのは、元に戻したい変更が含まれていない新しいリビジョンをチェックインするという意味でのみであることに注意してください。それは他の回答で説明されています。
チェックインを実際に元に戻すことはできません(「発生しなかった」のように)。古い状態は引き続きリポジトリの履歴に残ります。
本当に元に戻す/削除することは、長年の機能要求です。
Bartek が言ったことの代わりに、特定のリビジョンをローカルの作業コピーにチェックアウトし、それをヘッドにコミットすることができます。