1

新しいバージョンをリリースするときに、特定の時点のブランチを作成する必要があります。

したがって、すべての開発用のデフォルト ブランチと、サーバーに新しいリリースが作成されるたびに V1、V2 などのブランチがあります。

したがって、デフォルトの開発ブランチがある場合。V1 はライブ サーバーにあります。V2 はテスト サーバーにあります。

次のシナリオを処理するにはどうすればよいですか。

  • V1 でバグが見つかり、V1、V2、およびデフォルトで変更する必要がありますか?

  • V2 はある時点で作成され、テスト サーバーに送られ、デフォルトで複数の機能を備えた開発が継続されます。V2 のいくつかのテストの後、機能は完全ではなく、デフォルトの変更セットの一部は V2 にマージする必要がありますが、すべての変更セットではありませんか?

4

1 に答える 1

5

通常の方法は、バグを引き起こしたチェンジセットを(V1の分岐点の前に)見つけて、そのチェンジセットの子として修正をコミットすることです。これにより、新しいヘッドが導入され、修正が必要なブランチ(この場合はV1、V2、デフォルト)にマージできます。

この方法は「<ahref="https://www.mercurial-scm.org/wiki/DaggyFixes"rel="nofollownoreferrer">ダギー修正」と呼ばれます。

または、1つのブランチ(たとえば、デフォルト)で修正してから、コマンドを使用して他のブランチにチェリーピックすることもできますgraft。ただし、チェンジセットが3回表示され、これらのブランチの2つを再度マージすると、マージの問題が発生する可能性があるため、これはそれほど良いことではありません。

于 2012-06-13T08:20:02.253 に答える