我的起源/主人以某种方式得到了一些不需要的合并。因此,我试图将原点/主点恢复到之前的提交。当我这样做时,我签出远程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提交,但保持更改自