0

を一つの層を下に再接続することが可能です私持っている私はベースから支社へDEV2をリペアレントしたいTFS2012TFS2012はベースオフ枝を剪定し、

Base-->Branch1-->Dev1 
| 
\/ 
Dev2 

で、次のツリーの新しいツリーがするように、

Base-->Branch1-->Dev1 
      | 
     \/ 
     Dev2 

おそらく重要な詳細:次のようになりベースと支社はあらゆる方法で同じです。 Branch1の履歴の唯一の項目は、Baseからの元の作成です。 Dev1とDev2はどちらも大幅な変更を行っていますが、効果的には同じオリジナルに基づいています。

を実行する方法はありますか?ベースレスマージを使用しないでください。

また、ブランチ1から新しいブランチDev3を作成した場合、すべての変更セットをDev2の履歴からDev3に適用する方法はありますか?これは、理論的には、Dev3 == Dev2となる。私はDev2を削除することができました。

+0

なぜ根拠のないマージを使用したくないですか? –

+0

@ Cece-MSFT私は、Dev2がフォルダ構造とコードに対して根本的な手術を受けているため、解決すべき紛争が*たくさんあるため、根拠のないマージを使用したくありません。 Dev2(Base)の親がBranch1(Dev2の兄弟)と全く同じであるため、Dev2からすべての変更セットを棚上げし、棚に置いた変更セットをBranch1の新しい枝に適用すると、 d仕事の日を節約する。私が見た1つの提案は、ロールバックしてロールバックを取り消すことですが、元に戻すことはできませんが、それは変更履歴を汚染することになります。より良い選択肢があると願っています。ありがとう。 –

答えて

0

簡単な方法は、支社とDEV2との間の関係を作成するために、根拠のないマージを使用することで、右下のスクリーンショットのようにDEV2ブランチをクリックして、リペアレント(支社への親の変更)を選択することによりDEV2をリペアレント:

enter image description here

+0

元の投稿に根本的なマージを使用しない解決法を要請したので、これを正しい解決策としてマークすることはできません。 –

+0

変更セットを対象プロジェクトではなくソースプロジェクトに適用するため、あるプロジェクトから別のプロジェクト(2つの異なるプロジェクト)にチェンジセットを移行することは意味がありません。変更セットを保存したい場合は、Branch1バージョンを使用して競合を解決する必要があります。 –

+0

私の主なポイントは、Branch1とBaseが同一であることです。だから*理論的には、同じ変更セットを適用してBaseとDev2の間のデルタを新しいブランチ(Dev3、つまり)オフにした場合、Branch1はDev3 == Dev2になるはずです。これまでの私の研究では、Dev2を元のBaseにロールバックし、ロールバックを元に戻し、ロールバックの変更を取り消してから、Dev3にシェルビードした元に戻す方法を適用しています。それは歴史を汚すだろうが、私はそれが根本的なマージを使って起こることを理解しているからだ。 –

関連する問題