2013-04-25 70 views
6

我爲我的項目使用git流程。當一個版本被合併到主分支時,它會被標記爲發行版本(例如1.2.0)並被部署到我的生產服務器。使用git流程,我將如何恢復到以前的版本?

現在我想快速恢復到以前的版本標記(例如1.1.0),因爲部署不應該發生。

闡述:

  • 我合併1.2.0發佈分支到主分支。
  • 我用1.2.0標記主分支。
  • 我把我的本地回購推到原點。
  • 我得出結論說我發佈得太早。
  • 我想恢復到標記爲1.1.0的標準狀態。
  • 我希望master @ origin也恢復到1.1.0狀態。

enter image description here

我將如何做到這一點?

+0

可能重複:http://stackoverflow.com/questions/16081260/revert-merge-git-flow/ – 1615903 2013-04-25 09:41:05

+0

不是一個真正的重複。我讀過那篇文章,但它並沒有回答我的問題。他們正在談論重新設置開發brnach。我不想那樣。我的主分支標有發佈。我只想回到我的主分支中的以前的標籤。 – Kriem 2013-04-25 09:42:44

+1

'git checkout v1.1.0'會讓你回到以前的版本 - 你在找什麼? – 1615903 2013-04-25 09:44:53

回答

2

假設您想保留歷史記錄,但撤銷1.2.0版本所做的更改。使用git-revert創建一個新的提交後歸還一切1.2.0所做的:

git checkout master 
git revert HEAD 
+0

我失去了1.2.0標籤嗎?換句話說,我是否失去了在主分支創建1.2.0標籤的歷史時刻? – Kriem 2013-04-25 12:17:04

+0

不會。這會將所有內容保留在原位 - 它會在1.2.0標籤後添加一個新的提交。 – 1615903 2013-04-25 12:17:53

+1

@Kriem標籤是與分支無關的單獨指針(它們本身就是指針)。所以改變一個分支不會改變標籤。 – poke 2013-04-25 12:18:08

相關問題