2016-02-21 41 views
0

當我合併之後已經推送給主人時,我該如何撤消合併? 這裏是我的步驟:當它被推送時撤消一個git合併

  1. git add -A

  2. git commit -m "some message"

  3. git fetch origin master:master

  4. git rebase master (resolve merge conflicts)

  5. git push -f origin my local branch

我想回去的地方,我在第2步

+0

您可以執行'git checkout ',並回到之前的狀態。從'git log'獲取提交ID,然後一旦簽出,代碼將處於分離狀態。所以想出來,做'git checkout -b old_branch'。然後按'git push -f origin mylocalbranch'。 – sahil

+1

這並不總是有效。 @Sahil – intboolstring

+0

我實際上用rebase不合並。我編輯了這個問題。 – Maryam

回答

4

狀態您力推,這意味着你改寫一個遙控器上的變化。 您的電腦無法修復它;但是,如果在強制推送之前有另一臺具有本地副本的計算機,則可以強制從該計算機推送並覆蓋您的強制推送。

Git的推--force是破壞性的,因爲它無條件地 覆蓋,不管你在本地的遠程存儲庫, 可能覆蓋的任何變化,一個團隊成員在 同時推。 - Atlaissan Git Resource

有些情況下,檢查出一個老犯,然後力推可能的工作,但我懷疑這可能不會在你的情況下工作,因爲你不得不強迫把你的變化。