2016-10-13 143 views

回答

1

git reflog已經爲我多次解救。

此參考日誌記錄對本地存儲庫/分支機構/參考的更新。

因此,如果您在此情況下直接在拉動之前找到所需分支的頭部提交,則可以將當前分支重置爲該引用。例如,要恢復到[email protected]{2}

git reset --hard [email protected]{2}

注意:在使用--hard

Git reflog documentation

+0

感謝之前絕對確保你的行動,我的分支是固定的!使用reflog查找最後一次良好提交,將分支重置爲該引用,並用強制推送結束。 – Sarpe

0

運行git pull只是一個提取,然後合併上游分支。假設合併成功,你還有這個分支簽出,這樣的事情應該修復它:

$ git reset @^1 

這重置分支的第一個父這應該是衍合分支(第二父是的頭老版本的上游的分支),你可以做復位前驗證:

$ git log --graph @^1 

$ gitk @^1 

如果那些看起來神志清醒,然後復位應該做的我噸。它不會觸摸工作樹中的文件,因此您可以看到這是否會導致任何令人驚訝的變化。我懷疑是沒有的,因爲就代碼而言,合併可能是無效的(再次假設它成功了)。

相關問題