5

ここでの状況: Mercurial リポジトリに 2 つのブランチがあり、それらをブランチ A とブランチ B と呼びます。

  • ブランチ A はコードの安定バージョン用です
  • ブランチ B は開発ブランチ用です

ブランチ A で変更されたものはすべてブランチ B にマージされました。ただし、ブランチ B のコードにはブランチ A とのいくつかの違いがある点に到達しました。ブランチ A でいくつかの大きなコード変更を行い、これらの変更をブランチ B にマージしました。本当の苦痛であり、実際にはソリューションの代替実装を行いたいと考えています. ただし、後でブランチ A の変更を継続し、これらの後のマイナーな変更をブランチ B にマージできるようにしたいと考えています。後で A から B にセットを変更しますか? (おそらく、バックアップからのコピーなどを使用して、純粋な Hg ソリューションと回避策なしで...)

ここに到達するものの概要を示します。

    変更セット ブランチ A 変更セット ブランチ B
    Chgset A.1 Chgset B.1 (A.1と合併)
    Chgset A.2
                            Chgset B.2 (**A.2 とはマージされません**)
    Chgset A.3 Chgset B.3 (A.3 とマージされますが、A.2 とはマージされません)

事前にアドバイスをありがとう

4

1 に答える 1

6

transplantこれが拡張機能の正確な目的です。

拡張機能 (他のtransplantDVCS ではチェリーピッキング) は、変更セットをコピーするときに何がどこから来たのかを追跡するため、マージが簡単になります。

最初に拡張機能を有効にする必要があります (拡張機能は含まれていますが、デフォルトでは無効になっています)。hgrcファイルに次を追加します。

[extensions]
transplant=
于 2011-02-16T16:14:07.757 に答える