12

私は次のケースを持っています:

                          K---L new-feature
                         /
                H---I---J dev-team1
               /
              E---F---G dev-main
             /
A---B---C---D master

そして、(H---I---J) フォームdev-team1なしで、 dev-mainブランチの新機能(K---L) ブランチのみを移動したい

                H---I---J dev-team1
               /
              E---F---G---K---L dev-main
             /
A---B---C---D master
4

2 に答える 2

13

git rebase必要なことを行う--onto引数があります。

git checkout new-feature
git rebase --onto dev-main dev-team1

# Now new-feature has commits K' and L' after G in dev-main.
git checkout dev-main
git merge --ff-only new-feature

詳細については、「git rebase」の man ページを参照してください。-i(また、私が思っているコミットを移動していることを再確認するために追加するのも好きです。)

git cherry-pick特にコミット数が少ない場合は、を使用することもできます。

git checkout dev-main
git cherry-pick K L
于 2014-01-15T21:30:12.957 に答える
1

K および L コミットをチェリーピックできます。

git checkout dev-main
git cherry-pick K

競合がある場合は、それらを修正して実行します

git cherry-pick --continue
git cherry-pick L

競合を修正します。

対話型リベースも使用できます。

git rebase -i head~5

開いたエディターで、HI および J コミット行を次のように置き換えます。

pick F
pick G
于 2014-01-15T21:30:01.797 に答える