次のような状況でコミットを元に戻すにはどうすればよいですか?
Revision 3, Commit Message
Revision 2, Commit Message
Revision 1, Commit Message
リビジョン2は不正なコミットであり、削除したいと思います。どのように?
次のような状況でコミットを元に戻すにはどうすればよいですか?
Revision 3, Commit Message
Revision 2, Commit Message
Revision 1, Commit Message
リビジョン2は不正なコミットであり、削除したいと思います。どのように?
SVNの逆マージを介してコミットを元に戻すことができます。
トランクからチェックアウトされた作業コピーがあると仮定します。
svn merge -c -2 URL/trunk
これにより、リビジョン2で行った変更が元に戻され、コミットする必要のある変更を含む作業コピーが残ります。
これは履歴を変更しません。SVNでは、すでにチェックインされているリビジョンの履歴を変更できないためです。リポジトリサーバーでのダンプ/ロードサイクルを介してのみ、推奨できないリビジョンを完全に削除することができます。
チェックアウト時:
svn merge -r2:1 path/to/checkout
svn ci -m'Undo changes in rev 2 ' path/to/checkout
リポジトリから完全に削除したい場合は、リポジトリサーバー上の新しいリポジトリにダンプ、フィルタリング、およびロードする必要があります。