2016-10-03 110 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將來會被垃圾收集。