Git 重新设置分支到主恢复的基础

Git 重新设置分支到主恢复的基础,git,rebase,git-rebase,Git,Rebase,Git Rebase,我犯了一个很大的错误,将一个分支重设为master,而不是将master重设为分支。所以现在,我没有在一个分支中更改master,而是使用了与远程repo不同步的master 如何收回更改?如果您的远程回购仍然正常,只需 git checkout anybranch git branch -D master git fetch --all git checkout master 如果您的远程回购仍然正常,只需 git checkout anybranch git branch -D maste

我犯了一个很大的错误,将一个分支重设为master,而不是将master重设为分支。所以现在,我没有在一个分支中更改master,而是使用了与远程repo不同步的master


如何收回更改?

如果您的远程回购仍然正常,只需

git checkout anybranch
git branch -D master
git fetch --all
git checkout master

如果您的远程回购仍然正常,只需

git checkout anybranch
git branch -D master
git fetch --all
git checkout master

当您在分支及其指向的位置上出错时,可以通过git reflog获得帮助

将向您显示分支之前指向的位置。因此,如果重基错误,可以通过将分支指向它以前所在的位置来撤消它:

git reset --hard HEAD@{1}
根据所需提交在reflog提供的列表中的位置,将1更改为另一个数字


reflog对于人们可能犯的许多其他错误也很有用。

当您在分支及其指向的位置上犯错误时,您可以通过git reflog获得帮助

将向您显示分支之前指向的位置。因此,如果重基错误,可以通过将分支指向它以前所在的位置来撤消它:

git reset --hard HEAD@{1}
根据所需提交在reflog提供的列表中的位置,将1更改为另一个数字


reflog对于可能犯的许多其他错误也很有用。

您可以重新设置master的基础。“当你谈论重定基址时,进入是没有意义的。”蒂莫尼根是的,它是一种复制类型,但塞尔吉的答案是相当正确的unique@AdamDymitruk谢谢你,对不起我的英语。@uko人用完美的英语也会犯同样的错误:你重新回到大师的基础上。“当你谈论重定基址时,进入是没有意义的。”蒂莫尼根是的,它是一种复制类型,但塞尔吉的答案是相当正确的unique@AdamDymitruk谢谢你,对不起我的英语。@uko的英语水平很好的人也会犯同样的错误:看看@AdamDymitruk提供的解决方案。即使你已经用我的答案解决了你的问题,在大多数情况下了解git reflog也是必须的。看看@AdamDymitruk提供的解决方案。即使你已经用我的答案解决了你的问题,在大多数情况下,了解git reflog也是必须的。