2010-04-10 87 views
2

我在工作时犯了一个错误,并用我不想要的提交树结束。现在,事情是这样的:如何修复这些伪造的git提交?

[master] 
     A -- B -- C -- D 
       \ 
       \ 
       C' -- D' 
         [HEAD] 

我想风是这样的:

     [master, HEAD] 
     A -- B -- C -- D 

我如何从这里到达那里?

+0

使用'git rebase'。 – 2010-04-10 21:27:32

回答

4

好吧,你在一个分离的HEAD,你想成为主人(目前在A),但与D的主人,这是一个直系后裔。

git checkout master 

# This will fast-forward master to D 
git merge D 

D'和C'将不再在任何分支上,因此它们将不可见并最终被垃圾收集。