Ek *_*mos 10 git branch git-rebase git-branch git-interactive-rebase
我有以下情况:
K---L new-feature
/
H---I---J dev-team1
/
E---F---G dev-main
/
A---B---C---D master
Run Code Online (Sandbox Code Playgroud)
而且我想在dev-main分支中只移动新功能(K --- L)分支而没有(H --- I --- J)形式dev-team1
H---I---J dev-team1
/
E---F---G---K---L dev-main
/
A---B---C---D master
Run Code Online (Sandbox Code Playgroud)
Ash*_*son 12
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
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参见"git rebase"的手册页.(我还想添加一个-i只是为了检查我正在移动我认为我的提交.)
你也可以使用git cherry-pick,特别是如果提交的数量很少:
git checkout dev-main
git cherry-pick K L
Run Code Online (Sandbox Code Playgroud)