我的起源/主人以某種方式得到了一些不需要的合併。因此,我試圖將原點/主點恢復到之前的提交。當我這樣做時,我簽出遠程HEAD並運行$ git reset --hard fcced95d565a4e54e81f15d1efeab5fdf7a483ca
。然後我試圖基本推動這個提交併運行$ git push -f origin master
。但是,這樣做實際上將原點/主點帶入了我的本地所在的狀態,並且這是我想要恢復提交給我的DEATACHED HEAD OF master的位置的方式。我該如何糾正這個問題?恢復從主分離的頭部更舊的提交更改
0
A
回答
0
假設你還沒有還覆蓋當地master
分支,你可以嘗試以下方法:
git checkout master
git push --force origin master
這是假設你的本地master
是活得很好,並且通過污點你做了什麼它的遠程副本。如果你也 nuked你當地的master
分支,那麼你需要做更多的工作。
首先,我們可以使用一個名爲reflog的工具來查找在您覆蓋之前提交的前一個頭部master
。鍵入git reflog
,這將提取最近在回購中分行負責人活動的提交列表。您將不得不篩選此列表以查找master
之前的頭部提交。 Stack Overflow和Git手冊很好地介紹瞭如何瀏覽reflog。
然後,一旦你的SHA-1散列的承諾,只是做從master
如下:
git reset --hard <SHA-1 of previous HEAD>
這將重置本地master
正確的提交。然後再用力推覆蓋遠程分支:
git push --force origin master
相關問題
- 1. 移動合併提交回舊分支,恢復主分支並保持更改
- 2. Mercurial - 更新一箇舊提交,恢復一些更改並返回到頭
- 3. 如何恢復從git提交更改?
- 4. 基於恢復提交的新更改?
- 5. Git:恢復舊的提交
- 6. 如何從'分離頭狀態'恢復提交?
- 7. Git:提交部分更改
- 8. 在舊提交中恢復文件的一部分
- 9. GitHub:恢復舊提交
- 10. 從多個git rebases恢復「舊提交」
- 11. Git恢復提交併添加更改,即使在提交更多提交後
- 12. Git - 恢復從本地存儲庫提交的更改
- 13. 如何恢復從git提交的更改
- 14. 恢復SVN中的一部分提交
- 15. 我想看看舊的提交,而不是更改我的頭
- 16. 頭部在提交時分離。需要把主分支
- 17. 無法git克隆後立即恢復到較舊的提交(無需更改)
- 18. 修復分離的頭部而不會丟失提交時的分離
- 19. 恢復特定的舊提交
- 20. 更改Subversion中舊提交的作者
- 21. Git:恢復我修改後的更改合併提交
- 22. 更改GIT分支頭,同時仍舊保持舊頭和新頭之間的提交
- 23. 展會上提交頭部分離
- 24. 移動主分支舊的更改
- 25. 如何恢復部分提交?
- 26. 向datacontext提交部分更改
- 27. 如何恢復提交併從這些更改創建新分支?
- 28. 恢復以前提交狀態的所有更改
- 29. Mercurial - 在「hg update -C」後恢復未提交的更改
- 30. 恢復過去的git提交,但保持更改自