1

開発ブランチが安定ブランチより 2 つ前のタグ付きリリースであるプロジェクトがありますが、最初のタグ付き変更セット (これは不要になった一連の機能です) を削除し、最新のタグ付き変更 (2 番目のタグ) を適用したいと考えています。 ) 安定したタグに。

例えば:

コミット:

[tag] 3.0 - 
sdaf213 Some Commit of the tag 3
sdaas34 Some other commit in this tag
[tag] 2.0 -
wert78 Some commit of tag 2
werg99 Another commit of tag 2
werh55 And another of tag 2
[tag] 1.0 (Stable) -
pry77 Commits of tag 1
...older commits

[タグ] 1.0の上に[タグ] 3.0のすべてのコミットをリベースできますが、[タグ] 2.0からすべてを除外できるように、コミットではなくタグでリベースをgitする方法はありますか?

4

1 に答える 1

3

次の方法で簡単に実行できます。

git rebase --onto 1.0 2.0 BRANCH

BRANCH は、リベースを適用するブランチの名前です。

これは 1.0 タグを親として使用し、3.0 タグのコミットを順番に再生します。

sdaf213 Some Commit of the tag 3
sdaas34 Some other commit in this tag
1.0 (Stable) -
pry77 Commits of tag 1
...older commits

ご覧のとおり、3.0 タグは履歴の最後に再適用されません。新しいものを作成する必要がありますが、履歴が変更されたため、これは理にかなっています。ニーズに合わせて 2.1 または 3.1 を作成することもできます。

さらに、一連のタグでこれを使用できます。たとえば、現在 [tag] 4.0 を使用していて、[tag] 2.0 と 3.0 を削除したい場合:

git rebase --onto 1.0 3.0 BRANCH
于 2013-04-10T16:03:28.717 に答える