2

素晴らしい動作をする古いリビジョンがあり、SVN で行った過去のいくつかのリビジョンを元に戻したいと考えています。これらのリビジョンを単純に削除して、HEAD を特定のリビジョンにする方法はありますか。そうすれば、更新を押すと、実際の現在のリビジョンではなく、そのリビジョンに移動しますか?

4

2 に答える 2

4

本からsvn

変更の取り消し

のもう 1 つの一般的な用途svn mergeは、既にコミットされた変更をロールバックすることです。の作業コピーに満足して取り組んでいて/calc/trunk、 を変更したリビジョン 303 で行われた変更integer.cが完全に間違っていることに気付いたとします。コミットされるべきではありませんでした。を使用svn mergeして、作業コピーの変更を「元に戻す」ことができ、ローカルの変更をリポジトリにコミットできます。あなたがする必要があるのは、逆の違いを指定することだけです:

$ svn merge -r 303:302 http://svn.example.com/repos/calc/trunk
U  integer.c

$ svn status
M  integer.c

$ svn diff
…
# verify that the change is removed
…

$ svn commit -m "Undoing change committed in r303."
Sending        integer.c
Transmitting file data .
Committed revision 350.

詳細については、「変更の取り消し」セクションの残りの部分を参照してください。

于 2012-12-14T20:20:39.167 に答える
1

SVN HELP MERGE を実行する場合は、表示されている 3 番目の形式 (-r N:M) を見てください。これはあなたが使いたい方法だと思います。

于 2012-12-14T20:20:50.863 に答える