我找不到任何相关问题的答案。我目前所面对的两个分支:Git - 混乱后回滚所有本地更改
master
develop
后COMMITED和推到服务器的所有修改(以develop
分支),我想用一个develop
分支更新master
分支。无意中,我已经搞乱了,在mergin master
与develop
- master
现在拥有一切从两个分支,这不是我想要的。
如何恢复本地回购中的所有内容?我试过git reset --hard HEAD
,但它似乎没有帮助。
我找不到任何相关问题的答案。我目前所面对的两个分支:Git - 混乱后回滚所有本地更改
master
develop
后COMMITED和推到服务器的所有修改(以develop
分支),我想用一个develop
分支更新master
分支。无意中,我已经搞乱了,在mergin master
与develop
- master
现在拥有一切从两个分支,这不是我想要的。
如何恢复本地回购中的所有内容?我试过git reset --hard HEAD
,但它似乎没有帮助。
解决方案1提交通行证哈希:
您可以将您的分支恢复到状态时,它是在合并之前,如果你发现它的提交。
使用git reflog
,它会列出您拥有的所有HEAD。 我发现git reflog --relative-date
非常有用,因为它显示了每次更改发生前多长时间。
一旦你发现提交只是做一个git reset --hard <commit id>
和你的分支将像以前一样。
你可以简单地git revert
这次合并提交像这样:
git checkout BRANCH_NAME
git revert -m 1 <merge_commit_sha>
注:这可能是你最终会与一些冲突,你必须要手动取消合并,就像正常合并时一样。
你可以尝试签具体承诺:
git checkout [revision-hash] .
从合并之前
随着当前已签出master分支:
git reset --hard develop
会切换到开发分支从主失去所有的变化,除了那些已经被列入发展分支。
它不会帮助不幸......我已经搞乱了'develop'分支现在...是不是有什么东西想忽略一切,恢复到特定的版本,而不留下实际的文件就地? – aspirinemaga
只删除整个本地项目,并从远程git克隆回来为我工作。 – aspirinemaga