2012-01-10 91 views
5

我有一个分支叫feature,它有几个提交。该分支及其提交对我的机器仍然是本地的(尚未将push编辑到公共存储库)。图表看起来像更改分支点

A---B---C---D---E---F---G master 
        \ 
        P---Q---R feature 

现在我意识到,我应该已经取得了分支feature关上master较早提交。假设承诺C。换句话说,图形应该样子

A---B---C---D---E---F---G master 
     \ 
      P---Q---R feature 

我试图在本质上做的是复归提交DEFfeature分公司。是的,我可以只提供revert一次提交一个,但有太多可回复;上面的图片只是一个例子。

回答

6

你想要做的是rebase。拿起提交PQR和应用他们的C顶部,你执行:

git rebase --onto C F feature 

更多信息,请参阅的git-rebase的手册页。

+0

完美。原来我没有在手册页上阅读_far enough_。在发布问题之前,我已经做了一个“rebase”。然而,刚才说'提交C'已经存在了。秘密调味汁是'--onto'开关。谢谢 – 2012-01-10 13:45:37