web-dev-qa-db-ja.com

TFS:メインからの変更でブランチを更新する

そこで、メインの開発ラインがあり、ブランチを作成し、開発者bがブランチを作成します。二人とも仕事をしています。開発者bは作業を終了し、メインの開発ラインにマージします。私は彼の変更が私に影響することを知っており、後で競合に対処するのではなく、メインの開発ラインにある変更でブランチを更新したいので、マージする前にブランチでそれらに対処できますメインに戻ります。

それ、どうやったら出来るの?

99
CaffGeek

Visual Studioから、ソース管理エクスプローラーを開きます。

  • 表示|チームエクスプローラー
  • Team ExplorerからTeam Projectを選択して展開し、ダブルクリックSource Control
  • ソース管理エクスプローラーの左側のペインで、Team Projectを選択します。
  • 右側のペインでメインラインブランチを見つけ、右クリックしてMerge ...を選択します
  • ターゲットブランチドロップダウンで、devブランチを選択します。
  • メインラインのすべての変更のサブセットが必要な場合:
    • Selected changesetsオプションボタンを選択し、Nextをクリックします。
    • 他の開発者のブランチからメインへのマージを表すチェンジセットを選択し、Nextをクリックします。
  • それ以外の場合は、特定のバージョンまでのすべての変更を選択したままにし、 をクリックします
    • 次のステップでは、バージョンタイプを選択します。デフォルトの最新バージョンは明らかに簡単で自明です。ブランチがメインラインからブランチに作成されたため、すべての変更が行われます。他の選択肢は簡単ですが、ここで利用可能な各オプションのチュートリアルの説明にはかなりのスペースが必要です。
    • ウィザードの残りの手順を説明します。
  • 完了をクリックします。
  • エラーまたはマージの競合がある場合、最後のチェックアウト以降に他の変更が行われたときに変更をソース管理にチェックインする場合と同様に、エラーを解決するよう求められます。
  • マージが完了した後、すべての変更はブランチのローカルコピーにありますが、まだソース管理にコミットされていません。ブランチですべてのビルドとテストが完了したら、マージをチェックインできます。 Visual Studioから:
    • 表示|その他のウィンドウ|保留中の変更
    • このマージに関連するすべてのファイルがチェックされていることを確認し、マージを説明するコメントを追加して、チェックインをクリックします。

マージ(および必要なマージ競合の解決、ビルドの中断、テストの中断)を独自の変更セットとして保持することをお勧めします。つまり、他の機能作業とマージを混在させないでください。きめ細かい変更セットを使用すると、ソース管理履歴を簡単に確認し、関心のある単一の変更を特定できます。マージ作業を独自の変更セットで維持することは、その目標に向かって作業するのに役立ちます。

マージ用のコマンドラインもあります。VisualStudioコマンドプロンプトからtf merge /?を実行します。

頑張って楽しんでね!

168
Andrew Brown