1

目的: コミット G を「bravo」から、コミット F を「alpha」にリベースしたいと考えています。これから:

             G    bravo
            /
        D--E--F   alpha
       /
A--B--C           mainline

これに:

                G    bravo
               /
        D--E--F     alpha
       /
A--B--C             mainline

「アルファ」は、最新のメインライン作品にうまくリベースされました。私は「アルファ」をCにチェリーピックします。そして、「ブラボー」をチェリーピックすると、すべてのマージ競合が発生します。それらを修正したら、修正する場合

commit --amend

コミット メッセージには、アルファのすべての情報が含まれているだけですが、ブラボーの情報が期待されます。そのため、C にハード リセットした後、アルファに対してプル (チェリー ピックとは対照的に) を実行してから、ブラボーをプルして再試行しました。競合を修正し、実行しました:

commit

コミットメッセージには、マージとしてリストされ、マージ情報が含まれています。コミットは成功しますが、マージをプッシュする権限がないと表示されるため、これを gerrit にプッシュできません。リベースについて読んだとき、それは常にメインラインだけですが、私はプライベート ブランチをリベースしたいと思っています。どこが間違っていますか?

4

1 に答える 1

0

リベースなどを調査した後、このシナリオで、ブラボーを別のチェリーピックの変更(アルファ)にチェリーピックしたい場合に、使用のみをコミットする場合を見つけました。

commit

いいえ

commit --amend

これにより、bravoのコミットメッセージが保持され、alphaの最新のパッチセットに喜んで「リベース」されます。

于 2012-07-11T09:56:48.343 に答える