CVS リポジトリを git にインポートしようとしています。残念ながら、私たちは CVS リポジトリからリリースを作成する非常に古い方法を使用してきました。これは、実際の CVS ブランチやタグを含まず、その情報を別のシステムに保持しています。したがって、ほとんどすべての開発は CVS トランク上で行われます。そのため、1 つのファイルが履歴の非常に早い段階で追加される可能性がありますが、6 か月間はリリースの一部にはなりません。
私がやりたいのは、この CVS リポジトリを git にインポートし、リベースを使用してこれらのコミットを開発ブランチに移動することです。ただし、CVS からのブランチがいくつかあるので、すべてのブランチを移動したいと考えています。
私がこれを持っているとしましょう:
F---G---H topic
/
A---B---C---D---E---I---J master
B
独自のブランチに移動したいコミットです。結果を次のようにしたい:
F`---G`---H` topic
/
A---C`---D`---E`---I`---J` master
\
B some_unfinished_feature
ただし、リベースのmaster
結果は次のとおりです。
git checkout -b some_unfinished_feature B
git rebase --onto A B master
A---C`---D`---E`---I`---J` master
\
\ F---G---H topic
\ /
B---C---D---E
\-some_unfinished_feature
1 回の rebase コマンドでgit を rebasetopic
することはできますか? E'
対応する新しいコミットに移動したいブランチがたくさんある可能性があります。E
または、との間のマッピングを取得する方法はありE'
ますか?