2017-06-07 18 views
0

私はちょっと慌てて、すべてを破壊することなくいくつかのコミットを元に戻す方法を理解する必要があります。履歴を失うことなく間違ったブランチ上でSVNコミットを元に戻す方法

私はそうのような一時的なブランチにbranch1branch2をマージしようとしています:私はまだ周りの反復処理しています

1) svn cp ^/branch1 ^/branch1a // Create a branch 
2) svn sw ^/branch1a   // Switch to that branch 
3) svn merge ^/branch2 .  // Merge branch2 to branch1a 
4) <do lots of manual work> 
5) svn ci .      // revision 991,994,995, return to step 4 if needed 
6) svn sw ^/branch1    // When happy, switch back to branch1 
7) svn merge ^/branch1a .  // Merge our happy changes back into branch1 
8) svn ci      // Commit these changes 

は4-5ステップが、私は私がする必要があるステップ2を行うことを忘れたことに気づきました私のリビジョンをbranch1から元に戻し、branch1aに適用して作業を続けることができます。

私はsvn merge -c991,994,995 .で元に戻そうとしましたが、私の作業コピーは変更されていないようです。また、私はこれらの変更を保ち、それをbranch1aに再適用できるようにする必要があります。私が使用できる一連のコマンドは何ですか?

答えて

0

私はこれを達成するためにTortoiseSVNを使用しました。手順はほとんどここにある: https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html

  1. 作業コピーをきれいにし、(Shiftキーを押しながらクリック範囲は、Ctrlキーを押しながらクリックするために好きではないリビジョンを選択しlog対話
  2. オープン
  3. branch1であることを確認します 個別の回転)
  4. 右クリックし、[これらのリビジョンから変更を元に戻す]を選択します。これは作業コピーを元に戻します。レポへのリビジョンをコミットするためにここに
  5. svn ci .を元に戻す変化をもたらすために戻って意図枝
  6. svn merge -c 991,994,995 .に取得する
  7. svn sw ^/branch1a(これは997を吹けある)レポへの変更をコミットする
  8. svn ci .

私はそれが戻ってbranch1branch1aをマージする時間が来るとき、リビジョン997が邪魔になると良いマージを防ぐことができますことを、ほんの少し心配。もし誰かが良い解決策を出してくれたら、私はこの回答を選択することができます(私は実際にはレヴェルをインポートするまで部分的です)。

関連する問題