0

すでにマージされているが ( でM)、後で元に戻された ( でR)機能ブランチがあります。

S---o-o-----M-o-R-o
 \         /
  A-----B-C       ^ master

          ^ feature

featureブランチを現在のものにリベースしたいので、次のmasterようになります。

S---o-o-----M-o-R-o-A'-B'-C'
 \         /
  A-----B-C               ^ new master or new branch
                  ^ old master
          ^ feature

これはrevert-a-faulty-merge.txtの補遺で説明されているプロセスに似ていますが、新しいブランチをベースにする代わりに、現在の.Smaster

この質問によると、この解決策はうまくいくはずです:

git rebase --onto stable D fix/123
DのSHAを取得する必要があるため(たとえば、Xではなく)、これはまだ危険です。

だから私は試してみましたが、ラベルをラベルにgit rebase --no-ff --onto master S feature進め、新しいコミットを生成せずに「マスターへの早送り機能」と言っただけです。featuremaster

では、基本的にブランチ全体featureを master の上にコピーするにはどうすればよいでしょうか?

4

1 に答える 1

4

git cherry-pick次のように、一連のコミットをサポートするようになりました。

git cherry-pick S..C

これにより、 S から C までのコミットが取得されます。次のように、Aの親から開始するように指定することもできます。

git cherry-pick A^..C
于 2013-06-07T13:27:14.863 に答える