質問: 私のプロジェクトでは、独立した開発ブランチを持ち、各リリースごとに別々のブランチを持つブランチモデルがあります。次のようになります。 ``` dev ______ ______ / \ / \ master --+---+----+---+---+----+----+--- (...) r1 ______/ r2 _______/ ``` そこで我々はdevにマージするようにマージしてから、リリースブランチ(r1、r2、...)を作成します。 私たちはEF 6(手動自動ではない)移行を使用したいと考えていますが、回答方法はわからないという質問があります。 これを想像してみてください。 ``` dev _(1)__ ____(4) / \ / \ master --+---+----+---+---+----+-(5)*-+--- (...) r1 _(2)__/ r2 \(3)______/ ``` 各番号はマイグレーションです。それらは各ブランチのソースコントロールに追加されており、プロジェクトの本番インスタンスのデータベースに適用されています(複数のリリースを修正のためにしばらくの間サポートしています)ので、ダウングレードすることはできません。アスタリスクは分析したい時点を示します。マイグレーションはこのように動作します。 * r1データベースにはマイグレーションのみが適用されています(2) * r2データベースには(1)、(2)、(3)が適用されています * マスターデータベースに(1)、(2)、(4)、(5)が適用されている * devデータベースに(1)、(2)、(4)が適用されている さらに: * 私たちのデータベースでは少しのデータを失うことはできません * r1データベースをエラーなくr2(または他の将来のリリース)データベースに更新することができなければならないため、コードに対応するすべてのr2データベース(r2として作成または以前のバージョンから更新)と同じデータベース構造を持ちます最初のモデル。 それはできますか?はいの場合、どうですか? 詳細が必要な場合は、お尋ねください。
回答: 私はあなたがそれぞれの場合にできることを説明しようとすることができますが、それはかなり複雑で、ここで説明されているだけでなく、説明することもできません。 チーム環境でのコードの最初の移行 複雑ですが、このドキュメントを頻繁に参照してブランチをマージする必要があります。このドキュメントに従うと、すべての質問が解決されることがわかります。 *免責事項:*私はSOが自己完結型でなければならないことを知っていますが、説明は非常に複雑で長く、抽象度を追加することさえできません。私は、リンクされたMSDNのドキュメントが消えないことを願っています。