樱桃只挑选某个分支的某些提交

时间:2013-11-04 02:04:02

标签: git github

我正在制作一个看起来像这样的回购:

A-B <--(master)
   \
    C-D-E-F <--(features)

但是,所有者希望我将我的提交分成不同的分支,如下所示:

A-B
   \
    +-C   <--(Feature-A)
    +-D-F <--(Feature-B)
    +-E   <--(Feature-C)

我觉得这应该是一本教科书的挑选,但我无法弄明白。由于我已经将C-D-E-F(功能)分支推到了我的克隆版本,这使事情变得更加复杂。

我试过

git rebase --onto B E

但它没有给我预期的结果。

2 个答案:

答案 0 :(得分:1)

我知道没有办法轻易做到这一点,但是相当简单(C,D和E是你的illiustration中C,D和E的修订版):

git branch Feature-A C
git checkout -b Feature-B master
git cherry-pick D
git cherry-pick features
git checkout -b Feature-C master
git cherry-pick E
git branch -D features

答案 1 :(得分:0)

git branch FeatureA B
git checkout FeatureA
git cherry-pick C