2016-10-03 59 views
0

我有一个分支,它看起来像这样如何用分离的HEAD提交覆盖提交?

---A-----------B 
    \ 
    \ 
     C (Detached HEAD) 

我通过这个过程得到了它:

git checkout branch 
git checkout HEAD~ 
git commit -m "C" 

,我想C覆盖B(丢弃在B中所有的变化)

最佳将没有合并临时分支,因为我想分支图看起来尽可能简单

+0

追踪C的sha1'git checkout branch; git reset Csha1 --hard'。 – ElpieKay

回答

2

Force删除branch并在C提交上创建分支。如果分支位于任何远程存储库中,请强制推送。

如果你可以重复提交(即你有一个差异保存在某处),你可以重新设置分支的HEADHEAD~并做提交。

0
git checkout <C> 

git branch -D branch 

git checkout -b branch 

您的图形将变为:

---A-----C <== branch 
    \ 
    \---B 

如果B是已经在远程仓库,使用 “混帐推-f” 给力的推动。 B将来会被垃圾收集。