TFSの分岐について:マージで競合が発生したとき

前回の続きです。

マージしたときに、マージした修正した内容が競合することがあります。
ありそうな例としては、こんな感じでMAINブランチにマージされたときです。

012_2

RELEASEブランチとDEVELOPMENTブランチで同じ処理に対して別々の修正を行ったときです。この例では、DEVELOPMENTブランチからMAINブランチにマージを行った時に競合となります。
TFSで競合を検知した場合、「競合の解決」画面が表示されます。

013_3

排他的に採用するときは「ターゲット分岐バージョンを保持する」もしくは「ソース分岐バージョンを保持する」ボタンを押します。

内容を確認しながら手動マージするときには「マージツールで変更をマージする」ボタンを押すと、編集画面が表示されます。

014_2

どちらか片方の修正部分をそのまま使用するときは、使用する側のチェックボックスをONにします。(両方のチェックボックスをONにすることも可能です。結果は下半分のエディタ画面に反映されます。)
どちらでもなく、独自の修正を行う場合は、下半分のエディタ部分で直接修正することも可能です。
調整が終わったら、「マージの許可」ボタンを押すと「競合の解決」画面に戻ります。

015

(「競合の解決」画面から、調整が終了したファイルはなくなっています)

その後、チームエクスプローラーの「保留中の変更」でチェックインします。

これで、分岐に関する基本的な操作は終了です
RELEASEブランチに対する操作についても、DEVELOPMENTブランチと同じになります。
(管理対象が異なるだけ)

VSSでは、追加開発中に障害対応が重なるとどうしようと悩んでましたが、これだけできれば安心して対応できます。

[2013/04/07追加]
分岐に対するビルド定義について追加しました。継続的インテグレーション(CI)までできないと安心できないですね^ ^;

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください