git rebase --onto
を使用して、ブランチから別のブランチにコミットを選択しています。シンプルさから、リリースブランチへのブランチの開発を考えてみましょう。私はリリースに発展するから「文字」リビジョンのすべてをマージする必要が上記のうち複数のリビジョンセットを持つGit rebaseに
1----A----B----C----D----2----3----E----F---G----H----4----5----6 develop
、私が数値の修正を無視する必要があることに注意することが重要です。
私たちは、グループごとにリベースを実行します。上記の例では2グループ、D及びEにG.
git rebase --onto release 1 D #rebase the first range of revisions from the develop branch and base it on the release branch
git rebase --onto release 3 H #rebase the second range of revisions from the develop branch and base it on the release branch.
問題は、各グループのために、我々は便利ではない、このコマンドを実行する必要があるにAがあります。
は、私がかつてgit rebase --onto
を実行し、1つのコマンドで、その後
に与えられた範囲をマージしますと、あなたは、できるだけ多くの範囲を渡すことができますあなたがここにいるのはちょっと不便です。最も簡単なのはインタラクティブなリベースで、不要なものを削除することができます。 – jthill
実際、 'git rebase -i --onto release 1'だけで、シェルではなくEDITORでやっても構いません。 – amalloy
Rebaseはあるブランチから別のブランチへの良い( "チェリー")コミットを選ぶための間違ったツールです。 'git cherry-pick'コマンドは正確にそれを行います:あなたが選ぶべきチェリーを特定し、それらを選択(コピー)します。 – torek