如何使 HEAD 指向原点/主

问题描述

错误地将分支应用到我的主分支之上并提交了更改。 但现在我想让我的 HEAD 指向原点/主。

我尝试了以下命令:

git reset --hard origin/master

但我的日志显示 HEAD 指向 master、origin/master、origin/HEAD、change-branch 等。

enter image description here

如何让我的 HEAD 只指向 (HEAD -> master,origin/master,origin/HEAD) 而不像下面那样更改 ID?

预期日志:

enter image description here

任何帮助将不胜感激。

解决方法

从您的屏幕截图来看:目前,您的两个本地分支 change-494895-1494895-1 恰好指向与 masterorigin/master 完全相同的提交。

他们不会以任何方式干扰您在 master 或存储库其余部分的工作。例如:下次您在 master 上进行提交,或从 origin/master 拉取更新时,master 会向前移动,而这两个分支不会。


如果你需要对这两个分支做一些事情:

  • 如果其中一个没有用,就删除它:git branch -d <branch_name>
  • 如果您需要在其中一个分支上工作:git checkout <brnach_name>; #some work; git commit
  • 等等……
,

你想要:

git checkout master
git reset --hard e2ac6469
git push -f

第一个命令将 HEAD 指向 master

第二个命令会将 HEAD 和 master 一起移动到您想要的提交(您可以在屏幕截图中看到提交 ID, e2ac6469 。您不需要包括所有数字)

第三条命令会将远程 origin/master 移动到与 master 相同的提交,即 e2ac6469

如果您仍然想要 master 曾经指向的提交,它仍然在分支 change-494895-1 上。您可以通过 git checkout change-494895-1 访问它。