2 つの平行した長寿命のブランチがあるとします:master
とexperimental
. そして、 のトピック ブランチでいくつかの作業をexperimental
行います。これは、いくつかの機能 ( feature1
、feature2
、feature3
) に対して行います。で行われた作業を にどのように移植しfeature2
ますmaster
か?
私の初期リポジトリ:
master
|
A-B-C
\
D-E I L P
\ / \ / \ /|
F-G-H \ / \ / |
| J-K \ / experimental
feature1 | M-N-O
feature2 |
feature3
私の希望のリポジトリ:
master
|
A-B-C-----------------------------J'-K'
\
D-E I L P
\ / \ / \ /|
F-G-H \ / \ / |
| J-K \ / experimental
feature1 | M-N-O
feature2 |
feature3
私が考えられる 1 つの方法はgit checkout master; git cherry-pick J K
、エラーが発生しやすく、トピック ブランチにさまざまなコミットが含まれている可能性があることです。
私はそれが のように動作することを期待しgit checkout master; git <transplant-commits-in-topic-branch-onto-current-branch> feature2
ますが、私がよく知っているすべてのリベース コマンドは、共通の祖先 (この場合はA
) からすべての差分を移植しI
ますK
。 .
ちょっとした文脈: 私はオリジナルからフォークされたコードベースに取り組んでいますが、特定の機能を提供したいと考えています。そして、すべての新機能をトピック ブランチで開発し、マスターにマージします。