首页 > 解决方案 > 当我在主分支上时从不同的分支拉出会发生什么

问题描述

1)在本地postacl仓库中,我通过运行创建并切换到一个分支git checkout -b postacl


2)然后我跑了git push -u origin postacl


3)从远程仓库,当我还在那里的master分支上时,我不小心跑了git pull origin postacl。然后我意识到我没有切换到postacl.


上述行为发生了什么?

标签: git

解决方案


master在一般情况下,您很可能只是在本地分支之上添加了一个合并提交。git log您可以通过从您的master分支运行来验证这一点。您可能会看到一个新的合并提交,其中有一条提交消息提到了有关合并的内容。如果你没有看到任何合并提交,那么你不需要做任何事情。如果您确实看到了,请继续阅读。

在这种特殊情况下,您应该安全地进行硬重置以删除合并提交:

git reset --hard HEAD~1

这应该会消除意外的合并提交,让您的本地保持master原样。您也可以尝试将本地重置master为跟踪分支:

git reset --hard origin/master

推荐阅读