1

次のような状況でコミットを元に戻すにはどうすればよいですか?

Revision 3, Commit Message
Revision 2, Commit Message
Revision 1, Commit Message

リビジョン2は不正なコミットであり、削除したいと思います。どのように?

4

2 に答える 2

5

SVNの逆マージを介してコミットを元に戻すことができます。

トランクからチェックアウトされた作業コピーがあると仮定します。

svn merge -c -2 URL/trunk

これにより、リビジョン2で行った変更が元に戻され、コミットする必要のある変更を含む作業コピーが残ります。

これは履歴を変更しません。SVNでは、すでにチェックインされているリビジョンの履歴を変更できないためです。リポジトリサーバーでのダンプ/ロードサイクルを介してのみ、推奨できないリビジョンを完全に削除することができます。

于 2012-06-20T16:39:53.917 に答える
2

チェックアウト時:

  svn merge -r2:1 path/to/checkout
  svn ci -m'Undo changes in rev 2 ' path/to/checkout

リポジトリから完全に削除したい場合は、リポジトリサーバー上の新しいリポジトリにダンプ、フィルタリング、およびロードする必要があります。

于 2012-06-20T16:39:42.810 に答える