【发布时间】:2014-09-17 08:52:35
【问题描述】:
开始
hack---F1----M1----F2 (feature)
/ /
C1-----C2----C3 (master)
我想结束
hack---F1----M1----F2 (feature)
/ /
C1-----C2----C3---F1'---F2' (master)
到目前为止,我拥有的最好的是
git checkout feature
git checkout -b temp
git rebase -i --onto master hack temp
* Big drawback: manually remove the merged-in C2 and C3 from list of commits *
git checkout master
git merge temp
git branch -d temp
我希望有人能回答,即使这是一个可疑的工作流程。
【问题讨论】:
-
git checkout master,然后git cherry-pick F1和git cherry-pick F2是你想做的,在这里。 -
是的,在这种情况下,有两个提交樱桃挑选会很好,但有几个我更喜欢另一种方式。也许Cherry-pick range 带有某种排除选项?
-
我正试图弄清楚你在一般情况下真正想要做什么......你能把你想做的事情表述为 cherrypick @987654328 之间的所有非合并提交@(不包括)和
feature(包括)在master之上的尖端?