2017-02-21 513 views
0

好吧,Git的撤銷合併是刪除未提交的修改

所以源控制的全部要點是跟蹤變化,使混亂跌宕刪除或壞的特性路徑可以糾正 - 但是,我們可能需要這麼做。

Git非常棒。但最近發生的一件事讓我感到頭暈。

我有主,開發和三期分支機構。碩士和開發人員是Phase3在當地的遠程分支機構。最近開發的是分支到Release分支進行測試。當我們的版本投入生產時,這個分支後來被合併回了主人。
我坐在這裏意識到我需要合併主回發展,保持提交歷史,並指出,三期可能應該也有最新的分支合併。
這是一切去南方。我去合併主階段到第3階段,它銷燬了我目前的所有變化。
它沒有要求合併請求。它甚至沒有說「你可能想要提交或隱藏對當前文檔的更改」。它只是覆蓋了他們!

我的意思是,我甚至不能檢查出庫的可替代的路沒有Git的警告我可能的數據丟失,但合併可能只是簡單地覆蓋這些變化連一個提示嗎? WTF?

A)有沒有辦法告訴庫要撤消這個? (不太可能) B)有沒有辦法告訴GIT永遠不會合並時有積極的變化?基本上得到一個git合併相同的警告,因爲我得到一個git結帳。

感謝 Jaeden 「SIFO DYAS」 al'Raec Ruiner

+1

無法重現;我得到了你提到的確切警告(「你的本地修改以下文件將被覆蓋合併:...」) –

回答

0

你需要git reflog

看的git reflog輸出非常謹慎。確定你在運行合併/ rebase /之前的狀態。然後做一個

git reset --hard [email protected]{WHATEVER NUMBER FIND FROM THE REFLOG} 
+1

在意外之前更好的'git branch save-my-work HEAD @ {{WHREVER NUMBER FIND FROM FINL FROM REFLOG}做更多的傷害。 – mkrieger1

+0

@ mkrieger1很好的建議,但不是絕對必要的,因爲您可以隨時使用reflog重新回到您所在的位置:) – ffledgling