0

基本的に、私は次のような構造のリポジトリを持っています:
A(branch:stable) -> B(branch:dev) -> C(branch:dev, bookmark:feature) (および同様の兄弟)

C 兄弟 (つまり - E) の 1 つで、他のすべてのブックマーク ブランチと共有したいいくつかの変更を行いました。どうすればそれを適切に行うことができますか?E を B にマージし、その新しいコミットから他のブックマーク ブランチ (C の兄弟) にマージすることを考えましたが、E を B にマージしようとすると、Hg は「マージするものがありません」というエラーをスローします
。 E を A にマージ - Hg はそれを適切に処理します。まったく同じことを行う必要がありますが、単一の名前付きブランチ (ここでは - dev) 内で行う必要があります。

必要な効果を適切に達成するにはどうすればよいですか?

4

1 に答える 1

0

E は同じブランチ内の B の直接の子孫であるため、E から B にマージするものは何もありません (間にマージはありません)。hg bookmark B -r EB のブックマークを E の上に移動することができます。これは基本的にマージが行うことです。その後、アクティブにしたいブックマークを設定する必要があります。これは、誤って B が現在の頭を追跡し、E が後ろに引っかかってしまうことを防ぐためです。その後、C の他の兄弟を問題なくマージできます。

もちろん、単にマージしたい場合は、E からの変更を直接マージすることもできます。

hg update C # or other siblings
hg merge B
hg commit -m'Merged in changes from B'

E を A にマージすると、それらは異なるブランチにあるため機能します。

于 2013-05-14T14:50:23.333 に答える