web-dev-qa-db-ja.com

(コミットせずに)マージを元に戻す方法は?

svn mergeトランクからブランチへの変更をマージするには:

$ svn merge -r328:HEAD file:///home/user/svn/repos/proj/trunk .
--- Merging r388 through r500 into '.':
A    foo
A    bar
   C baz1
   C baz2
U    duh
[...]

しかし、競合が多すぎたので、元に戻したいと思います。

それを行う1つの方法は、コミットしてからマージすることです。しかし、私は衝突のためにコミットできません。その場合に元に戻す最良の方法は何ですか?

44
Frank

作業コピーの先頭から再帰的に元に戻す:

svn revert -R .

追加されたファイルを手動で削除する必要があります。復帰後と同様に、追加されたファイルはディスク上に残りますが、追跡されない状態になります( "?foo")

112
richq

コミットしていない限り、いつでも元に戻してすべての変更を取り消すことができます。

7
tangens

私は同じ状況に直面しました。また、失いたくない他の変更もいくつかありました。したがって、完全に再帰的に戻すのではなく、単にsvn revert競合するアイテムは私にとって良かった

svn revert baz1 baz2
2
Amit Thawait