2014-03-25 78 views
-2

我需要回滾我的分支幾次提交,因爲較新的提交引入了錯誤。git - 回到某個提交

我試圖用stackoverflow的幫助來解決我的問題,並且只是使用git教程來搜索,但我覺得我做得更糟。現在我的Git分支是這樣的:

enter image description here

藍線被稱爲發展,粉紅色 - 主。

我的行爲是從我選定的提交中籤出一個新的分支,簽出master以擺脫分離的頭併合並兩個分支。但合併帶來了「壞」提交中的錯誤。

我該如何回滾到樹中的第一個項目符號點,並從存在中刪除錯誤提交?

回答

2

有很多方法可以做到這一點。如果我是在master,我會做它的方式如下:

  1. git branch safety保持了分公司;老HEAD
  2. git reset --hard abc123移動master回到老犯,假設犯了abc123
  3. git branch -D safety放棄安全分支,如果需要的話
+0

我回到提交我想是的,現在我8款之後。我怎樣才能刪除其他(較新的)提交,所以我不再次拖動馬車內容? –

+0

啊,你的意思是你的遙控器?使用'git push -f origin master'來更新你的遠程。 – acjay

+2

哇! 'git push -f origin master'是一個非常糟糕的主意。該分支是公開的,而其他分支可能已經將其拉出。該命令將重寫其他人的歷史。這些提交在發佈時應該被還原,而不是被刪除。查看鏈接的問題的細節。 – Johnsyweb