2017-02-14 86 views
0

TFS 2015で新しいプロジェクトとブランチデザインをセットアップする。この詳細は重要なことかもしれません - .NETではなくPowerBuilderプロジェクトに使用しています - VS2015を使用してブランチをセットアップしますマージを実行すると、ファイル自体がPowerBuilderでチェックインおよびチェックアウトされます。これまで私は、それが違いを作るべきではない参照が、次のサンプルレイアウトを使用した場合、私が見逃している何かTFS 2015の新しいブランチがベースレスのマージで完全にマージされる

でそれに言及することができますよう:ダウン、モッズへ/から

enter image description here

のProd枝をDevに。新しいCOはProdからブランチをプロジェクトします(常に最新のライブコードで始まります)。その後、DEVブランチにマージされ、接続が確立されると再び親子化されます。そうすれば、ユーザーは基本的なマージを忘れる必要はありません。彼らは

問題はテストとして、私は何のファイルを期待していない、分岐後根拠のないマージを試みたということですがPRODに戻った後、モッズまでのDevから戻って行くだろうdevが

マージデフォルトのマージ対象となりますどんな支店でも何も変わっていないので、併合すること。しかし、COブランチからDevへのマージはすべてのファイルをマージしました。変更がないので問題はありませんが、いくつかのプロジェクトがDEVに統合されるとかなり問題になります。

このマージの後、私はプロジェクトを少し変更してマージを試みました。変更された1つのファイルのみがマージされます。

新しいブランチはDevブランチの後に作成されていたので、ブランチ内のすべてがDevブランチよりも新しくなっていることがわかりました。 Prodブランチには見られないDevの変更をどのように扱うのかまだ分かりませんが、そのシナリオをテストしていません。私はマージする必要のある変更があると言いますが、COブランチの "新しい"ファイルを使ってそれらをロールオーバーする可能性があります。

質問は、この新しいブランチが「ブランチ」よりも「新しい」ではないことをシステムにどのように伝えることができますか?確かに、これらがPowerBuilderファイルであるという事実は、何らかの形でバージョン管理を認識するTFSの能力を何とか制限していますか?

さらに簡単に言えば、私は最良の方法ではないと考えているブランチレイアウトですか?

EDIT - ここでは私の.NETプロジェクトで現在使用している構造です - 私は新しいコードの代わりに上記のレイアウトを使用しようとしていました。自然のままのProdコードを

enter image description here

それは「メイン」分岐がコメントで以下の提案使用していますが、私はデベロッパーより「COブランチ」を引いてるから、私は現在テストされているコードを取得し、ありません。私は、このレイアウトでProdからブランチして再親をしようとすると、同じシナリオになると仮定しています。

これは結局いい方法ですか?

+0

基本的なマージには履歴がありませんので、Devで上書きする際に重大な回帰を受ける可能性が高くなります。 –

+0

私は、新しい変更のための新鮮な最新のコードを確実に得るために、これが構造を設定する最良の方法であるという印象を受けました。より良い提案、誰ですか? – VBartilucci

+0

なぜMODとDevが必要なのですか? MAIN/TRUNK/MASTERを使用して、常に作業コードを使用するのはなぜですか? –

答えて

0

開発ブランチとリリースブランチの間の分岐ブランチであるMainブランチがあり、製品の安定したスナップショットを表します。

Devブランチの作業が終了し、DevをMainにマージして、製品をリリースし、MainからProdにマージする場合は、Main、Dev、Mod、Prodに分岐できます。したがって、最新のライブコードから分岐する場合は、メインから分岐することができます。このようにして、COからMainへ、MainからDevへ、またはMainからProdへマージすることができます。すべてのチェンジセットは予約されます。

+0

ちょうどあなたが各支店を構築し、テスト、テスト、テストをしていることを確認してください。 –

+0

実際に私は現在「メインブランチ」デザインを使用しています。私はそのレイアウトの図で質問を更新しました。おそらくそれはあなたが考えているレイアウトではないでしょう – VBartilucci

+0

MainからDev、Mod、Prodへ分岐し、Dev、Mod、ProdからMainにマージして、最新のライブコードから分岐したい場合は、メインからの分岐。このようにして、COからMainへ、MainからDevへ、またはMainからProdへマージすることができます。 COブランチを再親子化する必要はありません。 –

関連する問題